7
Booting a Linux System
Booting a Linux system involves different components and tasks. The hardware itself
is initialized by the BIOS or the UEFI, which starts the Kernel by means of a boot
loader. After this point, the boot process is completely controlled by the operating system
and handled by systemd. systemd provides a set of “targets” that boot setups for
everyday usage, maintenance or emergencies.
7.1 The Linux Boot Process
The Linux boot process consists of several stages, each represented by a different
component. The following list briey summarizes the boot process and features all the
major components involved:
1. BIOS/UEFI After turning on the computer, the BIOS or the UEFI initializes the
screen, and keyboard and tests the main memory. Up to this stage, the machine does
not access any mass storage media. Subsequently, the information about the current
date, time, and the most important peripherals are loaded from the CMOS values.
When the rst hard disk and its geometry are recognized, the system control passes
from the BIOS to the boot loader. If the BIOS supports network booting, it is also
possible to congure a boot server that provides the boot loader. On x86 systems,
PXE boot is needed. Other architectures commonly use the BOOTP protocol to get
the boot loader.
2. Boot Loader The rst physical 512-byte data sector of the rst hard disk is loaded
into the main memory and the boot loader that resides at the beginning of this sector
takes over. The commands executed by the boot loader determine the remaining part
Booting a Linux System 127