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 specic hardware requirements other than sufcient
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










