Before getting into the nitty-gritty of Red Hat Linux configuration files, it s important to have a big picture overview of the process. While small changes can keep Red Hat Linux from booting, an understanding of the big picture can help you identify the problem quickly.
When you start your Linux computer, three basic steps are involved in the process. Hardware is initialized through your Basic Input/Output System (BIOS) and is then detected by Linux. The BIOS points to the Linux bootloader. Once the bootloader starts, it opens the kernel. Next, it starts init , the so-called "first program," which then loads your kernel, and moves to initialize other startup programs. Finally, Linux finds the default runlevel and starts all associated processes.
We provide detailed information on each of these processes later in this chapter.
While this is not a book on computer hardware, it s helpful to know some basics. Then it s easy to determine if you have a hardware problem or a Linux problem.
Everything on a standard PC starts with the BIOS. The first step, associated with a series of beeps, is known as the power-on self-test (POST), which checks connections to basic hardware. It looks for other BIOSes related to IDE and SCSI hard drives . It may also detect other basic hardware on your system.
If you re interested in the Linux+ certification exam from CompTIA, you need to know a lot more about PC hardware. For more information, see the Complete PC Upgrade and Maintenance Guide, 2003 Edition (Sybex).
After Linux initiates the loading process through the bootloader, it begins to detect hardware using the kudzu utility. Then it adds modules related to your hardware, using settings stored in /etc/modules.conf . You can analyze the results with the dmesg command. If you re having a hardware problem, a little detective work with dmesg output can help you identify the trouble.
There are two basic Linux bootloaders, the Grand Unified Bootloader (GRUB) and the Linux Loader (LILO). GRUB is the default for Red Hat Linux. LILO is now obsolete, and will probably be removed in some future release of Red Hat Linux.
In either case, the bootloader is used for four purposes:
To select an operating system (if more than one is installed on your computer)
To identify the partition with the appropriate boot files
To locate the kernel
To run the Initial RAM disk to set up the kernel and associated modules
A runlevel is a specific way to organize initialized software in Linux. Different services are started and stopped at different runlevels. When you start Red Hat Linux, it looks to /etc/inittab to determine the default runlevel, which then points to an associated subdirectory of /etc/rc.d to identify the services to kill and start.