NoisyVoid.com Brothers Myth Machine


Introduction

I have taken the contents of http://www.wilsonet.com, and fixed it so that it is a record of my build. I am re-writing the webpage as I build, so the formatting may be off. I also have left in any thing that does not consern me (but may need later). But I may remove this later.


Equipment

  1. Processor: AMD Sempron 3000+ (1804MHz)
  2. Memory: 512M, 64M given to onboard graphics
  3. Graphics: Onboard VIA graphics
  4. Sound: Onboard VIA sound
  5. HDD: 81G
  6. XFX GeForce FX5200 256MB AGP D/VO (38.56UK pounds)
  7. Nova-T PCI (39.99UK pounds)

For future reference the motherboard has 2 SATA interfaces, but no SATA power cables on the PSU. There are only 2 PCI slot on the MB, one is taken up by the Nova-T capture card.

I will have to move the 200G HDD from my current test machine to this new machine as video storage.


OS Install

I have picked fc5 as the OS. FC5 has been out for a while and should have stabilised. I continue to use Fedora Core as I have the most experience on it. The only issue with Fedora is that the lifetime of each core is not that long.

The FC5 image needs to be downloaded for the web and burn to DVD. You can download from Fedora mirrors -

But I choose to download a respin of FC5 that already had some fixes in it. this should same time and bandwidth when I need to update.

On booting the FC DVD, you will be given the chance to add boot options. It is a V.good idea to add support for a file system that supports larger files. The two to choose from are jfs or xfs. In this case I have chosen to use "linux jfs xfs" so that I can mount my old drive and copy onto the new jfs drive.

On one of the first screens you will be asked to partition you drive(s). Select 'Create custom Leyout'. A suitable custom partitioning setup is as follows (assuming a single IDE hard drive):

Partition Mount Point Size Format
/dev/hda1 /boot 50-100MB ext3
/dev/hda2 swap same as RAM (ex: 512MB) swap
/dev/hda3 / 8-12GB ext3
/dev/hda5 /video Everything else jfs

I have used jfs on the last partition, but will add a seperate drive later and move the /video onto the new drive. The hda partition will be used for music, video's (not recording) and DVD burn type scratch space

Leave the grub screen alone

On the Network Configuration screen, I leave it on DHCP and then change it later when I get to be brothers house.

On the package selection screen, select (at least) these package groups:

  • X Window System
  • KDE Desktop Environment
  • MySQL Database (be sure mysql-server is selected under the "Details" section)
  • Web Server (if you want to use MythWeb)

Some other packages that might be of interest, but are not required:

  • Graphical Internet
    • Gaim
    • Firefox (very handy for following this very guide -- think copy and paste)
  • Sound and Video
  • Windows File Server
  • Network Servers
    • vnc-server
  • Development Tools (if you want/need to compile anything)

You can find my jumpstart file here if you want to see exactly what options I used.


Firstboot setup -- create MythTV user and enable ntp

At the first boot setup screen, create a user called mythtv, with a password of your choosing. All further documentation assumes you are logged in as the user mythtv. Lines with $ as the prompt are executed as user mythtv, lines with # as the prompt are executed as root. You should NEVER log in to your machine directly as root. Log in with the normal user account, then assume root privs with 'su' wherever a command needs to be run as root.

For the beginners out there, type 'su' (without the quotes) then hit return, and you'll get prompted for the root password. After entering that, you'll have a root prompt. Do what you need to do as root, then type 'exit' (again, without the quotes) to get back to your normal user prompt.

In that same first boot setup area, there is an option to enable ntp. This is highly recommended. You want your shows to start (and stop) recording at the right times, don't you? ;-) Check the box to enable ntp, and either enter an ntp server you know of near you (I happen to know time-nw.nist.gov is just up the road from me in Redmond, WA, on the Microsoft campus) or leave it with the pre-populated values, which are from the ntp.org pool (pool.ntp.org aliases to a bunch of time servers around the globe). I actually have one system on my network that slaves off time-nw.nist.gov (and a few others for redundancy) then serves as the ntp server for the rest of my home network.

