BIOS startup ??

jdow jdow at earthlink.net
Sun Aug 19 18:35:04 UTC 2007


From: "William Case" <billlinux at rogers.com>

> Hi;
> 
> I didn't want to steal a thread from someone who has a real problem, but
> an issue was raised in the thread entitled 'Grub' by Marko Vojinovic
> that has been bothering me for a long time.
> 
>        "And to my surprise, there the question was repeated, more
>        specific: "what happens between the points of pushing the power
>        button and the point when OS starts to load?" ;-)
>        
>        I was amazed !! The sequence of actions was explained in a way
>        that did not need any too technical background knowledge, while
>        at the same time it was extremely detailed. It started off along
>        the lines of "voltage on the circuitry rises, and the oscillator
>        starts ticking. The first few ticks activate a circuit that
>        sends a reset signal to the processor...".
>        
>        The moral of the story: it was way more complicated than I
>        thought, while the author was stating that the answer is
>        somewhat oversimplified..."
> 
> I have been trying to find that answer for some time now. 
> 
> What happens in the micro-seconds between hitting the power button until
> BIOS is loaded from CMOS into RAM memory?  There is lots of information
> available about what happens next.
> 
> I have googled etc. for a source of this information.  There is none
> that I can find.  As I said, lots of 'How BIOS works' none on 'How power
> up/on works'.  Any directions, recommended reading or explanations would
> be warmly appreciated.

BIOS is not stored in CMOS. It is in an EEPROM (or similar) these days.
So power turns on and CPU execution begins at the "usual" address.
CMOS is at a fixed address known to the BIOS so it simply reads it as
needed. Between the time power is applied and the first video appears
on screen some basic CPU, EEPROM, various hardware features, minor amounts
of RAM, setup and checks are made. These are things like "Is the EEPROM
checksum OK?" "Is the CPU executing properly?" "Initialize the various
hardware features and test them." And so forth. Some tests require minor
amounts of ram. So setting up the path to the RAM is probably first. Then
a small bit, hundreds of bytes, is checked and used. Then, for example,
the onboard serial ports, parallel ports, and such can be initialized to
safe states and some quick checks performed on them.

But the first thing the CPU needs to do is find the EEPROM.

That's a rather brief description. I hope it gives the flavor of the
matter, though.

{^_^}




More information about the fedora-list mailing list