[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <487D1925.50008@garzik.org>
Date: Tue, 15 Jul 2008 17:39:49 -0400
From: Jeff Garzik <jeff@...zik.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Theodore Tso <tytso@....edu>, david@...g.hm,
Arjan van de Ven <arjan@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Woodhouse <dwmw2@...radead.org>,
alan@...rguk.ukuu.org.uk, linux-kernel@...r.kernel.org
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel,
use it in more drivers.
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists