nfsroot + multiple ethernet interfaces == boom
Binary package hint: initramfs-tools
Tested on Hardy Heron.
Doing a PXE boot with NFS root on a machine with multiple network interfaces is ... interesting as the order in which the kernel/udev detect the interfaces is not necessarily the same as the PXE option rom.
In other words - say you have two interfaces, only one of which you can NFS boot off. Machine boots - PXE boots from that interface, gets IP and tftp information from dhcp server, finds tftp server, gets kernel and initrd, boots kernel, loads initrd.... and then it tries to load its nfs root filesystem.
We've passed ip=dhcp on the command line, as that's darn handy.
Unfortunately, the kernel/udev find the other interface first, and the machine tries to load the nfs root fs from the wrong interface. Booting fails.
The solution is obvious - you make sure the network interfaces are detected in the right order via /etc/udev/
However, that file is not in the list of udev files copied into the initrd by initramfstools. See line 39 in /usr/share/