Should anyone ask, I updated mythtv to run on Ubuntu on amd64.

I decided to switch my somewhat flaky multimedia MythTV box to Ubuntu.  Since it’s in the living room I run a diskless (and therefore completely silent) AMD64 based system that connects to my backend server via it’s own VLAN on gigabit ethernet (with jumbo-frames).  The problem is that there was very little documentation about setting up Ubuntu in a diskless fashion and even less about doing it for a “foreign” architecture.  I needed an Amd64 environment, and the other PCs that I had access to were Intel 64bit or AMD32.

So I headed over to Robin’s network where he runs an AMD64 based media PC (also on Ubuntu, although needn’t be).

Should I ever have to repeat this setup, these are the commands I executed:
To grab the initial set of packages and unpack them:

debootstrap –resolve-deps –arch amd64 –include=ssh,apt,postfix,cron –verbose edgy /tmp/mythbuntu-from-slomnet http://archive.ubuntu.com/ubuntu
mount –bind /sys /tmp/mythbuntu-from-slomnet/sys
mount –bind /proc /tmp/mythbuntu-from-slomnet/proc
chroot /tmp/mythbuntu-from-slomnet /bin/bash
vim /etc/fstab# /etc/fstab: static file system information.
#
#

proc /proc proc defaults 0 0
10.7.12.1:/var/lib/diskless/mythtv / nfs rw,async,hard,lock,nfsvers=3,tcp,rsize=32768,wsize=32768 0 0
10.7.12.1:/home /home nfs rw,async,hard,lock,nfsvers=3,tcp,rsize=32768,wsize=32768 0 0
10.7.12.1:/home/simon/Music /home/mythtv/music nfs ro,async,hard,lock,nfsvers=3,tcp,rsize=32768,wsize=32768 0 0
10.7.12.1:/mnt/vault/video /mnt/vault/video nfs rw,async,hard,lock,nfsvers=3,tcp,rsize=32768,wsize=32768 0 0
/dev/loop/0 none swap sw 0 0
/dev/hda /media/cdrom udf,iso9660 ro,user,noauto 0 0
vim /etc/network/interfaces

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp
#up ethtool -s eth0 speed 100 duplex full autoneg off

auto eth0
iface eth0 inet static
address 10.7.12.6
netmask 255.255.255.0
network 10.7.11.12.0
broadcast 10.7.12.255
gateway 10.7.12.1
mtu 9000
vim /etc/initramfs-tools/initramfs.conf

BOOT=nfs
vim /etc/initramfs-tools/modules

forcedeth
af_packet
nfs
lockd
forcedeth
af_packet
nfs
lockd

update-initramfs -u -c
apt-get clean # we don’t want to have to xfer all the left over .deb packages

exit chroot

umount /tmp/mythbuntu-from-slomnet/proc # because we are tidy
umount /tmp/mythbuntu-from-slomnet/sys # and don’t throw rocks
tar cvfjl /tmp/mythbuntu-from-slomnet.tar.bz /tmp/mythbuntu-from-slomnet

rsync -e ssh … to imagilan

my menu.lst for netbooting looked like this (not the small r and wsize – this seems to be a bug in the early life of a forecedeth module loading.  Later on I ramp up the packet size and things really fly)

default MythBuntu
timeout 10
prompt 2

label MythBuntu
kernel /linux/mythbuntu/vmlinuz-2.6.17-10-386
append initrd=/linux/mythbuntu/initrd.img-2.6.17-10-386 ip=dhcp root=/dev/nfs nfsroot=10.7.11.1:/var/lib/diskless/mythtv nfsopts=nolock,tcp,wsize=2048,rsize=2048,rw acpi=force rw

reboot and “Bob’s your uncle”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.