Linux Boot Process? Best Geeks Know It!

The Linux boot process is a sequence of events that initializes a Linux system from a powered-off state to a fully operational state. The knowledge of Linux boot process is essential when it comes to technical interviews, but sometimes it becomes difficult to remember or recall the key steps in the process. This article discusses a quick and easy way to remember it - Best Geeks Know It! Yes, you only need to remember that.
Best Geeks Know It -> B – G – K – I -> BIOS – GRUB – KERNEL – INIT
This BGKI acronym provides a high-level overview of the Linux boot process. Each step builds upon the previous one, gradually bringing the system to a fully operational state. Of course, there are more detailed processes within each step, but this simplified version should give you a good foundation for understanding and remembering the Linux boot sequence.
Here's a concise expansion of B-G-K-I:
B - BIOS/UEFI
- Performs Power-On Self-Test (POST)
- Checks hardware: CPU, RAM, storage
- Loads MBR (Master Boot Record) or GPT (GUID Partition Table)
- Transfers control to bootloader
G - GRUB
- Located in first 512 bytes of boot drive
- Reads
/boot/grub/grub.conf
- Shows menu with kernel options
- Loads selected kernel +
initramfs
(temporary root filesystem) into RAM - Passes boot parameters to kernel
- Can handle multiple OS boot options
K - KERNEL
- Decompresses itself into RAM
- Initializes hardware and drivers
- Mounts root filesystem, loads
initramfs
- Sets up memory management
- Starts device detection
- Creates kernel threads
I - INIT (systemd in modern systems)
- PID 1 (first process)
- Reads
/etc/inittab
(traditional) or unit files (systemd
) - Sets default runlevel/target
- Starts essential services in order:
- System services
- Network services
- Display manager
- User interface (CLI/GUI)
- Reaches default target state
Key files to remember
/boot/grub/grub.conf
- GRUB configuration
/etc/systemd/system/
- systemd unit files
/etc/inittab
- Init configuration (traditional)
Source: Linux Journal - The Original Magazine of the Linux Community