network NFS DHCP boot fails on multiple NIC machine
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Fix Released
|
Undecided
|
Colin Watson |
Bug Description
Binary package hint: initramfs-tools
background: When using initramfs-tools on Gutsy and PXE booting a machine (using dhcpd, tftpd, pxelinux) with multiple network interfaces, the NIC drivers are loaded in some order (influenced by udev) , and by default "ipconfig" chooses eth0 for DHCP/RARP autoconfiguration.
To get initramfs-tools to generate such an initrd, I set BOOT=nfs and MODULES=netboot in /etc/initramfs-
Assuming only 1 NIC is connected to a network setup for network booting, if the NIC that gets to be eth0 after kernel/initrd is loaded is the same as the one BIOS used to PXE boot, things work alright. If Linux gives that NIC another name, say eth1, then things do not work. ipconfig command is used ( from klibc-tools pkg ), and without any options, it claims to try all interfaces, however it only seems to print:
IP-Config:eth0 hardware addresss 00:01:02:03:04:05 mtu 1500 DHCP RARP
[29.123456] eth0: no link durring initialization
and pauses forever, since there is only 1 cable connected, to what linux calls eth1
Related branches
Changed in initramfs-tools: | |
assignee: | nobody → kamion |
status: | New → Fix Committed |
Passing the option "ip=all" to kernel at boot causes /usr/share/ initramfs- tools/scripts/ nfs to pass the argument "all" to ipconfig, with the following result:
IP-Config:eth0 hardware addresss 00:01:02:03:04:05 mtu 1500 DHCP RARP
[29.123456] eth0: no link durring initialization
IP-Config:eth1 hardware addresss 00:01:02:03:04:06 mtu 1500 DHCP RARP
[29.123456] tg3: eth1: link up 100mbit/s etc
then it displays all the DHCP details, and waits forever
I added the -t timeout flag, and wildcard for picking up the config results, see attached patch.
With the patch and "ip=all" kernel boot argument, booting succeeds.