I would like to use MythTV frontend systems that have no local storage. How do I set them up to boot from a network drive (mythbuntu-diskless)?
1 Answer
Install the necessary prerequisites.
You have the following 2 options:
If you already have a DHCP server on your network do the following:
sudo apt-get install mythbuntu-diskless-server tftpd-hpaIf you do not have a DHCP server on your network do the following
sudo apt-get install mythbuntu-diskless-server-standalone tftpd-hpa
Edit the tftp configuration
sudo vi /etc/default/tftpd-hpaEdit the TFTP_DIRECTORY= to
TFTP_DIRECTORY="/var/lib/tftpboot/ltsp/i386"Restart tftp
sudo service tftpd-hpa restart
Configure the overlay NFS export
sudo dpkg-reconfigure mythbuntu-diskless-serverAnswer yes to both questions
Create the boot image
Check the following first
ltsp-build-client --extra-helpStart the image making
sudo ltsp-build-client --mythbuntu --mythbuntu-user-credentials="your-user-id-here:your-password-here"For the credentials do not use "mythtv" it will already be created. Later we will setup mythtv ID to auto-login.
This will install the image to /opt/ltsp/i386
This will take awhile!
Configure the DHCP server
For Untangle do the following
Go to the Web UI for Untange, Config, Networking, Advanced, DHCP & DNS (from the dropdown). In the custom field box put
dhcp-boot=pxelinux.0,,X.X.X.XPut the IP where you installed the diskless and tftpd packages
For DD-WRT you should be able to do the following --- Untested
Navigate to Admin>Services\
Add the following for Additional DNS options:
dhcp-boot=/pxelinux.0,,X.X.X.XPut the IP where you installed the diskless and tftpd packages
For the mythbuntu-diskless-server-standalone package do the following --- Untested
sudo vi /etc/dhcp3.confAdd the following lines:
allow booting;<br />allow bootp;<br />class "pxeclients" {<br /> match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";<br /> next-server 192.168.1.100;<br /> filename "linux-install/pxelinux.0";<br />}The next-server directive indicates the TFTP server that the system will contact. The filename is the init file that will be loaded to provide the bootloader. This example is specific to the Redhat and Fedora Core implementation and may vary depending on your distribution. //Alternative dhcp.conf, assume your PXE root is /mnt/pxe, and you assign your box a static IP of 192.168.1.60:
#option domain-name "domain";<br />default-lease-time 600;<br />max-lease-time 7200;<br />ddns-update-style ad-hoc;<br />subnet 192.168.1.0 netmask 255.255.255.0 {<br /> range 192.168.1.60 192.168.1.60;<br /> }<br /> option option-150 code 150 = text ; <br /> host mythtoo { <br /> hardware ethernet 00:14:2A:B3:E4:1C; <br /> option option-150 "/mnt/pxe/boot/grub.lst"; <br /> option routers 192.168.1.1;<br /> next-server 192.168.1.90;<br /> filename "/mnt/pxe/boot/pxegrub"; <br /> filename "/mnt/pxe/pxelinux.0";<br /> }
You can now boot your client
Any changes you make while your frontend is booted will be saved for only that fronend on the server under /var/cache/mythbuntu-diskless/overlay
Updating Configs/Adding Packages To the boot image
First mount /proc to the image
sudo mount -o bind /proc /opt/ltsp/i386/proc/Switch to the image environment
sudo chroot /opt/ltsp/i386Now do whatever you want as if you were on a frontend. Anything you do here will be done for all frontends that boot via the network
Somethings you can do
Enable Mythbuntu repos
wget http://www.mythbuntu.org/files/mythbuntu-repos.debdpkg -i mythbuntu-repos.debdpkg-reconfigure mythbuntu-reposapt-get updateapt-get upgradeConfigure Auto-Login
cd /etc/gdmvi custom.confPaste the following
[daemon]<br />DefaultSession=mythbuntu<br />TimedLoginEnable=false<br />AutomaticLoginEnable=true<br />TimedLogin=mythtv<br />AutomaticLogin=mythtv<br />TimedLoginDelay=0<br />Configure frontend to connect to the backend for all frontends.
cd /etc/mythtvEdit config.xml and mysql.txt
NVIDA-Drivers
Blacklist nouveau
vi /etc/modprobe.d/blacklist.confAdd the following to the end of the file
blacklist nouveauInstall Nvidia Drivers
apt-get install nvidia-commonapt-get install nvidia-currentGo to Nvidia's website get the link for the current nvidia drivers. Use wget to save it somewhere (I used /home/mythtv)
Continued after booting frontend
When done making changes do
exitsudo umount /opt/ltsp/i386/procsudo ltsp-update-imageRemove Overlays for frontends already booted -IF NEEDED or WHEN YOU WANT TO
Note this will remove all settings you made to your frontend when it was booted
cd /var/cache/mythbuntu-diskless/overlaysudo rm -fr *
NVIDIA-Drivers Final
Boot frontend
CTRL-ALT-F1Login
sudo service gdm stopsudo sh ./PATH_TO_DOWNLOADED_NVIDIA_DRIVERSsudo service gdm startTo enable sound via HDMI
Open Terminal
alsamixerUnmute the SPIF outputs to enable sound via HDMI
-
I've had real trouble with the 'mythbuntu' switches under Ubuntu/Mythbuntu 11.10 and the fat-client build also requires you to patch some files Ref: bazaar.launchpad.net/~ltsp-upstream/ltsp/ltsp-trunk/revision/… (Note Ubuntu 12.04 these patches have been added and fat-client will work, mythbuntu options on the ltsp-build may still be broken though).– map7Commented Jan 29, 2012 at 22:25