Operation Manual

tual operating system, in this case, the Linux Kernel. More information about GRUB,
the Linux boot loader, can be found in Chapter 18, The Boot Loader GRUB (page 249).
3.
Kernel and initramfs To pass system control, the boot loader loads both the
Kernel and an initial RAM–based le system (initramfs) into memory. The
contents of the initramfs can be used by the Kernel directly. initramfs contains
a small executable called init that handles the mounting of the real root le system.
If special hardware drivers are needed before the mass storage can be accessed, they
must be in initramfs. For more information about initramfs, refer to Sec-
tion 17.1.1, initramfs (page 234).
4.
init on initramfs This program performs all actions needed to mount the proper
root le system, like providing Kernel functionality for the needed le system and
device drivers for mass storage controllers with udev. After the root le system has
been found, it is checked for errors and mounted. If this is successful, the initramfs
is cleaned and the init program on the root le system is executed. For more informa-
tion about init, refer to Section 17.1.2, “init on initramfs (page 235). Find more
information about udev in Chapter 20, Dynamic Kernel Device Management with
udev (page 285).
5. init init handles the actual booting of the system through several different levels
providing different functionality. init is described in Section 17.2, “The init Process”
(page 237).
17.1.1 initramfs
initramfs is a small cpio archive that the Kernel can load to a RAM disk. It provides
a minimal Linux environment that enables the execution of programs before the actual
root le system is mounted. This minimal Linux environment is loaded into memory
by BIOS routines and does not have specic hardware requirements other than sufcient
memory. initramfs must always provide an executable named init that should execute
the actual init program on the root le system for the boot process to proceed.
Before the root le system can be mounted and the operating system can be started,
the Kernel needs the corresponding drivers to access the device on which the root le
system is located. These drivers may include special drivers for certain kinds of hard
drives or even network drivers to access a network le system. The needed modules
for the root le system may be loaded by init on initramfs. After the modules are
234 Reference