Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel,use it in more drivers.

From: Jeff Garzik
Date: Tue Jul 15 2008 - 17:40:32 EST


Linus Torvalds wrote:

On Tue, 15 Jul 2008, Jeff Garzik wrote:
Kernel 2.6.26. Older userland w/ initrd requirement, plus module w/
compiled-in firmware.

Simply dropping 2.6.27 into that situation will produce an unbootable system,
since the firmware would not get copied into the initrd.

Umm. Neither would the module.

Sure it would.

Normal kernel build with modules, older userland (with older initrd).

'make modules_install && make install' will
* install modules in /lib
* install firmware in /lib [2.6.27 only]
* install kernel
* update grub
* rebuild initrd

Do this, under both 2.6.26 and 2.6.27.

2.6.26 will put a working driver into initrd.

2.6.27 will put a dead driver into initrd (because no firmware got copied into initrd image).


Or are you rebuilding the module into the initrd? If so, why didn't you do the firmware too and my "load directly from file" idea which is pretty simple? IOW, what's the fundamnetal problem here?

The firmware doesn't get copied into the initrd, because it is an automated process (older mkinitrd) that is unaware of the need to copy the firmware into the initrd.

Do the same build process on 2.6.26 and 2.6.27, and you WILL get different results on older userlands, for the same simple reason: the scripts do not know to copy the firmware when they copy the kernel module.


But hey, if you _do_ the "link it together", go ahead. I don't see why

Great! I will :)


it's so magically superior, but I wanted it for the compiled-in driver case, so it's not fundamentally different from that either.

It's not magically superior, just a necessary tool that helps avoid a whole class of regressions, keeps us working on older userland, etc., etc.

Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/