Booting the DBox2 from Linux RedHat 7.3

Booting the DBox2 from Linux was not as easy as some documents tend to believe. Many other howto's point in the wrong direction or are just to old to work. This howto is just a simple set of steps I have taken to get Yadd to boot on my DBox2.

What you don't need.
- the bootparamd package
- the rarp package

Setting up tftp / dhcp / bootp so the Dbox can boot from the net

First install the dhcp-2.0pl5-8.i386.rpm package that can be found on the ftp.redhat.com server.

After that, download from ftp://ftp.isc.org/isc/dhcp/dhcp-latest.tar.gz the latest dhcp source and compile it. Just 'make install' it and it will place its server over the server that came with the rpm package. That way you will have a nice redhat start and stop script with an up-to-date server.

Edit the /etc/dhcpd.conf file and add something like this:

host dbox {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address dbox.myhome.org;
allow bootp;
filename "/tftpboot/ppcboot";
}

Edit the /etc/hosts file and add a line like this:

192.168.1.252                 dbox

where the ipaddress is of course the address of your dbox.

Replace xx:xx:xx:xx:xx:xx with the mac address of your dbox and fill in the right dns name of your box. After this, you will be able to boot up the kernel from bootp/tftp Just give it a try, but realise that it will stop loading after the welcome screen because it cannot mount the nfs share that we still have to create. This is explained in the next chapter.

Setting up the file structure.

Download a Yadd file from http://remote-admin.de/ and unpack the file.
It will contain two directories, yaddroot and tftpboot. If you unpack this file in the root of your system, it will neatly create the two directories needed.
The /tftpboot directory is referred from the dhcpd.conf file and the /yaddroot is referred form the /etc/export file for the NFS share.

Copy your ucodes in the /yaddroot//var/tuxbox/ucodes directory.

Saving changes you made.

All the changes you make to the setup of the box are stored on the nfs filesystem
If you want to know which files have changed, just use the find . -cmin -30 command to find out what files have change more than 30 minutes ago.

After an initial start of a yadd file, you have to do a rescan of the services, set the language etc.
This info will be stored in the following files.

./var/etc/resolv.conf
./var/tuxbox/config
./var/tuxbox/config/zapit
./var/tuxbox/config/zapit/services.xml
./var/tuxbox/config/zapit/zapit.conf
./var/tuxbox/config/scan.conf
./var/tuxbox/config/neutrino.conf
./var/tuxbox/config/timerd.conf
./var/tuxbox/config/lcdd.conf

Trouble-shooting

General

Start tcpdump with the parameters 'port bootps or port bootpc or port nfs or port tftp'
this way you will see most of the stuff that will interest you.
Boot up your dbox and look at the tcpdump output.

If you see a bootp answer going to 255.255.255.255 you are using the wrong dhcp server version!
Download the right one, recompile it and look for an answer going to the box itself in stead of a broadcast.

Boot stops right after the welcome screen

If your boot process stops after the initial welcome screen and the log of your linux servers shows

Oct 20 21:58:21 purple rpc.mountd: authenticated mount request from dbox:800 for /yaddroot  
Oct 20 21:58:21 purple rpc.mountd: getfh failed: Operation not permitted

Then perhaps the nfs server lost track of your directory somewhere. Perhaps you deleted the /tftpdirectory and/or the /yaddroot directory without restarting the nfs share.

Just do a service nfs restart and things should work better.

Scart switching problems

Version 0.1
Usage: switch <switches>

Switches:
-h, --help help
-s, --show show current settings
-v, --volume <vol> set TV volume (0-63, 0 loudest)
-m, --mute mute TV volume
-u, --unmute unmute TV volume
-rv, --route-video <dest> <src> route VIDEO
-ra, --route-audio <dest> <src> route AUDIO
-zcd, --zero-cross-detector <on/off> set ZCD
-fnc, --video-function-switch-control <0/1/2/3 set FNC
-ycm, --y-c-mix <0/1> set Y/C Mix (only cxa2092)
-fblk, --video-fast-blanking-control <0/1/2/3> set FBLK
-log1, --logic1 <0/1> set logic output 1
-log2, --logic2 <0/1> set logic output 2
-log3, --logic3 <0/1> set logic output 3
-log4, --logic4 <0/1> set logic output 4
-ttv, --trash-my-tv trashes your tv