On the Firewall Configuration page, life will be much easier if you simply disable both the firewall and SELinux. I generally turn both off and turn just the firewall back on when I know what rules I want.


Get your system up-to-date

To get your system fully updated, simply run the command:

# yum upgrade
(answer 'y' when prompted)

WARNING: Do NOT attempt any other rpm activity while the upgrade is in progress. Performing multiple exclusive rpm operations at the same time can lead to very bad things happening (rpm database inconsistencies, race conditions, completely hosed database, etc). After the big upgrade, you MAY get an error about being unable to open the rpm database (this used to happen to me w/RHL9, but hasn't ever with FC). If you do encounter this error, try the following:

# rm -f /var/lib/rpm/__db*
# rpmdb -vv --rebuilddb

The database rebuild will take quite a while to complete. After it completes, you'll see an error message, but you can safely ignore it and move on to see if the rebuilddb cleared the problem. If not, good luck... Note that the presence of those __db* files doesn't indicate a problem, they're supposed to be there, they just get corrupted every once in a while.

To make life simpler after we've rebooted and are prepared to start installing drivers for some of our hardware not supported natively by the kernel, we're going to set up a custom environment variable, KVER, that will help avoid problems from typos, user error, confusion, etc. Simply drop a file in /etc/profile.d, like so:

# echo "export KVER=\`uname -r\`" >> /etc/profile.d/kver.sh
(those are back-ticks, not single-quotes)

Now you're ready to reboot into that new kernel and start installing kernel modules for your tuner card(s), remote, etc.

# reboot

On with the show, once your machine comes back up...


Configure 3rd-party package repositories

We won't touch any packages from and 3rd-party repositories until a bit later, but you'll need to tell yum about the ATrpms and FreshRPMs package repositories, and since we were on the subject of yum already, go ahead and set it up now. This is a simple matter of adding a configuration file for each repository in /etc/yum.repos.d/. Pre-configured files can be simply downloaded to your system like so:

As hinted previously, note that Axel maintains a few different channels of rpms, including many packages besides those needed for a functional MythTV install, with varying stability labels on them. This entire installation can be done using nothing but packages classified as "stable", but even "testing" is generally pretty stable. The only channel to *really* watch out for is the "bleeding" channel. If you enable it, you've been warned; things may break. You're on your own to fix 'em, so be prepared (Axel appreciates bug reports though -- http://bugzilla.atrpms.net/). The primary classifications are as follows (from Axel's web site):

  • stable packages imply minimal upgrading risk. They are considered very well tested. You will usually find slight modifications to Red Hat's own packages here.
  • testing packages are provided on a "works for me" basis.
  • bleeding packages means asking for trouble!

Generally, any problems encountered with ATrpms and ATrpms packages should be addressed on the atrpms-users mailing list before being taken to the MythTV list. You can subscribe to the ATrpms lists here:

FreshRPMs is structured a bit different than ATrpms -- it generally only provides add-on packages, while ATrpms provides both add-on packages packages that replace/upgrade/enhance packages originally provided by Red Hat. FreshRPMs only has one channel of packages. You can subscribe to the FreshRPMs mailing list here:

As with any other mailing list, please search their respective archives first (you can find links to them in the same locations as above).


Get and install video card drivers

While Fedora Core includes video drivers for most video cards, they aren't always the best ones for the needs of a MythTV user. For example, many video cards require experimental 3rd-party or proprietary drivers to enable TV-Out. Without nVidia's own proprietary video drivers, the performance of cards based on their chipsets will suffer greatly, even if you aren't using TV-Out.


I am using 8762 version of the driver. To make life easier, Axel has prebuilt kernel modules. Install for your running kernel like so:

# yum install nvidia-graphics8762-kmdl-$KVER
# yum install nvidia-graphics8762
(answer Y if prompted)

