Boot flow is the chain of events from the moment power is applied until control is transferred to the kernel.
A computer cannot run programs on its own. It has no concept of "file," "kernel," or "OS." It can only:
- power on
- execute instructions at a predetermined address
- Power is applied
- the processor is reset to its initial state
- registers are set to fixed values
- control is transferred to a predetermined address
- Initial Environment Code
- this is not an operating system
- it is minimal
- its task is to prepare the launch of the next stage
- Boot Loader
- finds the kernel
- loads it into memory
- prepares the environment
- transfers control to the kernel
- Kernel
- from this point on, the system is "alive"
- is further controlled by the kernel
The kernel does not boot first. It always arrives at an already partially prepared environment and must be able to:
- accept control
- continue initialization
- not rely on anything "ready-made"