#compsci 

## Stages
1. [[BIOS]]/[[UEFI]] initialises the hardware and makes sure with a [[POST]] that all the hardware is good to go. It then loads the bootloader.
2. The bootloader loads the kernel into memory and then starts the kernel with a set of kernel parameters.
3. When the kernel is loaded, it immediately initializes devices and memory
4. Kernel loads the init process

## Bootloader
Kernel parameters:
- ro - read-only
- quiet - don't show display messages
- splash - lets the splash screen be shown

## Kernel
Since not all drivers are available to the kernel during bootup, the kernel uses a temporary root filesystem - initramfs. Then kernel mounts the root partiiton in read-only to let fsck check it, then remounts the root with rw permissions and executes the init program.