Simply replace the 8762 with another version number, and you can install the older version instead. Note that you can actually have multiple versions installed, and switching between them is as easy as:

# init 3
# nvidia-graphics-switch 7676 (or 8762, or whatever else)
# init 5
(you can *probably* get away with simply reloading X at this point, but reboot if you run into problems)

Axel's nvidia rpms insert a necessary line into modprobe.conf and generate an xorg.conf file for use with the nvidia driver , but you will need to go and change the keyboard layout to gb. The old xorg.conf file is backed up as /etc/X11/xorg.conf.nvidia.bak. I have created three files with the driver extension on the end (one for Via, one for nv, one for nvidia)

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.nvidia
# mv /etc/X11/xorg.conf.nvidia.bak /etc/X11/xorg.conf.nv

Add Load"v4l" in the "Module" section near the top of your xorg.conf file, to enable optimal v4l to X video transfer and v4l picture controls.

If you're in X right now, simply log out to relaunch X with the new configuration. If you're at the command line, either switch to run-level 5 ("init 5") or run "startx". Once you've verified this configuration is working, you'll likely want to look into the additional options below, to enable TV-Out, accelerated rendering, etc.


I am outputting to a cheap bush 26inch widescreen tv. This is via s-video, and the screen res is 800x600. This is slightly blurry if you need to go into a xterm, but does mean you can see the whole app when in network setting etc. The only modification I have made to display better on the tv was adding the following line in the monitor section in /etc/X11/xorg.conf

DisplaySize 800 480

I have also tried the following setting in the device section. This was probably autodetected.

Option "TVStandard" "PAL-I" #Option "TVOutFormat" "COMPOSITE"

I have also set the screen saver to 1 blank screen (active after 5 minutes).


Audio setup

I have not done any Audio setup since fc4, it just works (but I only use Stereo so it is all quite simple). Therefore I skip this section and come back if there is a problem


Get and install MythTV

Now, here's why we REALLY like yum... MythTV has numerous required dependencies to function correctly, which are automatically taken care of with one simple command:

# yum install mythtv-suite

The last time I looked, that one-liner installed 94 different packages, totalling about 85MB. Just a wee bit easier than hunting down all the rpms by hand, let alone compiling everything from source... :)


Get and install capture card driver(s)

MythTV supports a myriad of different video capture cards, and as of version 0.17, firewire input from certain cable boxes as well. See the official MythTV docs at http://mythtv.org/docs/mythtv-HOWTO-3.html#ss3.1 for details on exactly what are and are not supported.

If you are in the UK and want to watch freeview just buy a Nova-t. This will set you back 40 uk pounds and easy. The only issue I have with them is that they do not pass DVB signal to there outputs, and therefore you cannot string them together (buy a booster with lots of outputs!)

Now Nova-t's work without any configuration work, power off, install, power on ....working.


In FC4 Setup was also relatively easy. Type in the following configuration, then reboot. The card will be initialised correctly after bootup. Run the following command to place the script on the /etc/init.d directory and create sym links.

# echo "# modprobe the nova-t driver early in boot process" >> /etc/init.d/nova_t_init
# echo "modprobe cx88-dvb" >> /etc/init.d/nova_t_init
# chmod a+x /etc/init.d/nova_t_init
# cd /etc/rc3.d/
# ln -s ../init.d/nova_t_init S56nova_t
# cd /etc/rc5.d/
# ln -s ../init.d/nova_t_init S56nova_t

Get and install lirc

I have never got lirc to work properly. I skip this section, but may try later to get it working for my Bro. Last time I tried to get it to work lircd stopped the esc key working.



12. Set up MySQL

We'll need to enable MySQL to load at startup, set some passwords, and create the MythTV database, which we'll populate shortly. The population of this database is handled by mythtvsetup in the next step, and all MythTV add-on module database additions must be done AFTER running mythtvsetup at least one time.

