Messages in this thread | | | Date | Sun, 7 Dec 2008 17:28:55 +0000 | From | Alan Cox <> | Subject | Re: Runaway loop with the current git. |
| |
> > /dev/console is a logical mapping to a device which may well be > > different, loaded after PCI is initialised and dependant on PCI. > > So wrong. If no driver is associated, like early, in that case, we > must return -ENODEV, instead of calling modprobe in a loop. It's a > built-in device, and it's easy to fix.
You've clearly no idea how initrd even works have you ? If it just returned -ENODEV you wouldn't be able to open the console and you wouldn't trigger the loading of the module to get the console running. So you've now completely buggered the boot process.
The correct sequence is
Open device Kernel issues hotplug message Hotplug script loads drivers to policy
The problem case you have due to initrd bugs is
Open device Kernel issues hotplug message Hotplug script opens same device (BUG) Kernel issues hotplug message ..... Kernel detects this is stuck Kernel replies with -ENODEV/-ENXIO to try and rescue itself from buggy initrd scripts
That is how it has worked since we first had script based module requesting which is some years now.
| |