Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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

share|improve this question
add comment

1 Answer

up vote 4 down vote accepted

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

    TFTP_DIRECTORY="/var/lib/tftpboot/ltsp/i386"

  • 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

    dhcp-boot=pxelinux.0,,X.X.X.X

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

    dhcp-boot=/pxelinux.0,,X.X.X.X

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

NVIDA-Drivers

  • 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

    CTRL-ALT-F1

  • Login

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

  • To enable sound via HDMI

  • Open Terminal

    alsamixer

  • Unmute the SPIF outputs to enable sound via HDMI

share|improve this answer
    
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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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