# /sbin/chkconfig mysqld on
# /sbin/service mysqld start

Set the mysql root password, replacing ROOT_PWD with your chosen administrator password:

# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('ROOT_PWD') WHERE user='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Now we create the mythtv database (called mythconverg) to get us started:

$ mysql -u root -p < /usr/share/doc/mythtv-0.19/database/mc.sql
(enter the password you just set above when prompted)

Again, all subsequent database population for MythTV's add-on modules must now be done AFTER running mythtvsetup at least one time.

It's worth customizing some parameters in /etc/my.cnf for optimal performance with Myth. I know next to nothing about the topic, but from experimentation and listening to people who do know what they're doing (I think), I found these adjustments to my.cnf under the [mysqld] section improve performance with both MythTV (esp. in the GUI) and MythWeb:

key_buffer = 16M
table_cache = 128
sort_buffer_size = 2M
myisam_sort_buffer_size = 8M
query_cache_size = 16M

13. Set up MythTV

There are a number of things you might want to figure out in advance to successfully complete your setup. First, recall what your video device was set up as (likely /dev/video0 if you have a single v4l card, DVB #0 if you have one DVB card). Note that the actual device number is NOT what determines what order MythTV will use your cards in. What matters is the order that you enter them in mythtvsetup, so your best card doesn't have to be /dev/video0. Set up /dev/video8 first, and it'll be the first card used for recordings.

Before you dive into the setup, you may want to make one little change so that you can actually see all the text you're supposed to see. There's a bug in Fedora Core 4's urw-fonts package that causes fonts to display MUCH larger than they should. Details on how to fix this can be found here:

Now on to launching the MythTV setup utility. For this part, you need to have an X session started up, as the setup utility is an X application. Fire it up like so:

# mythtvsetup

Note run this is run as root (as the DVB cards can only be accessed via root)

I'm told that non-US folks may have issues correctly getting through the tv_grab_xx/xmltv part of the setup if "focus follows mouse" is already set (in KDE's Control Center), so keep that in mind. Just set "focus follows mouse" when everything else is already configured.

Recent changes in the mythtvsetup and database population methodology broke the default path settings for the MythTV rpms, which should be /var/lib/mythtv/ for storage of recorded shows, and /var/cache/mythtv/ for live TV buffer. These directories are automatically created at install time, but you'll have to manually enter them in section 1 of mythtvsetup.

