[mythtv-users] diskless frontend/backend
Bryan Cromwell
bcromwell.mailinglists at gmail.com
Tue Jul 15 02:04:35 UTC 2008
Take a look at minimyth.org, This is what I use on all of my FE's. With a
bit of scripting I am now to the point were I can upgrade in 10 min or so.
So much nicer than compiling/building my self like I use to. The new ver
also supports backend as well.
Bryan
On Sun, Jul 13, 2008 at 4:12 AM, Jan Ceuleers <jan.ceuleers at computer.org>
wrote:
> Chuck Peters wrote:
>
>> http://www.mythtv.org/wiki/index.php/Diskless_Backend is dated 18
>> December 2006 and wasn't too successful. It looks like it suffered
>> from IO problems.
>>
>> I want to build/buy a new system for a bedroom and putting a SD tuner
>> card there would be nice. If I use gigabit networking I don't think I
>> would have the IO problems. Anybody running diskless backends?
>>
>
> Yes, working well.
>
> - Ubuntu 7.10 on a Via Epia EN15000.
> - PXE/TFTP/NFS boot from the network.
>
> It's been a while since I did that now, but I attach the script I used to
> create the image that the machine boots into (with passwords etc removed).
> Should give you some pointers.
>
> Cheers, Jan
>
> #!/bin/bash
> mkdir -p /raid5/nobackup/fe2root
> mkdir -p /mnt/ubiso
> [ -e
> /raid5/dobackup/home/storage/Exclude_from_backup/ubuntu-7.10-server-i386.iso
> ] || ( echo "can\'t find ISO image" && exit )
> mount -t iso9660 -o ro,loop=/dev/loop0
> /raid5/dobackup/home/storage/Exclude_from_backup/ubuntu-7.10-server-i386.iso
> /mnt/ubiso/
> debootstrap --arch i386 gutsy /raid5/nobackup/fe2root file:/mnt/ubiso
> umount /mnt/ubiso
> rmdir /mnt/ubiso
>
> cat > /raid5/nobackup/fe2root/etc/fstab <<-delim
> via.xperim.be:/raid5/nobackup/fe2root / nfs
> rsize=8192,wsize=8192,nfsvers=3,actimeo=0,tcp,intr 0 0
> tmpfs /tmp tmpfs size=128m,mode=1777 0 0
> proc /proc proc defaults 0 0
> sys /sys sysfs defaults 0 0
> via.xperim.be:/raid5/nobackup/mythtv /var/lib/mythtv nfs
> rsize=8192,wsize=8192,nfsvers=3,actimeo=0,tcp,intr,noauto 0 0
> via.xperim.be:/home/storage/Audio /home/storage/Audio nfs
> rsize=8192,wsize=8192,nfsvers=3,actimeo=0,tcp,intr,noauto 0 0
> delim
>
> cat > /raid5/nobackup/fe2root/etc/network/interfaces <<-delim
> # This file describes the network interfaces available on your
> system
> # and how to activate them. For more information, see interfaces(5).
>
> # The loopback network interface
> auto lo eth0
> iface lo inet loopback
>
> # The primary network interface
> iface eth0 inet static
> address 192.168.1.20
> netmask 255.255.255.0
> broadcast 192.168.1.255
> network 192.168.1.0
> gateway 192.168.1.5
> delim
>
> echo fe2 > /raid5/nobackup/fe2root/etc/hostname
> echo http_proxy=http://via.xperim.be:3128 >>
> /raid5/nobackup/fe2root/etc/bash.bashrc
> cat /etc/apt/sources.list > /raid5/nobackup/fe2root/etc/apt/sources.list
>
> cat > /raid5/nobackup/fe2root/etc/hosts <<-delim
> 127.0.0.1 localhost
> 127.0.1.1 fe2.xperim.be fe2
>
> # The following lines are desirable for IPv6 capable hosts
> ::1 ip6-localhost ip6-loopback
> fe00::0 ip6-localnet
> ff00::0 ip6-mcastprefix
> ff02::1 ip6-allnodes
> ff02::2 ip6-allrouters
> ff02::3 ip6-allhosts
> delim
>
> cat > /raid5/nobackup/fe2root/etc/resolv.conf <<-delim
> search xperim.be
> nameserver 192.168.15.1
> delim
>
> echo LANG=\"en_US.UTF-8\" >> /raid5/nobackup/fe2root/etc/environment
> echo LANG=\"en_US.UTF-8\" > /raid5/nobackup/fe2root/etc/default/locale
> echo en_US.UTF-8 UTF-8 >
> /raid5/nobackup/fe2root/var/lib/locales/supported.d/local
>
> #cp -a /etc/alternatives/* /raid5/nobackup/fe2root/etc/alternatives
> echo export VISUAL=/usr/bin/vi >> /raid5/nobackup/fe2root/etc/profile
>
> cp /boot/memtest86* /raid5/nobackup/fe2root/boot
> mkdir -p /raid5/nobackup/fe2root/boot/pxelinux.cfg
> cp /usr/lib/syslinux/pxelinux.0 /raid5/nobackup/fe2root/boot
>
> cat > /raid5/nobackup/fe2root/boot/pxelinux.cfg/default <<-delim
> default Linux
>
> label Linux
> kernel /vmlinuz-2.6.22-14-generic
> append root=/dev/nfs nfsroot=192.168.1.11:/raid5/nobackup/fe2root
> initrd=/initrd.img-2.6.22-14-generic.fe2 ip=dhcp ro quiet splash
>
> label Linux (recovery mode)
> kernel /vmlinuz-2.6.22-14-generic
> append root=/dev/nfs nfsroot=192.168.1.11:/raid5/nobackup/fe2root
> initrd=/initrd.img-2.6.22-14-generic.fe2 ip=dhcp ro single
>
> label memtest86+
> kernel /memtest86+.bin
> append quiet
> delim
>
> chmod 666 /raid5/nobackup/fe2root/boot/pxelinux.0
> chmod 666 /raid5/nobackup/fe2root/boot/pxelinux.cfg/*
>
> cat > /raid5/nobackup/fe2root/dobootstrap <<-delim
> #!/bin/bash
> mount /proc
> mount /sys
> dpkg-reconfigure locales
> #dpkg-reconfigure console-setup
> adduser blah
> echo 'blah ALL=(ALL) ALL' >> /etc/sudoers
> chmod 0440 /etc/sudoers
> apt-key update
> apt-get -u update
> apt-get -y install localepurge
> apt-get -y install linux-image-generic linux-restricted-modules
> syslinux memtest86+ openssh-server nfs-client
> echo ext3 >> /etc/initramfs-tools/modules
> update-initramfs -u
> cd /bin && rm sh && ln -s /bin/bash /bin/sh
> dpkg-reconfigure tzdata
> apt-get -u update
> apt-get upgrade
> umount /sys
> umount /proc
> delim
>
> chmod +x /raid5/nobackup/fe2root/dobootstrap
> chroot /raid5/nobackup/fe2root /dobootstrap
>
> cat > /raid5/nobackup/fe2root/etc/motd.tail <<-delim
>
> Welcome to fe2.xperim.be. Unauthorised use prohibited.
> delim
>
> cat > /raid5/nobackup/fe2root/installapps <<-delim
> #!/bin/bash
> # mount /proc
> # mount /sys
> apt-get update
> apt-get upgrade
> apt-get -y install ntp vim-full apcupsd wget traceroute man-db
> lm-sensors htop debian-helper-scripts cpufrequtils sysstat
> yes | sensors-detect
> wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- |
> apt-key add -
> apt-get update
> apt-get -y install ubuntu-desktop mythbuntu-desktop
> mythbuntu-lirc-generator
> apt-get -y install xserver-xorg-video-openchrome x-ttcidfont-conf
> libviaxvmc1 libviaxvmcpro1
> apt-get -y install ffmpeg libavcodec1d libavformat1d libavutil1d
> libpostproc1d libswscale1d libdvdcss2 libdvdcss2-dev
> apt-get -y install mythtv-backend mythtv-frontend
> # apt-get -y --force-yes install ubuntu-desktop mythbuntu-desktop
> xserver-xorg-video-openchrome mythtv-backend mythtv-frontend ffmpeg
> libavcodec1d libavformat1d libavutil1d libpostproc1d libswscale1d libdvdcss2
> libdvdcss2-dev x-ttcidfont-conf mythbuntu-lirc-generator
> chown root.mythtv /etc/mythtv/mysql.txt
> apt-get -y --force-yes install webmin
> mv /etc/webmin/config /etc/webmin/config.orig
> grep -v referers_none < /etc/webmin/config.orig > /etc/webmin/config
> ### TODO: Check if DMA is enabled on DVD drive
> ### TODO: Check if Myth Transcoding Deamon is installed
> ### TODO: X config
> ### TODO: RNG driver
> ### TODO: remote setup
> ### DO THIS AT THE END
> cat \$0 > /root/timestamp.appsinstall
> chmod a-wx /root/timestamp.appsinstall
> echo Now log in using X and run mythtv-setup
> delim
>
> chmod +x /raid5/nobackup/fe2root/installapps
> #chroot /raid5/nobackup/fe2root /installapps
>
> cat > /raid5/nobackup/fe2root/etc/ntp.conf <<-delim
> driftfile /var/lib/ntp/ntp.drift
> statsdir /var/log/ntpstats/
> logfile /var/log/ntp.log
> server via.xperim.be iburst
> disable auth
> delim
>
> mkdir -p /raid5/nobackup/fe2root/etc/apcupsd
> cat > /raid5/nobackup/fe2root/etc/apcupsd/apcupsd.conf <<-delim
> ## apcupsd.conf v1.1 ##
> UPSNAME belowtv
> UPSCABLE usb
> UPSTYPE usb
> DEVICE
> LOCKFILE /var/lock
> ONBATTERYDELAY 6
> BATTERYLEVEL 5
> MINUTES 5
> TIMEOUT 0
> ANNOY 300
> ANNOYDELAY 60
> NOLOGON disable
> KILLDELAY 0
> NETSERVER on
> NISIP 0.0.0.0
> NISPORT 3551
> EVENTSFILE /var/log/apcupsd.events
> EVENTSFILEMAX 10
> UPSCLASS standalone
> UPSMODE disable
> STATTIME 0
> STATFILE /var/log/apcupsd.status
> LOGSTATS off
> DATATIME 0
> delim
>
> mv /raid5/nobackup/fe2root/etc/default/apcupsd
> /raid5/nobackup/fe2root/etc/default/apcupsd.orig
> grep -v "ISCONFIGURED=no" <
> /raid5/nobackup/fe2root/etc/default/apcupsd.orig >
> /raid5/nobackup/fe2root/etc/default/apcupsd
> echo "ISCONFIGURED=yes" >> /raid5/nobackup/fe2root/etc/default/apcupsd
>
> mkdir -p /raid5/nobackup/fe2root/etc/mythtv
> cp /etc/mythtv/mysql.txt /raid5/nobackup/fe2root/etc/mythtv/mysql.txt
>
> cp /root/updateSystem /raid5/nobackup/fe2root/root/
> cp /usr/bin/ntpStatus /raid5/nobackup/fe2root/usr/bin
> echo "*.info;mail.none;news.none;authpriv.none;cron.none;local0.none @
> via.xperim.be" >> /raid5/nobackup/fe2root/etc/syslog.conf
>
> chmod a+rw /raid5/nobackup/fe2root/dev/null
>
> cat > /raid5/nobackup/fe2root/etc/mythtv/mysql.txt <<-delim
> DBHostName=via.xperim.be
>
> # By default, Myth tries to ping the DB host to see if it exists.
> # If your DB host or network doesn't accept pings, set this to no:
> #
> DBHostPing=no
>
> DBUserName=mythtv
> DBPassword=whatever
> DBName=mythconverg
> DBType=QMYSQL3
>
> # Set the following if you want to use something other than this
> # machine's real hostname for identifying settings in the database.
> # This is useful if your hostname changes often, as otherwise you
> # will need to reconfigure mythtv (or futz with the DB) every time.
> # TWO HOSTS MUST NOT USE THE SAME VALUE
> #
> #LocalHostName=my-unique-identifier-goes-here
>
> # If you want your frontend to be able to wake your MySQL server
> # using WakeOnLan, have a look at the following settings:
> #
> #
> # The time the frontend waits (in seconds) between reconnect tries.
> # This should be the rough time your MySQL server needs for startup
> #
> #WOLsqlReconnectWaitTime=0
> #
> #
> # This is the number of retries to wake the MySQL server
> # until the frontend gives up
> #
> #WOLsqlConnectRetry=5
> #
> #
> # This is the command executed to wake your MySQL server.
> #
> #WOLsqlCommand=echo 'WOLsqlServerCommand not set'
> delim
>
> # The following needs to be added to xorg.conf
> #Section "Module"
> # Disable "glx"
> # Disable "xtrap"
> # Disable "record"
> # Disable "GLcore"
> # Disable "dri"
> #EndSection
>
> mv /raid5/nobackup/fe2root/etc/rc.local
> /raid5/nobackup/fe2root/etc/rc.local.orig
> grep -v "exit 0" < /raid5/nobackup/fe2root/etc/rc.local.orig >
> /raid5/nobackup/fe2root/etc/rc.local
> echo "mount /var/lib/mythtv" >> /raid5/nobackup/fe2root/etc/rc.local
> echo "mount /home/storage/Audio" >> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -d *:* latency_timer=b0" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -s 00:0f.1 latency_timer=ff" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -s 00:11.5 latency_timer=ff" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -s 00:13.0 latency_timer=ff" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -s 01:00.0 latency_timer=ff" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "setpci -v -s 00:0e.0 latency_timer=ff" >>
> /raid5/nobackup/fe2root/etc/rc.local
> echo "/usr/bin/mtd --daemon" >> /raid5/nobackup/fe2root/etc/rc.local
> echo "ln -s /dev/hdb /dev/dvd" >> /raid5/nobackup/fe2root/etc/rc.local
>
> # See
> https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.15/+bug/26998
> # In order to be able to enable DMA on the DVD drive, ide-generic must be
> # kept from loading.
>
> ### DO THIS AT THE END
> cat $0 > /raid5/nobackup/fe2root/root/timestamp.baseinstall
> chmod a-wx /raid5/nobackup/fe2root/root/timestamp.baseinstall
>
> service tftpd-hpa restart
> echo "Now PXEboot the machine, log in as blah, set a root password,"
> echo "log in as root, and execute /installapps"
>
>
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-users/attachments/20080714/85a66cca/attachment-0001.htm
More information about the mythtv-users
mailing list