Mythtv/MiniMyth

From MattWiki

MiniMyth is a Frontend for Mythtv. It is a Diskless Linux System built for the VIA-EPIA-M Motherboards.

Setting up DHCP

MiniMyth boots off the DHCP server.

Here is the head of my /etc/dhcpd.conf file

allow bootp;
allow booting;
default-lease-time 10800;
max-lease-time 28800;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.1;
option domain-name "<Domain-Name>";
ddns-update-style ad-hoc;
option ip-forwarding off;
option nntp-server time.nist.gov;

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.50 192.168.1.30;
}

Then you need to add this next part in order for Minimyth to find the backend server and boot off of it's tftp service.

group {
 next-server <tftp-Server-IP-Address>;
 filename "PXEClient/pxelinux.0";
  host <Clients-Host-Name> {
   hardware ethernet <Clients-Mac-Address>;
   fixed-address <Clients-Future-IP-Address> ;
  }
}

tftp server

After you have dhcp setup you will need to install and setup your tftp server. via yum install tftp-server.i386

yum -y install tftp-server.i386

Yum installs tftp-server but dose not start it. Edit /etc/xinetd.d/tftp

vim /etc/xinetd.d/tftp

Change "disable" from "yes" to "no" and save the file. To start the tftp-server restart the xinetd service.

/sbin/service xinetd restart

PXELinux

pxelinux.0 file is provided by syslinux.i386 installed via yum

yum -y install syslinux.i386

yum will dump the file in /usr/lib/syslinux/pxelinux.0 so you will have to copy it to you tftpboot dir

mkdir -p /tftpboot/PXEClient/
mkdir -p /tftpboot/PXEClient/pxelinux.cfg
mkdir -p /tftpboot/PXEClient/conf/default
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/PXEClient/

Yum will make the /tftpboot directory for you. Inside that you will need to create a new directory called PXEClient, (as you set this directory name in the DHCP setup step) all your MiniMyth files will be put in this directory.

PXEClient requires a config file. create the directory pxelinux.cfg inside /tftpboot/PXEClient. In order for any system to boot via PXE

Install MiniMyth

You don't actually install MiniMyth but just download it and put the current file in the current directory's. Now I know that sounds dumb, but the client will install the files you just need to provided them for it.

Download MiniMyth

First download the latest release of MiniMyth from Download Site, you wont to download the ram-minimyth-<version-number>.tar.bz2 to /tftpboot/PXEClient/

The current version will change so the link will brake

cd /tftpboot/PXEClient/
wget http://linpvr.org/minimyth/download/stable/latest/ram-minimyth-version.tar.bz2

Now un-tar the file

tar -xjf ram-minimyth-version.tar.bz2

That will create a directory named ram-minimyth-version. you will need to copy the kernel and rootfs files and put them in the PXEClient directory.

cd /tftpboot/PXEClient/
cp ram-minimyth-version/kernel ./
cp ram-minimyth-version/rootfs ./

Configure MiniMyth

MiniMyth will need a conf directory, and inside that

MiniMyth Conf File

MiniMyth Themes

ln -s ram-minimyth-version/themes conf/default/themes

Directory Structure

/tftpboot/PXEClient/
+-kernel
+-pxelinux.0
+-rootfs
+-updateminimyth
+-pxelinux.cfg/
  +--default
+-conf/default/
  +----lircd.conf
  +----lircrc
  +----minimyth.conf
  +----themes/