Those using a dedicated /video partition, per my example, should obviously set /video/recordings/ for storage of recorded shows and /video/buffer/ for their live TV buffer. However, you can do pretty much whatever you like here, such as recording to an NFS or samba mount, a software RAID array, or even to an LVM group so you can expand your /video partition sometime down the road (I use LVM myself, someday I'll write about it more...). Just make sure your mythtv user has permission to read and write to whatever location you choose.

It is highly recommended that you go through the setup steps in order. Follow the on-screen instruction, with aid from the MythTV website's documentation on this page:

NOTE: your system may appear to hang at step 3; give it time, it isn't locked up, that part just takes a while!

Once you've gone through the setup, you have to populate the MythTV database with some program info. I spent a good long time tweaking my channel lineup on zap2it's site to remove all the junk channels I didn't really care to have show up. Once you have your listings to your liking, you're ready to fill your database with programming info. A change in MythTV 0.17 requires that you start up the backend first. We'll daemonize it a bit later, but for now, just start it up like so:

$ mythbackend &

Assuming all goes well and the process doesn't exit on you (if it does, check out the troubleshooting section below), lets get some guide data:

$ mythfilldatabase

If you're using a guide data source other than zap2it (i.e.,anyone outside the US and Canada), I'm told that you may well need to add a "--manual" flag to the end of that command to get it to work. Look at the output of "mythfilldatabase --help" for more clues if you have problems.

Also, BE PATIENT! This step can take a fairly long time, depending on your internet connection speed and how many channels your service provides... It is also recommended to run mythfilldatabase every night from cron, to keep your show information up to date. To help mitigate possible flooding of our listings provider's servers, we'll set mythfilldatabase to run at some random time in the afternoon. This allows the database to be updated with the most upto date listing ready for the evening (when most of the recordings take place). We'll simply add an entry to the mythtv user's crontab, like so:

$ crontab -e
----Insert the following text into your mythtv user crontab----
### Run mythfilldatabase every night at some random time after 13:31
31 13 * * * sleep $(expr $RANDOM \% 7200) && tv_grab_uk_rt --config-file /home/mythtv/.mythtv/freeview.xmltv --output=freeview.xml && mythfilldatabase --no-delete --file 1 0 freeview.xml > /var/log/mythtv/mythfilldatabase.log 2>&1 ----Cut above here (don't include this line)----

On this machine I have set this up the method, but only download one channel (qvc - I hide this channel anyway). This means the mythfill that is needed to keep averything in order is done, but makes it easier to implement RT scheduling in the future.

Now start up the MythTV front-end (I recommend doing this in a separate shell window, so you can distinctly see the different output for the backend and frontend processes)...

$ mythfrontend

Configure automatic startup

The necessary init script for the MythTV backend to automatically start at system boot is already in place for you, just simply turn it on:

# /sbin/chkconfig mythbackend on

If the backend isn't already running, save yourself a reboot and issue this command:

# /sbin/service mythbackend start

Now, because I have a few things that don't seem to want to play nice anymore (i.e., nvidia-settings don't load like they should, alsa volume levels aren't restored), I decided to create a quick little shell script in ~/.kde/Autostart/myth-load.sh to handle loading up all the extra goodies I need/want to auto-start, as well as force stubborn things to work. This script loads my nvidia settings, restores alsa volumes, launches irexec for my little power button script (on the Tips 'n' Tricks page), then launches mythfrontend, all in one fell swoop. Just copy and past all this into ~/.kde/Autostart/myth-load.sh (adjust accordingly for different desktop environments):

#!/bin/bash

# Only do this stuff if we're on the main display
# (i.e., don't do this in a vnc session)
if [ `echo $DISPLAY | grep -c ":0"` -ge 1 ]
then
    # Load nVidia driver custom settings
    #nvidia-settings --load-config-only &
    # Restore audio settings
    #/usr/sbin/alsactl restore
    # Launch irexec for myth power button stop/start
    #irexec &
    # Launch myth frontend
    mythfrontend &
    # Disable dynamic power management (screen blanking)
    #/usr/X11R6/bin/xset -dpms
    # Disable screen saver
    #/usr/X11R6/bin/xset s off
fi
exit

Don't forget to make it executable:

$ chmod +x ~/.kde/Autostart/myth-load.sh

While logged in to an X session, you'll also have to run gdmsetup, to set autologin for your mythtv user.

You'll have to get a root terminal open (if you aren't logged into your X session as root already, which is a no-no), then:

# gdmsetup

In GDM Setup, click on users tab add mythtv and move it to the left hand side. Then, go to the security tab. Tick timed login and select the mythtv username. Set the timelimit to 5 seconds (just enough time to break in if you need to fix something).


Adding a extra Harddisk

I originally build this machine with /video on the 81G drive. I have now added a 200G drive to act as dedicated recording storage. The space on the 81G drive (63G), I will use for music, dvdauthor stuff and any video storage.

Procedure was as follows

  • Power off PC and install disk
  • Power on PC
  • run fdisk -l to check disk is seen
  • run fdisk /dev/hda
  • press 'n' to create partition, and make it primary.
  • make the size the complete disk (default start / stop sectors)
  • press 'w' to write changes
  • use the following command to create the formatted partition
    # jfs_mkfs /dev/hdb1
  • stop backend
    # /sbin/service mythbackend stop
  • unmount the current video partition
    # umount /video
  • create the /date mount point and remount partitions in the correct places
    # mkdir /data
    # mount -t jfs /dev/hda1 /video
    # mount -t jfs /dev/hda5 /data
  • edit fstab file to make automount in the correct places at boot up
    vi /etc/fstab and remove label=/video add following lines
/dev/hdb1 /video jfs defaults 0 2
/dev/hda5 /data jfs defaults 0 2

Hardening access to the Machine

I initially installed the machine with the firewall turned on (ssh and web enabled). I now need to harden the security so only valid ip addresses can access it. There are two jobs to be done, reconfiguring iptables, and hardening sshd. The changes that need to be done on the iptables is shown below.

# vi /etc/sysconfig/iptables

Add the following lines (where 1.1.1.1 is the trusted external address and 192.168.1.0/24 is your internal network).

-A RH-Firewall-1-INPUT -m state --state NEW -s 1.1.1.1/32 -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 1.1.1.1/32 -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.1.0/24 -m tcp -p tcp -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.1.0/24 -m udp -p udp -j ACCEPT

Remove the following lines (or comment out)

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp -j ACCEPT

Now just restart the iptables service

# /sbin/service iptables restart

Now we need to lock down ssh access so only one user ssh to the machine (NOT mythtv as the password is trivial). Edit /etc/ssh/sshd_config and add the following lines

AllowUsers mysusername otherusername
PermitRootLogin no

Now just restart the sshd service

# /sbin/service sshd restart

I use a industrial class firewall on my DSL connection which also manages access, so all this is just creating 'security in depth'.


Configuring MythTV add-ons

When you installed MythTV using "yum install mythtv-suite", you not only installed MythTV, but also all of the add-on modules currently available. You've still got a bit of work to do to make them all functional though.

I have marked each heading to show what I have configured and what I have not.

MythBrowser- unconfigured

I've never used this one myself. Check out the docs for it in /usr/share/doc/mythbrowser-0.19/.

MythDVD- unconfigured

Within the Setup section of the MythTV frontend, you need to specify the storage location for your DVD rips (MythTV → Setup → DVD Settings → Rip Settings). There are a number of other options you can set in this section, but the defaults will work for the most part (so will the DVD rip storage setting, for that matter, but I wanted to customize it).

You can also use the DVD playback application of your choice (MythTV → Utilities/Setup → Setup → Media Settings → DVD Settings), and as of version 0.12, there are preconfigured launch command lines for mplayer (mplayer dvd:// -dvd-device %d -fs -zoom -vo xv). I prefer xine (xine -pfhq --no-splash dvd://). While mplayer doesn't properly support DVD menus just yet, both ogle and xine (with the right libraries) do.

I also turn on CD/DVD monitoring ( Setup &rarr General &rarr monitor CD/DVD)

Another common problem is KDE auto-mounting DVDs (and CDs), which can interfere with playback, ejection, etc. You can easily disable auto-mounting like so:

comment out the line

cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

in the file /etc/auto.misc. I also answered 'do nothing' and ticked 'remember' when I inserted my first CD and first DVD.

For MythDVD's ripper to work in any mode other than perfect (i.e., to be able to transcode to xvid), you'll need to launch the Myth Transcode Daemon, mtd. I'd suggest simply sticking a line in rc.local to daemonize it at system startup:

# echo "/usr/bin/mtd --daemon" >> /etc/rc.d/rc.local

Also note that before FC5 the use of HAL and udev, breaks Myth's monitoring of optical drives for inserted discs. The monitoring all works fine now.

MythGallery- unconfigured

Within the Setup section of the MythTV frontend, you need to specify your image storage location (MythTV → Setup → Image Settings).

MythGame- unconfigured

There are several packages you'll have to install to get a functional MythGame, namely all the emulators -- x-mame, fce ultra and snes9x. First, you'll need to add another repository to your apt sources, if you aren't running the medley apt config. Add Dag's repo, then update your apt metadata and finally, install the needed packages via yum like so:

# echo "# Dag's repo (Added for MythGame emulators)" >> /etc/apt/sources.list
# echo "rpm http://apt.sw.be fedora/4/en/i386 dag" >> /etc/apt/sources.list
# yum install xmame fceultra snes9x

You'll then have to configure MythGame through the MythTV configuration section (MythTV → Utilities/Setup → Media Settings → Game Settings). Pretty much everything is already correctly configured when you use the mythtv-suite install method. MythGame launches fine for me, appears to find all my rom files, and drops me to the selection screen. The few roms I've tried with xmame all seem to do exactly what they're supposed to, though the volume level is a bit on the high side, and I haven't taken the time to try and adjust it. I have yet to try snes9x (works great on my Mac, just haven't got around to it on a Myth box), and my nes roms do launch fceultra, but in a very tiny window, or tiny, centered on a black background if I add a '-fs 1' to fceultra's location (I'm not sure how to make it fill the screen yet; other switches in the man page did pretty much nothing). More to come, if/when I have time, and/or when someone else can provide some insight...

For more information, you might want to check out http://mythtv.info/moin.cgi/MythGameHowTo.

MythMusic- configured

All prerequisite packages should have been taken care of when you installed the mythtv-suite, so it should simply be a matter of setting up your audio storage directories within the MythTV Setup section (MythTV → Utilities/Setup → Media Settings → Music Settings). Further information with respect to use and configuration can be found on the MythTV web site, at this address:

But remember to change the rights on the music directory before ripping cds.

# chown mythtv:mythtv /data/music
# chmod 775 /data/music

It has to allow mythtv user to write, as the ripping is done by the mythfrontend application (not the backend).

MythNews- unconfigured

There isn't much to say about MythNews. Simply go into MythTV → Utilities/Setup → Info Center Settings → News Settings and select the news feeds you want, and you're done with the setup.

MythVideo- configured

Within the Setup section of MythTV, configure your movie storage directory (MythTV → Utilities/Setup → Media Settings → Video Settings → General Settings). You might want to look at the Tips 'n' Tricks page for some additional info on configuring mplayer and/or xine, especially if you have a wide-screen TV. Edit/insert metadata about your video collection in Utilities/Setup → Video Manager.

MythWeather- configured

Not much to do, other than select your location and tweak the aggressiveness for the speed of your connection (MythTV → Utilities/Setup → Info Center Settings → Weather Settings). The MythTV website has plenty of documentation on this module, found here:

MythWeb- configured

The mythtv-suite put almost everything where it needed to be. You need to read conf.php (/var/www/html/mythweb/config/conf.php) and configure things in that file accordingly (I don't think anything needs changing). Once that's done, all you have to do is enable apache:

# /sbin/chkconfig httpd on
# /sbin/service httpd start

Now just point a web browser to http://your.mythtv.box.ip.or.dns.name/mythweb/ and go to town. Please note: MythWeb provides listings, lets you schedule recordings, and see what is already recorded. You cannot use this interface to control playback on your MythTV box in any way. There are also some controls for MythMusic and MythVideo.

Personally, I don't plan on using the web server on this box for anything *but* MythWeb, so I opted to move everything in /var/www/html/mythweb/ to /var/www/html/ and remove the mythweb folder, so I get to MythWeb with just http://htpc/ (htpc is the hostname for MythTV box). Alternatively, Zachary Hamm suggests creating an index.php file in /var/www/html/, containing the following to achieve the same effect:

<?php header("Location: /mythweb"); ?>

This works better for those who also run other web-based apps on their MythTV box (like phpMyAdmin, for example), and keeps the apache doc root a bit tidier.

16. Upgrading your system

Upgrading your MythTV installation to a new release is fairly straight-forward. As of MythTV 0.13, all database changes are handled automagically, so you merely have to upgrade your mythtv rpms when they become available. Occasionally, driver updates are also required (such was the case with the ivtv driver when upgrading to MythTV 0.13, and PVR-350 output in 0.14+ required ivtv 0.1.9+). The basic upgrade process should be as simple as:

# yum install mythtv-suite

Note that this will NOT suffice to upgrade all sub-packages in the event of an updated build from ATrpms of the same major version. In other words, say 0.18.1-115 packages are released with some bugfix not in 0.18.1-114 (-114 and -115 are ATrpms build numbers), but mythtv-suite is already satisfied w/0.18.1-114 (mythtv-suite only needs 0.18.1 packages of any build number), so you'll have to specify all components manually (rpm -qa | grep myth for a list of 'em). If a driver update is required, you may need to:

# yum install <somedriver>-kmdl-$KVER <somedriver>
(<somedriver> could be ivtv, lirc, nvidia-graphics, etc.)

A general note about upgrading and installing rpm packages: you should NEVER use --nodeps to install or remove a package. If you can't get around using --nodeps, there is likely a packaging problem, which you should report upstream, to have it fixed. A tanked rpm database can do Very Bad Things™ to your system, and recovery is sometimes impossible. Try 'yum check' to verity its integrity, should you happen to have committed the --nodeps sin in the past.

Upgrading your kernel is a little bit more involved than upgrading only MythTV, because all custom kernel modules, both rpm-installed and source-installed, will have to be updated also. Kernel modules carry two different versions, one for the kernel they are for (the 'kernel version') and one for the actual module itself (the 'module version'). Everything but kernels and their matching kernel modules get upgraded automatically by 'yum upgrade'. However, note that cases where the kernel version on a kernel module remains the same, but the module version is incremented, an 'yum upgrade' will upgrade that kernel module. Essentially, you really only need to take extra measures when upgrading your kernel, as everything else gets handled automatically.

When you do come to a point where you need to upgrade your kernel, one of the nice features of installing from packages, rather than source, shows itself. For all the ATrpms kernel modules, you can simply type in the command...

# rpm -qa {alsa,ivtv,nvidia-graphics,lirc}*

...to get a full list of all the kernel modules you have installed on your system. With that list in hand, you can now install your new kernel, along with all the corresponding updated kernel modules. For example:

# yum install kernel#2.6.15-1.1831_FC4
# yum install {alsa,ivtv,lirc,nvidia-graphics7676}-kmdl-2.6.15-1.1831_FC4

You can also uninstall an older kernel and its kernel modules with a single command:

# yum remove kernel-<oldversion>

17. Miscellanea

This section has been moved to its own page, titled Tips 'n' Tricks.

18. Trouble-shooting

First and foremost, READ THE OFFICIAL DOCUMENTATION!!! Specifically, the page on Troubleshooting, at http://mythtv.org/docs/mythtv-HOWTO-22.html. Second, search the MythTV users *and* developers mailing list to see if this isn't already a known problem that might be fixed in CVS or have a work-around. Again, you can search the archives online at Gossamer Threads. Third, check out the wiki over at http://www.mythtv.info/, which also contains quite a bit of valuable information. Fourth, take a look at ATrpms Bugzilla and the Fedora Myth(TV)ology Wiki and Bug-tracker.

When trouble-shooting, I suggest exiting the frontend, stopping the backend and opening a pair of terminal windows. From one, start up the backend (as root, just type "mythbackend"). In the other, launch the frontend with verbose output (just type "mythfrontend -v all"). There should be a fair amount of output spit to the terminal windows that should give you (and the developers) a better idea of what is going wrong with your system. Please include that output when asking for help. Additionally, if you're getting a segmentation fault, your best bet for getting help determining the cause of the problem is to download the myth source code and compile it yourself in debug mode, then run it with gdb, the GNU debugger (how to do that is detailed at the above link). Only with a backtrace can the developers really help you if your setup is causing Myth to segfault.

I plan to further populate this section over time, when I can...

w3c xhtml compliant w3c css compliant