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
- Switch to 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)