Re: Booting a modular kernel through a multiple streams file / Making Linux multiboot capable and grub loading kernel modules at boot time.

H. Peter Anvin
2001-12-20T06:58:43Z

Eric W. Biederman wrote:

>
>>Followup to: <m1zo4fursh.fsf@frodo.biederman.org>
>>By author: ebiederm@xmission.com (Eric W. Biederman)
>>In newsgroup: linux.dev.kernel
>>
>>>Which just goes to show what a fragile firmware design it is, to have
>>>firmware callbacks doing device I/O. I think the whole approach of
>>>having firmware callbacks is fundamentally flawed but I'll do my best
>>>to keep it working, for those things that care. If it works over 50%
>>>of the time I'm happy...
>>>
>>>
>>NAK. You can make it perfectly robust thankyouverymuch, as long as
>>you don't try to *mix* firmware and poking directly at the
>>hardware... this is a classic "who owns what" class problem.
>>
>
> I agree that I could keep it working as well as it ever would. Not
> that x86 firmware or any software is ever perfectly working.
>

True enough; I guess what I meant is you can design it so that it is *no
less unreliable than the underlying firmware*.

> At this point in time I live in a world where 99+% of the time the
> hardware is owned by the operating system, and the firmware is just
> there to get the operating system loaded, and to hold details about
> the motherboard that the operating system can not find out by probing
> the hardware.

Right. My point was that you want to treat the transition as modal --
you have "boot mode" and you have "runtime". My work was to build a
Linux kernel derivative which could run in "boot mode" and therefore not
require drivers. The intent was that this "boot mode" kernel would then
load the real "runtime" kernel and transition to it.

My comment was mostly that there is a persistent myth that you can't use
the x86 firmware from protected mode. You can't, directly, but you can
get the functionality through other means. This is hardly a new
technique; in fact, it's very similar to the DOS extenders of old times;
in fact, it's somewhat simpler.

-hpa