Installation guide

For instructions on using the boot loader to supply command line arguments to the kernel, refer
to Chapter 9, The GRUB Boot Loader. For information on changing the runlevel at the boot
loader prompt, refer Section 8, “Changing Runlevels at Boot Time”.
The boot loader then places one or more appropriate initramfs images into memory. Next, the
kernel decompresses these images from memory to /sysroot/, a RAM-based virtual file system,
via cpio. The initramfs is used by the kernel to load drivers and modules necessary to boot the
system. This is particularly important if SCSI hard drives are present or if the systems use the
ext3 file system.
Once the kernel and the initramfs image(s) are loaded into memory, the boot loader hands
control of the boot process to the kernel.
For a more detailed overview of the GRUB boot loader, refer to Chapter 9, The GRUB Boot
Loader.
2.2.1. Boot Loaders for Other Architectures
Once the kernel loads and hands off the boot process to the init command, the same se-
quence of events occurs on every architecture. So the main difference between each architec-
ture's boot process is in the application used to find and load the kernel.
For example, the Itanium architecture uses the ELILO boot loader, the IBM eServer pSeries ar-
chitecture uses yaboot, and the IBM System z systems use the z/IPL boot loader.
2.3. The Kernel
When the kernel is loaded, it immediately initializes and configures the computer's memory and
configures the various hardware attached to the system, including all processors, I/O subsys-
tems, and storage devices. It then looks for the compressed initramfs image(s) in a predeter-
mined location in memory, decompresses it directly to /sysroot/, and loads all necessary
drivers. Next, it initializes virtual devices related to the file system, such as LVM or software
RAID, before completing the initramfs processes and freeing up all the memory the disk image
once occupied.
The kernel then creates a root device, mounts the root partition read-only, and frees any unused
memory.
At this point, the kernel is loaded into memory and operational. However, since there are no
user applications that allow meaningful input to the system, not much can be done with the sys-
tem.
To set up the user environment, the kernel executes the /sbin/init program.
2.4. The /sbin/init Program
The /sbin/init program (also called init) coordinates the rest of the boot process and config-
ures the environment for the user.
When the init command starts, it becomes the parent or grandparent of all of the processes
that start up automatically on the system. First, it runs the /etc/rc.d/rc.sysinit script, which
sets the environment path, starts swap, checks the file systems, and executes all other steps re-
2.3. The Kernel
300