This shows you the differences between two versions of the page.
|
ass:cursuri:01:theory:03 [2023/07/16 20:35] florin.stancu [The boot process] |
ass:cursuri:01:theory:03 [2023/07/16 22:31] (current) florin.stancu [The boot process] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ==== The boot process ==== | ==== The boot process ==== | ||
| + | |||
| + | Remember the simplicity of x86's boot process? | ||
| + | When you turned on the computer, the BIOS would initialize all required components and peripherals (RAM, keyboard and disks). | ||
| + | After that, it would iterate through all persistent storage devices (in a configurable order) and pick the first one where a bootloader is detected to be installed in the first 512 bytes sector and continue with the execution from there! The bootloader would, optionally, present a menu to the user to choose an operating system (with a timeout autoselection), load kernel into memory and voila, startup process complete! | ||
| + | |||
| + | Unfortunately, things are not that simple in a ARM ecosystem: | ||
| {{ :ass:laboratoare:01:theory:arm_booting_process.png?750 |}} | {{ :ass:laboratoare:01:theory:arm_booting_process.png?750 |}} | ||