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)?


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-hpa

  • If 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-hpa

  • Edit the TFTP_DIRECTORY= to


  • Restart tftp

    sudo service tftpd-hpa restart

Configure the overlay NFS export

  • sudo dpkg-reconfigure mythbuntu-diskless-server

  • Answer yes to both questions

Create the boot image

  • Check the following first

    ltsp-build-client --extra-help

  • Start 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


  • Put 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:


  • Put 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.conf

  • Add 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;<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

    #option domain-name "domain";<br />default-lease-time 600;<br />max-lease-time 7200;<br />ddns-update-style ad-hoc;<br />subnet netmask {<br /> range;<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;<br /> next-server;<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/i386

  • Now 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.deb dpkg -i mythbuntu-repos.deb dpkg-reconfigure mythbuntu-repos apt-get update apt-get upgrade

  • Configure Auto-Login

    cd /etc/gdm vi custom.conf

  • Paste 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/mythtv

  • Edit config.xml and mysql.txt


  • Blacklist nouveau

    vi /etc/modprobe.d/blacklist.conf

  • Add the following to the end of the file

    blacklist nouveau

  • Install Nvidia Drivers

    apt-get install nvidia-common apt-get install nvidia-current

  • Go 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

    exit sudo umount /opt/ltsp/i386/proc sudo ltsp-update-image

  • Remove 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/overlay sudo rm -fr *

NVIDIA-Drivers Final

  • Boot frontend


  • Login

    sudo service gdm stop sudo sh ./PATH_TO_DOWNLOADED_NVIDIA_DRIVERS sudo service gdm start

  • To enable sound via HDMI

  • Open Terminal


  • Unmute 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). – map7 Jan 29 '12 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.