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