How a Linux System boots | Entire Process

Hey Devs! If you're interested in learning Linux or exploring fields like DevOps, this article is the perfect boost for your journey. We will be covering the entire thing in crystal clear and a step-by-step process. The Initial Checkup (BIOS/UEFI) BIOS, also called the Basic Input Output System, or UEFI (modern version of BIOS), is the first software that runs when you power on the system. Its core functionality: Checks if all hardware is working like RAM, CPU, Keyboard, Mouse, etc. This process is also called POST (Power-On Self Test). Finds a bootable device (HDD, SSD, USB, etc.) Loads the bootloader from that device. (You might have seen options like this while installing an OS) Bootloader (GRUB in Linux) GRUB: GRand Unified Bootloader. It loads the Linux Kernel into memory. Its core functionality: Shows a boot menu (helps in dual boot) Loads the Linux kernel Passes control to the kernel Linux Kernel (Brain of a System) You might have gotten confused by reading the word “kernel” several times. Well, the kernel is basically a glue between the hardware and applications in a system. It is the core part of Linux and it manages everything. Its core functionality: Detects your hardware (keyboard, display, USB, etc.) Loads drivers and modules Mounts the root filesystem Starts the first user-space process – init (now it's systemd) init / systemd – The Service Starter It is the first process (PID 1) started by the kernel. Its core functionality: It reads configuration to start services like: Networking SSH Logging Web server, database, etc. Runlevel / Target – Boot Mode Once Linux has started the kernel and systemd, it needs to decide what kind of environment to bring you into, such as: Text-only mode Graphical desktop Single-user recovery mode Login Prompt – Final Use This is the final stage where all services are started: A CLI login (tty terminal) Or a GUI login screen (if graphical.target is set) This is the full tutorial on how a Linux system works and boots. This article was written by Muffakir Ibn Hamid.

Apr 14, 2025 - 10:28
 0
How a Linux System boots | Entire Process

Hey Devs!
If you're interested in learning Linux or exploring fields like DevOps, this article is the perfect boost for your journey.

We will be covering the entire thing in crystal clear and a step-by-step process.

  1. The Initial Checkup (BIOS/UEFI) BIOS, also called the Basic Input Output System, or UEFI (modern version of BIOS), is the first software that runs when you power on the system.

Its core functionality:
Checks if all hardware is working like RAM, CPU, Keyboard, Mouse, etc. This process is also called POST (Power-On Self Test).

Finds a bootable device (HDD, SSD, USB, etc.)

Loads the bootloader from that device. (You might have seen options like this while installing an OS)

  1. Bootloader (GRUB in Linux) GRUB: GRand Unified Bootloader. It loads the Linux Kernel into memory.

Its core functionality:
Shows a boot menu (helps in dual boot)

Loads the Linux kernel

Passes control to the kernel

  1. Linux Kernel (Brain of a System) You might have gotten confused by reading the word “kernel” several times. Well, the kernel is basically a glue between the hardware and applications in a system. It is the core part of Linux and it manages everything.

Its core functionality:
Detects your hardware (keyboard, display, USB, etc.)

Loads drivers and modules

Mounts the root filesystem

Starts the first user-space process – init (now it's systemd)

  1. init / systemd – The Service Starter It is the first process (PID 1) started by the kernel.

Its core functionality:
It reads configuration to start services like:

Networking

SSH

Logging

Web server, database, etc.

  1. Runlevel / Target – Boot Mode Once Linux has started the kernel and systemd, it needs to decide what kind of environment to bring you into, such as:

Text-only mode

Graphical desktop

Single-user recovery mode

  1. Login Prompt – Final Use This is the final stage where all services are started:

A CLI login (tty terminal)

Or a GUI login screen (if graphical.target is set)

This is the full tutorial on how a Linux system works and boots.
This article was written by Muffakir Ibn Hamid.