Installing MythTV on Kanotix
Kanotix is one of the many Debian based Live CDs, which itself is based on the popular Knoppix Live CD, except Kanotix has the ability to be easily installed on to a harddrive, from which a fully working easy to maintain Debian system is had.
I have been using Kanotix for a while now, and my familiarity with it has led me to build (or re-build) several MythTV systems from it. With the latest release as of this writing, 2004-4, much of the software needed by MythTV at new versions are available directly on the CD with no need to upgrade:
- Kernel 220.127.116.11
- With amd64 or i386 versions
- X-Org 6.8.2
- ALSA 1.0.10rc1
- udev 0.079-1
This makes a great way to custom build a Debian based MythTV machine.
Because there may be differences between Kanotix32 and Kanotix64, I should mention that the following steps will be for Kanotix64.
Booting the Live CD
Assuming you have built the system, downloaded the Kanotix ISO, verified it, and burned it to a CD, go ahead and boot your system off the CD. At the GRUB menu choose the Extra Menu in your language of choice, then choose Console Only with DMA, etc ON.
Now you should see Kanotix loading, searching your hardware, etc. Once at the prompt we're ready to begin installation!
Setting Up the Filesystems
Many options are available for filesystems in linux, a few are particularly well suited for the MythTV application. It is recommended that you have a dedicated root partition, with other partitions for recordings, archival, etc. It is also recommended that you use a separate harddrive for your system files, keeping your recordings and other media drives separate.
Here we will use /dev/hda as the main system drive.
I will use ext2 for /boot, this is where the GRUB files will be installed, ext2 is a stable filesystem and GRUB easily boots off of it.
For the root filesystem, /, I will use XFS. It is fast and stable.
If you require a swap file one can be created at this point as well.
Once your at the prompt run 'cfdisk /dev/hda'. cfdisk is the "Curses based disk partition table manipulator for Linux". Once up you should see an empty entry for hda and selectable options at the bottom of the screen. First we will create the /boot partition, select New and create a 100MB Primary partition. Now select the free space, select New, and create a partition with the rest of your harddrive space, less any space for a swap partition. Finally, if you would like, create a swap partition. Select Write and once the partition table is written select Quit.
Create File Systems
Now lets create the file systems, first for /boot,
# mkfs.ext3 /dev/hda1
next, root, /,
# mkfs.xfs /dev/hda2
and finally the swap partition if you have one,
# mkswap /dev/hda3
Now we are ready to install Kanotix to the harddrive. We will be doing a custom install, so first run 'kanotix-installer' and select the first option to do the basic configuration. It will ask you various questions, don't worry about the partition and filesystem questions, we'll change these later. Once your back to the main menu, save the configuration to a file, I named mine install.cfg.
Now we need to edit the install.cfg file, vi is the available editor, its a rather strange editor, so here's a quick rundown:
- arrows move cursor around
- i = insert mode, basically lets you edit the file
- esc = escape from insert mode
- :, colon = enters menu mode, from here,
- q = quit, don't save
- w = write, save
- wq = write then quit
The install.cfg file is fairly straight forward, for brevity here's how mine turned out,
now rerun 'kanotix-installer', load the install.cfg file and proceed with the install. After verifying some options it will begin to install the files. Eventually it will finish, once back at the prompt type reboot. The machine will reboot and eventually bring you to a login screen. Login as root.
Setting Up the Network
You will need to setup the network now. Run 'vi /etc/network/interfaces', you will need to add a lan0 network interface, as well you should add this to auto load on boot, in the end your 'interfaces' file should look like:
Once saved run 'ifup lan0', you should see some dhcp client talk and eventually be shown your IP.
Next you will want to setup your sources for apt-get. Kanotix64-2004-04 is based on Debian Etch (testing), so we will need to add some sources to /etc/apt/sources. So, 'vi /etc/apt/sources', here's mine,
Now run 'apt-get update'. You will find that a few keys are missing, here's how to add them:
gpg --keyserver wwwkeys.eu.pgp.net --recv-keys keys
replace keys with the missing keys, seperated by a space.
apt-key add /root/.gnupg/pubring.gpg
this will search and add the key information. Make sure it says OK, if not run it again.
Finally, run 'apt-get update' again, this time you should not see any missing keys.
You'll need to install MySQL to manage the MythTV database,
# apt-get install apt-get install mysql-server-4.1
to start the server.
Xine for DVD Playback
Xine is currently the only dvd playback software with DVD Menu support. Version 0.99.4 and newer fix a focus problem and will let you run without a window manager. Since the newest version in the debian repository is 0.99.3 it is recommended to, for now, compile the Xine UI from scratch. Before doing this, check to see if 0.99.4 or newer is in the Debian repository, it will make your life easier...
So go ahead and install libxine,
# apt-get install libxine1 libxine-dev
libxine-dev requires a lot of other packages to be installed, go ahead and allow them.
Now head to the Xine homepage and download the newest UI version.
You'll probably want a list of packages to install to help install/build the system. Here's a list of packages that you'll need/want,
- nano - a nice easy to use text editor
- automake1.8 - so you can build from tarball when needed
- libncurses5-dev - needed for lcdproc
- mingetty (for autologin procedure)
- libqt3-mt-dev (to build from source/SVN)
- liblame-dev (from Marillat)(to build from source/SVN)
- libasound2-dev (to build from source/SVN)
- libdvdnav-dev (to build from source/SVN)
- libfaac-dev (SVN Optional)
- libsdl1.2-dev (Optional)
- libfaad2-dev (SVN Optional)
- fftw-dev (SVN Optional)
- libexif-dev (Optional)
Things you can 'apt-get remove',
I recommend removing libavc1394-0 and building it, along with the other required firewire packages from source. You'll need:
man page errors on make install
The man pages no longer reside in /usr/local/man, this symlinks to /usr/share/man, but the 'make install' scripts won't work right with this, so when you run configure use:
./configure --mandir /usr/share/man