I'm trying to understand the very first steps of the boot process.
The CPU read the BIOS
- It reads a fixed address instruction
- It will jump to the first BIOS instructions address
- It will execute the code
- It will do the "Power-On Selt Test", check devices and find first bootable device
The Bios will then read the MBR to load the primary boot loader
- The primary boot loader will execute the loader's second stage (ex: Grub)
- The loader's second stage will load the Kernel in memory
My question are:
- When the BIOS read and load the primary boot loader in memory, are we talking the RAM memory?
- Can the CPU address directly (read instructions) from the HDD without loading the content into RAM (we disregard performance issue here)?
- Same question for the BIOS: is it read directly or loaded in RAM before execution?