Dear Colleagues, Debian Lenny has a problem when booting via PXE with hardware which have multiple ethernet devices.
E.g. a HP DL365 with 4 NICS, 2 On Board Broadcoms and a Dual NIC Intel Addon Card. Now you think normally the onboard NICs (one of the two) will be the choosen one you are booting from via PXE. This is correct, but the kernel and UDEV are enumerating diffrently and the next phase after /scripts/live-premount is to configure the network after kernel booting. UDEV tries directly to use device "eth0" but this is sadly not the booting device (which is in this case eth2). Now, the documentation of initramfs and ipconfig and kernel tells us, we should use the "ip" kernel append parameter. THIS DOESN'T WORK! (It works in SID, but not Lenny) Why? Since freeze of Lenny the used initramfs tools were improved and fixed. For lenny, the "bad script" is "/usr/share/initramfs-tools/scripts/live" And the bugger line is "ipconfig -d ${DEVICE} | tee /netboot.config" In later versions of initramfs this functionality is removed completly (the live* scripts are not existing anymore). The new functionality (/usr/share/initramfs-tools/scripts/functions -> func: configure_networking) works as documented, so replacing the, above mentiond, line in the "live" script with the "case" switch from the "configure_networking" func (adding "| tee /netboot.config" ) from later versions of initramfs gives the wished result. You can set now in the pxelinux.cfg/<IP/GGUID> files now the kernel append line to something like this: ip=:::::<your boot eth device with the right enumeration>:dhcp and the kernel will do the ipconfiguration without any problems after kernel boot. I think this is a serious regression to former versions of the Kernel and FAI and can raise many problems. I think the same regression we have also in Ubuntu Hardy (this is something I have to check). If there is a possibilty to ship a fixed initramfs for lenny inside FAIs .deb repository I'm happy to fix this issue especially for FAI on lenny. Actually this is an easier workaround of UDEVS/Kernel strange device enumeration and is not as difficult then the documented workaround on the FAI wiki: http://faiwiki.informatik.uni-koeln.de/index.php/Multi-ethernet Another idea is to replace some functionality of initramfs with a sane detection of ethernet boot devices, most probaly a documented idea on http://codtech.com/wiki/index.php/Ipconfig would help too.. it really looks like that the ipconfig script doesn't detect any timeouts and waits forever. What should we do? Regards, \sh -- | Stephan '\sh' Hermann | OSS Dev / SysAdmin | | JID: s...@linux-server.org | http://www.sourcecode.de/ | | GPG ID: 0xC098EFA8 | http://leonov.tv/ | | FP: 3D8B 5138 0852 DA7A B83F DCCB C189 E733 C098 EFA8 |