What's all that for?

Matthias Wächter matthias at waechter.wol.at
Tue Feb 2 23:41:55 CET 1999


Hi!

Well, the message is important (from my point of view), but I hope you
will receive it just once :-) 

A few months ago, I was searching for options to building a BIOS for a
custom PC: No graphics card, no hard disk, with sound card, network card
(well, say: an MP3 player for the HiFi tower). Of course, I wanted to
avoid anything I would not need and I wanted to have anything I need to
boot up the thing quickly and easily.

As you see, I found the openbios movement, but what I found was, say,
nothing but a vision. Neither a concept nor an idea. Just a vision. A
vision of building something similar to what we all already have in our
PCs. Of course, the idea of reinventing the BIOS-wheel is great and I
thought: Hey, finally _we_ have the choice of how the PC boots up, we can
work around any hard disk or booting problem by ourselves. 

But as far as I can see the intentions grown up to now, we just sit in
here and construct a new BIOS after the Phoenix, AMI, Award etc. with the
same API (for best compatibility) which means, with the same main booting
features. The idea of booting directly from 32 bit mode was fascinating
for me, but what's it for if we have to switch back to 16 bit, implement
all API calls again just to boot any OS. I thought, the main purpose of a
new BIOS would not _only_ be the fact that it is OSS. We would have the
opportunity to make something very new, especially concerning the boot
process. The idea of putting the remote boot BIOS directly into the system
BIOS is great - but what's it for if we don't invent something really new?

Of course, this is a large project, and my ideas make it even larger :-). 
But, would f.e. Linux be that great if it would have just been a "better
DOS", say, an "OSS DOS"? OK, it would be for free, but what for? 

OK, back to topic: My idea (better: brain storm) of the boot process is as
follows: 

1) Processor switches to 32 bit. 32bit only, no compatibility API in the
MAIN BIOS. Well, I think after we implemented all in 32bit, there will be
not very much space left for such things.

1a) If, somehow, 16bit compatibility is needed, we could easily
implement (if one wants to call it that way) a loader for the old BIOS.
Well, only if the BIOS behaves "well" and doesn't try to reload parts
directly from the EEPROM chip (well, there is shadow RAM etc. and I am
not familiar with it anyway). Alternatively, one (of us) could implement
a new 16bit API to enable such compatibility mode. Of course, this topic
is not yet finished in any way.

2) (1) implies, that we need NEW OS LOADERS FOR EVERY OS running with this
BIOS. Of course, 32bit OSS OSes (FreeBSD, Linux) are easy to handle, Win9x
with its DOS loader will certainly not run if booted from 32 bit mode
(i.e. will neeed option (1a) or others). Windows NT could profit from our
ideas, too, but we would need strong support from MS to locate and setup
the NT kernel and all its modules and configurations etc. in memory and to
boot it correctly. Other OSes would profit, too, because they all have the
same problems: 504MB, 8GB, many others, and of course, the other problems
with the old, old API16.

3) The API. Two main options: Interrupts (like in API16, DOS, etc.) or
Library calls, which would mean that the BIOS would contain something
like a mini-Kernel. Great idea, free for discussion and further
development...

3a) support for new hardware and, compared to API16, its changed role in
boot-up in the API. F.e. Network Cards as (a) Input (remote boot) and (b)
Output (total remote control), of course serial ports, USB, firewire ...
modularized (f.e. burn-time selectable).

3b) Security API, support for random number devices and security devices
to allow security immediately after/at boot up. Eventually strong
encryption/authentication, including passphrase etc.

4) fast boot up, quick OS restore supported by BIOS (well, similar to
ACPI).

5) primary hardware setup, but no tuning options at boot time (neither in
BIOS setup nor applied by the BIOS itself). Setup options only for primary
BIOS duties like boot device selection and according parameters.

Well, the main topics from my point of view for now. A very flat point of
view, but a beginning, I think.

Winscheichwos,
- Matthias

-- 
Der Wein mit der Pille ist in dem Becher mit dem Fächer.
-----------------------------------------------------------------------------



More information about the openbios mailing list