Installing MythTV on Kanotix

From MythTV Official Wiki
(Redirected from Kanotix From Scratch)
Jump to: navigation, search

Time.png Outdated: The information on this page may no longer be relevant to the current release of MythTV, 34.0. Please consider helping to update it. This page was last modified on 2010-10-18.

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.

Why Kanotix?

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 2.6.14.5
    • 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.

Installation

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.

cfdisk

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

Install

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,

Script.png install.cfg

REGISTERED=' SYSTEM_MODULE SYSTEM_TYPE HD_MODULE HD_FORMAT HD_FSTYPE HD_CHOICE HD_MAP HD_IGNORECHE
CK SWAP_MODULE SWAP_AUTODETECT SWAP_CHOICES NAME_MODULE NAME_NAME USER_MODULE USER_NAME USERPASS_M
ODULE USERPASS_CRYPT ROOTPASS_MODULE ROOTPASS_CRYPT HOST_MODULE HOST_NAME SERVICES_MODULE SERVICES
_START BOOT_MODULE BOOT_LOADER BOOT_DISK BOOT_WHERE INSTALL_READY'

SYSTEM_MODULE='configured'
# Determines if the system is a debian-derivate, a copy from CD or a nice mix of both
# Possible are: knoppix|beginner|debian
# Default value is: debian
SYSTEM_TYPE='debian'

HD_MODULE='configured'
# Determines if the HD should be formatted. (mkfs.*)
# Possible are: yes|no
# Default value is: yes
HD_FORMAT='no'
# Sets the Filesystem type.
# Possible are: ext3|ext2|reiserfs|xfs|jfs
# Default value is: reiserfs
HD_FSTYPE='jfs'
# Here the Kanotix-System will be installed
# This value will be checked by function module_hd_check
HD_CHOICE='/dev/hda2'
# Here you can give additional mappings. (Experimental) You need to have the partitions formatted
yourself and give the correct mappings like: "/dev/hda4:/boot /dev/hda5:/var /dev/hda6:/tmp"
HD_MAP='/dev/hda1:/boot /dev/hda2:/'
# If set to yes, the program will NOT check if there is enough space to install knoppix on the sel
ected partition(s). Use at your own risk! Useful for example with HD_MAP if you only have a small
root partition.
# Possible are: yes|no
# Default value is: no
HD_IGNORECHECK='yes'

SWAP_MODULE='configured'
# If set to yes, the swap partitions will be auto-detected.
# Possible are: yes|no
# Default value is: yes
SWAP_AUTODETECT='yes'
# The swap partitions to be used by the installed knoppix.
# This value will be checked by function module_swap_check
SWAP_CHOICES='/dev/hda3'

NAME_MODULE='configured'
NAME_NAME='mythtv'

USER_MODULE='configured'
USER_NAME='mythtv'

USERPASS_MODULE='configured'
USERPASS_CRYPT='blahblah'

ROOTPASS_MODULE='configured'
ROOTPASS_CRYPT='blahblah'

HOST_MODULE='configured'
HOST_NAME='mythbox'

SERVICES_MODULE='configured'
# Possible services are for now: kdm cupsys smail ssh samba
# Default value is: kdm cupsys
SERVICES_START='ssh samba'

BOOT_MODULE='configured'
# Chooses the Boot-Loader
# Possible are: lilo|grub
# Default value is: grub
BOOT_LOADER='grub'
# If set to 'yes' a boot disk will be created!
# Possible are: yes|no
# Default value is: yes
BOOT_DISK='no'
# Where the Boot-Loader will be installed
# Possible are: mbr|partition
# Default value is: mbr
BOOT_WHERE='mbr'
INSTALL_READY='yes'

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:

Script.png /etc/network/interfaces


# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo lan0
iface lo inet loopback

iface lan0 inet dhcp

Once saved run 'ifup lan0', you should see some dhcp client talk and eventually be shown your IP.

Apt-Get Sources

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,


Script.png /etc/apt/sources

# Debian64
# Unstable Sid
#deb ftp://debian.csail.mit.edu/debian-amd64/debian/ sid main contrib
# deb-src ftp://debian.csail.mit.edu/debian-amd64/debian/ sid main contrib

# Stable Sarge
deb ftp://debian.csail.mit.edu/debian-amd64/debian/ sarge main contrib
#deb-src ftp://debian.csail.mit.edu/debian-amd64/debian/ sarge main contrib

# Testing Etch
deb ftp://debian.csail.mit.edu/debian-amd64/debian/ testing main contrib
#deb-src ftp://debian.csail.mit.edu/debian-amd64/debian/ testing main contrib

#Backports Stable Sarge
deb http://www.backports.org/debian/ sarge-backports main

# Marillat
# Stable amd64
deb http://spello.sscnet.ucla.edu/marillat/ sarge main
# Unstable amd64
deb http://spello.sscnet.ucla.edu/marillat/ sid main
# Sources
# deb-src ftp://ftp.nerim.net/debian-marillat/ sarge main
# deb-src ftp://ftp.nerim.net/debian-marillat/ sid main

# Kanotix64
deb http://kanotix.com/files/debian sid main contrib non-free
#deb-src http://kanotix.com/files/debian sid main contrib non-free

#Blackdown Java
deb ftp://ftp.tux.org/java/debian/ sarge non-free

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.

next run,

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.

MySQL

You'll need to install MySQL to manage the MythTV database,

# apt-get install apt-get install mysql-server-4.1

followed by,

#/etc/init.d/mysql start

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.


Necessary Packages

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
  • libxxf86vm-dev
  • libqt3-mt-mysql
  • mingetty (for autologin procedure)

For SVN

  • svn-buildpackage
  • 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)

For MythPlugins

  • MythMusic
    • libid3tag0-dev
    • libmad0-dev
    • libvorbis-dev
    • libcdparanoia0-dev
    • libflac-dev
    • libcdaudio-dev
    • libfaac-dev (SVN Optional)
    • libsdl1.2-dev (Optional)
    • libfaad2-dev (SVN Optional)
    • fftw-dev (SVN Optional)
  • MythGallery
    • libtiff4-dev
    • libexif-dev (Optional)

Unnecessary Packages

Things you can 'apt-get remove',

  • firefox
  • mozilla-thunderbird


Firewire

I recommend removing libavc1394-0 and building it, along with the other required firewire packages from source. You'll need:

  • libavc1394-0.5.1.tar.gz
  • libiec61883-1.0.0.tar.gz
  • libraw1394-1.2.0.tar.gz


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