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 |}} |