Skip to contentSkip to conversation

Netboot fails with multiple interfaces, wireless

DISCUSSION Warren Togami 3 participants 5 messages May 20, 2009 4 messages not in the archive

lore
Share & tools
lore
#0 lore raw

Harald,

I tried your root=dhcp netboot code.

Is it intended that you need both root=dhcp and ip=dhcp? Surely the first implies the second?

So it does successfully mount and NFS root boot, but as I feared it has trouble due to the presence of a wireless device. One thin client I have is Intel Atom with e1000e NIC and iwlagn wireless. It appears to dhcp once successfully on the eth0 ethernet, but its event-driven nature also tries to launch dhclient again on the wlan0. dhclient complains that dhclient is already running and fails.

dhclient wouldn't have succeeded at all on the iwlagn interface because the firmware is lacking from the initrd, and it isn't associated. Also I don't see when it is ever desired to netboot over a wireless interface.

As for excluding wireless interfaces, we should do a few things:
- Do not copy wireless drivers into the initrd. You suggested using /etc/modprobe.d/something.conf to blacklist the driver from loading. We would need a way to blacklist the driver during the initrd without blacklisting it on the host system where the initrd is generated. How?
- Perhaps we should exclude any interfaces named "wlan*" from ifup and dhclient. This works for most devices, but some wireless drivers call the wireless interfaces "eth*".
- I have no idea if it is attempting to ifup and dhclient other devices that appear like wmaster0.

A separate but related matter is what to do if a machine has more than one ethernet interface. It seems the only sane thing you CAN do is ifup and dhclient only on the first interface?

Warren Togami
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#2 lore raw
In reply to a message not in the archive
Quoted 5 lines · Warren Togami

Harald,

I tried your root=dhcp netboot code.

Is it intended that you need both root=dhcp and ip=dhcp? Surely the first implies the second?

I guess a simple patch could set ip=dhcp if root=dhcp is supplied...

Quoted 2 lines

So it does successfully mount and NFS root boot, but as I feared it has trouble due to the presence of a wireless device. One thin client I have is Intel Atom with e1000e NIC and iwlagn wireless. It appears to dhcp once successfully on the eth0 ethernet, but its event-driven nature also tries to launch dhclient again on the wlan0. dhclient complains that dhclient is already running and fails.

That's weird it shouldn't do that, since dhclient is started with an interface option.

Quoted 9 lines

dhclient wouldn't have succeeded at all on the iwlagn interface because the firmware is lacking from the initrd, and it isn't associated. Also I don't see when it is ever desired to netboot over a wireless interface.

As for excluding wireless interfaces, we should do a few things:
- Do not copy wireless drivers into the initrd. You suggested using
/etc/modprobe.d/something.conf to blacklist the driver from loading. We would need a way to blacklist the driver during the initrd without blacklisting it on the host system where the initrd is generated. How?
- Perhaps we should exclude any interfaces named "wlan*" from ifup and
dhclient. This works for most devices, but some wireless drivers call the wireless interfaces "eth*".
- I have no idea if it is attempting to ifup and dhclient other devices
that appear like wmaster0.

I agree there. Wireless drivers shouldn't be included (yet). As for separating ethernet from wireless drivers, why not use 'nm' and disregard those drivers that contain 'ieee802011_register_hw'?

Quoted 2 lines

A separate but related matter is what to do if a machine has more than one ethernet interface. It seems the only sane thing you CAN do is ifup and dhclient only on the first interface?

That depends on your definition of sane. See the nfs/networking patches I sent in march. They're be able to handle all kinds of weird combinations.

Regards,
Philippe
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#4 lore raw
In reply to a message not in the archive
Quoted 48 lines · Seewer Philippe
Quoted 6 lines · Warren Togami

Harald,

I tried your root=dhcp netboot code.

Is it intended that you need both root=dhcp and ip=dhcp? Surely the first implies the second?

I guess a simple patch could set ip=dhcp if root=dhcp is supplied...

Quoted 7 lines

So it does successfully mount and NFS root boot, but as I feared it has trouble due to the presence of a wireless device. One thin client I have is Intel Atom with e1000e NIC and iwlagn wireless. It appears to dhcp once successfully on the eth0 ethernet, but its event-driven nature also tries to launch dhclient again on the wlan0. dhclient complains that dhclient is already running and fails.

That's weird it shouldn't do that, since dhclient is started with an interface option.

Quoted 5 lines

dhclient wouldn't have succeeded at all on the iwlagn interface because the firmware is lacking from the initrd, and it isn't associated. Also I don't see when it is ever desired to netboot over a wireless interface.

Quoted 10 lines

As for excluding wireless interfaces, we should do a few things:
- Do not copy wireless drivers into the initrd. You suggested using /etc/modprobe.d/something.conf to blacklist the driver from loading. We would need a way to blacklist the driver during the initrd without blacklisting it on the host system where the initrd is generated. How?
- Perhaps we should exclude any interfaces named "wlan*" from ifup and dhclient. This works for most devices, but some wireless drivers call the wireless interfaces "eth*".
- I have no idea if it is attempting to ifup and dhclient other devices that appear like wmaster0.

I agree there. Wireless drivers shouldn't be included (yet). As for separating ethernet from wireless drivers, why not use 'nm' and disregard those drivers that contain 'ieee802011_register_hw'?

Quoted 4 lines

A separate but related matter is what to do if a machine has more than one ethernet interface. It seems the only sane thing you CAN do is ifup and dhclient only on the first interface?

Quoted 5 lines

That depends on your definition of sane. See the nfs/networking patches I sent in march. They're be able to handle all kinds of weird combinations.

Regards,
Philippe

Philippe, could you try to rebase your patches on the latest git? If not, I will do so next week.

Warren, nfs now works for me for:
ip=dhcp
root=dhcp, root=192.168.1.1:/mnt/root, root=nfs://192.168.1.1/mnt/root

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#6 lore raw
In reply to a message not in the archive
Quoted 4 lines · Harald Hoyer

Warren, nfs now works for me for:
ip=dhcp
root=dhcp, root=192.168.1.1:/mnt/root, root=nfs://192.168.1.1/mnt/root

You were not reading carefully. I said it does work, except it fails when you have multiple interfaces and it gets confused.

Warren
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#8 lore raw
In reply to a message not in the archive
Quoted 10 lines · Warren Togami
Quoted 4 lines · Harald Hoyer

Warren, nfs now works for me for:
ip=dhcp
root=dhcp, root=192.168.1.1:/mnt/root, root=nfs://192.168.1.1/mnt/root

You were not reading carefully. I said it does work, except it fails when you have multiple interfaces and it gets confused.

Warren

I read that and I know, that it might get confused.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html