An important and powerful aspect of Red Hat Linux is the open method it uses for starting and stopping the operating system. During boot time, Red Hat Linux loads programs in a specific and configurable order. Once booted, you are free to change the configuration files controlling the boot process as well as the configuration files for the programs started at boot-time. Similarly, system shutdown gracefully terminates processes in an organized and configurable way, although customization of this process is rarely required.
Understanding how the boot and shutdown processes work will not only allow you to easily customize Red Hat Linux to your needs, but will also make it easier to troubleshoot problems related to starting or shutting down your system.
Below are the basic stages of the boot process for an x86 system:
The system BIOS checks the system and launches the first stage boot loader on the MBR of the primary hard disk.
The first stage boot loader loads itself into memory and launches the second stage boot loader from the /boot/ partition.
The kernel is loaded into memory, which in turn loads any necessary modules and mounts the root partition read-only.
The kernel hands control of the boot process to the /sbin/init program.
The /sbin/init program loads all services and user-space tools, and mounts all partitions listed in /etc/fstab.
The user is presented with a login prompt for the freshly booted Linux system.
Because configuration of the boot process is more common than the customization of the shutdown process, the remainder of this chapter will discuss in detail how the boot process works and how it can be customized to suite your needs.