Re: Linux OS boilerplate

Eric W. Biederman
2001-02-19T13:07:00Z

Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> > I've been poring over the x86 boot code for a while now and I've been
> > considering writing a FAQ on the boot process (mostly for my own use,
> > but maybe others will be interested). This would include all relevant
> > information on setting up the x86 hardware for a boot (timers, PIC, A20,
> > protected mode, GDT, initial page tables, initial TSS, etc).
>
> It would certainly be a valuable piece for the kernel Documentation dir.
> Paticularly as people with embedded x86 grow keener and keener to boot
> biosless to save money and flash.

Actually biosless is nice. You don't actually need to do things like enable
a20 as there isn't a BIOS to disable it...

As for working code see the linuxBIOS project. http://www.linuxbios.org
There aren't a lot of chipsets supported yet but progress is being made.
And you do need something like a BIOS to enable memory and cache
before you jump to the linux kernel.

Alan working on all booting x86 biosless, keeps making me chuckle over
your hatred towards BIOSes, it is absolutely amazing what linux
assumes the BIOS will setup correctly. With linux-2.4 able to do a
complete PCI bus setup it isn't as bad it used to be, but it's still
pretty significant.

You wouldn't happen to know a good place to put drivers for superio
chips, and pci-isa bridges with the superio functions integrated?

I should have a proposal written up (and the code to implement it) in
the next month, on how to change the boot process to be more friendly
to BIOS less situations. What we do with the ``empty_zero_page'' is
nasty, and it isn't even the empty_zero_page.

And if anyone has any questions on how the boot process works,
I'd be glad to answer specific questions. As I've traced it fairly
thoroughly.

Eric