Installation guide
When an x86 computer is booted, the processor looks at the end of system memory for the Basic
Input/Output System or BIOS program and runs it. The BIOS controls not only the first step of the boot
process, but also provides the lowest level interface to peripheral devices. For this reason it is written
into read-only, permanent memory and is always available for use.
Other platforms use different programs to perform low-level tasks roughly equivalent to those of the
BIOS on an x86 system. For instance, Itanium-based computers use the Extensible Firmware Interface
(EFI) Shell.
Once loaded, the BIOS tests the system, looks for and checks peripherals, and then locates a valid
device with which to boot the system. Usually, it checks any diskette drives and CD-ROM drives
present for bootable media, then, failing that, looks to the system's hard drives. In most cases, the
order of the drives searched while booting is controlled with a setting in the BIOS, and it looks on the
master IDE device on the primary IDE bus. The BIOS then loads into memory whatever program is
residing in the first sector of this device, called the Master Boot Record or MBR. The MBR is only 512
bytes in size and contains machine code instructions for booting the machine, called a boot loader,
along with the partition table. Once the BIOS finds and loads the boot loader program into memory, it
yields control of the boot process to it.
33.2.2. T he Boot Loader
This section looks at the default boot loader for the x86 platform, GRUB. Depending on the system's
architecture, the boot process may differ slightly. Refer to Section 33.2.2.1, “ Boot Loaders for Other
Architectures” for a brief overview of non-x86 boot loaders. For more information about configuring
and using GRUB, see Chapter 9, The GRUB Boot Loader.
A boot loader for the x86 platform is broken into at least two stages. The first stage is a small
machine code binary on the MBR. Its sole job is to locate the second stage boot loader and load the
first part of it into memory.
GRUB has the advantage of being able to read ext2 and ext3 partitions and load its
configuration file — /boot/grub/grub.conf — at boot time. Refer to Section 9.7, “GRUB Menu
Configuration File” for information on how to edit this file.
Note
If upgrading the kernel using the Red Hat Up d at e Ag en t , the boot loader configuration file
is updated automatically. More information on Red Hat Network can be found online at the
following URL: https://rhn.redhat.com/.
Once the second stage boot loader is in memory, it presents the user with a graphical screen
showing the different operating systems or kernels it has been configured to boot. On this screen a
user can use the arrow keys to choose which operating system or kernel they wish to boot and press
Enter. If no key is pressed, the boot loader loads the default selection after a configurable period of
time has passed.
Once the second stage boot loader has determined which kernel to boot, it locates the corresponding
kernel binary in the /boot/ directory. The kernel binary is named using the following format —
/boot/vmlinuz-<kernel-version> file (where <kernel-version> corresponds to the kernel
version specified in the boot loader's settings).
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 9.8, “ Changing Runlevels at Boot Time” .
[13]
Red Hat Ent erprise Linux 5 Inst allat ion G uide
34 0