Matthew Sullivan wrote:
Hi
Charles Esson wrote:
A bios has to provide enough support to load a program. Now where are you going to load the program from. A floppy, nope that's stupid. From harddisk, why, what great note from heaven said all computers come with a hard disk.
Failsafe loading? Should be from a floppy/network/any other device that doesn't need a lot of code to initialize and grab code from... (or one that does, but comes with it's own initialization code - see below)
It is my view the network is the only sensible place to load it from.
So a bios has to load a OS ( application),
Not so...
Why not, to a boot loader a OS is nothing more than an application. If you look at open boot you will see there are options to leave the loader in memory with open boot code allocating memory to the OS on request, and dealing with the OS's I/O. It seem like a logical thing to to. The OS provides the API the user applications expect. The BIOS provides a hardware independent layer for the OS. Under NT it is the HAL, under Apple and sun it's open boot.
Once upon a time the IBM pc double boot made sense. Today with flash being what it is, it makes no sense.
and has to have network code so it can load from the logical location.
This shouldn't be too dificult anyhow, if you have a netcard boot prom, the code from that could be used to get a config/boot file,
You have made a large assumption about the boot hardware, not a wise thing for a bios to do.
and in the 'safe' code mode, a flash image be collected instead of the normal boot code.
Loading the OS is a minor issue, providing a device independent layer for the OS that is the big one..
Floppy disk support should be used, you might find that the 'safe' image with IDE code will get to big to have it in a failsafe area.
A few more years and floppy disks will be something we remember. I won't remember them fondly, too many boot block viruses, and failed floppies for me to have happy memories.
Regards Charles Esson
In a perfect world the bios should hide from the OS the hardware. New hardware should be able to add CPU independent drivers.
For a well thought out and complete answer to this question take look at IEEE 1275. Unfortunately like all complex questions the complete answer is not simple to follow.
Now for the last statement, nobody is doing embedded control.
Yes I am, and I will ask the question, for embedded control why do you want to boot an OS. You can fit a lot of code ( including the OS) in a $10 flash.
Yours
Matthew
PS Appologies if you were not refering to the 'protected' (failsafe) bios code.