Fri May 8 17:57:39 CEST 2009


It's been a while since I got this to work..  One note: apparently 2.6
kernels won't boot with mknbi.  Might be the reason why I couldn't get
it to work :)

0. I had to do this (tftpd broken)[1]

 sudo apt-get remove tftpd
 sudo apt-get install tftpd-hpa

Do something like this to see if it's properly setup:

tom@del:~$ cat /etc/inetd.conf  |grep tftpd
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

1. setup dhcp to include the "filename" attribute.  For me I have this
   point to "boot".  on del (laptop in the field) this is done by
   bridging the br0 to eth0 (while running off of eth1 wifi).  the br0
   has dhcpd configured.

brctl addif br0 eth0

   The previous for some reason doesn't work..  Packets don't make it
   to the bridge.  Using plain dsnmasq:

./masq eth0 1.2.3

   Same problem..  Packets come in but don't make it to the app.
   Cable or firewall settings?

2. get gPXE to work on the target system.  Easiest is to put a .lkrn
   file and use grub from the local harddisk, or use a boot floppy or
   proper network ROM.  (i never managed to get the ROM work though..
   It did work with the old 3Com cards and built-in netboot support)

3. in /tftpboot make sure the boot image name obtained from dhcp links
   to pxelinux.0 (which is in the syslinux distribution)

4. create configuration files /tftpboot/pxelinux.cfg
   easiest is one per host like:

   LABEL linux
	KERNEL xenomai
	APPEND root=/dev/nfs ip=dhcp

[1] http://www.minimyth.org/forum/viewtopic.php?p=10306&sid=76114d43358d0917f6b6591fb301a726
[2] http://zwizwa.be/darcs/pool/bin/masq