Linux Boot Process Diagram
flowchart TD
A["Power On: Hardware Initialization"] --> B["BIOS/UEFI: Firmware Init, hardware checks, find boot device"]
B --> C["Boot Loader (GRUB/LILO/etc): load kernel, load initrd"]
C --> D["Kernel Loading: decompress, initialize, hardware detect"]
D --> E["initrd/initramfs: temporary rootfs, load drivers, mount real root"]
E --> F["Real Root FS: mount it and switch to the real filesystem"]
F --> G["Init System (systemd/SysV): start services, user processes"]
G --> H["Login Prompt, User Space: desktop/shell, applications"]
style A fill:#ff9999
style B fill:#ffcc99
style C fill:#ffff99
style D fill:#ccff99
style E fill:#99ffcc
style F fill:#99ccff
style G fill:#cc99ff
style H fill:#ff99cc
Boot Process Steps Explained
- Power On - Hardware initialization, CPU starts
- BIOS/UEFI - Firmware tests hardware, locates boot device
- Boot Loader - GRUB loads kernel and initial ramdisk into memory
- Kernel - Decompresses, initializes, detects hardware, starts init
- initrd/initramfs - Temporary filesystem loads essential drivers
- Real Root - Mounts actual root filesystem, switches from initrd
- Init System - Starts system services and daemons
- User Space - Login manager, desktop environment, user applications
Key Files/Locations:
- /boot/vmlinuz* - Kernel image
- /boot/initrd* - Initial ramdisk
- /boot/grub/ - GRUB configuration
- /etc/fstab - Filesystem mount points
- /sbin/init - First user process (PID 1)