![]() | |||||||||||
Messages in this thread |
Christoph Hellwig wrote: > On Mon, Oct 22, 2007 at 04:32:19PM +0600, Alexander E. Patrakov wrote: > >>> That's wrong. You can load firmware from the initramfs even if the >>> driver is built in. There is no valid reason why a driver shouldn't >>> be allowed to be built in.>>> >> Could you please explain how this is supposed to work? >>>> As far as I understand, the kernel initializes all built-in drivers, and >> only then starts /init in initramfs (which is then supposed to start >> udevd and load firmware) - but that's too late.>> >> populate_rootfs is a rootfs_initcall which happens before all the driver > initcalls.> Correct, but irrelevant. The firmware indeed gets unpacked to rootfs before all driver initcalls, but stays as a dead weight during them, because udev (started by /init, which happens in init_post() called by kernel_init() after all initcalls) is needed to load this firmware. Yes, there is a call to usermodehelper_init() before the initcalls in do_basic_setup(), this does mean that firmware can be loaded by means of the old and obsolete /sbin/hotplug mechanism, but who has /sbin/hotplug now? -- Alexander E. Patrakov - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2007-10-22 13:31 [from the cache] ©2003-2008 | |||||||||||