Boot process in Redhat
The boot process of Redhat is as explain below for X86 enviornment
- BIOS
- Boot loader
- The Kernel
- Setup user Enviornment
BIOS:
When an x86 system is booted , the processor looks at end of system memory for BIOS (basic Input/output) programs and runs it. Onces its loaded , BIOS test the system look and check for peripherals devices, and then locates a valid device with which to boot the system. Usally it checks any diskeete drives and CD-ROM drives presents for bootable media. Im most cases, the order or drives search while booting is controlled with setting in BIOS, and then it looks on the Master IDE device on primary IDE bus.The BIOS then loads its memory whatever program reside in the first sector of the device called MBR(Master boot record).
Boot Loader:
Boot loader fro x86 are broken in two stages. Ths first staage is small machine code binary on the MBR. Its job is to locate second stage boot loader and loads the first part of it into memory.Once the second staage boot loader is in memory it presents the user with inital Graphical screen showing different operating systems or kernel it has been configured on boot.With the arrow key we can select which kernel to boot and then press enter. Once the second boot loader has detemine which kernal to boot its locates kenel binary in /boot/ directory. Then boot loader will place appropriate RAM disk image called initrd into memory. Once kernel and initrd images is loaded into memeory, the boot loaded into memory, the boot loader hands control of boot process to kernel
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 subsystems, and storage devices. It then looks for the compressed initrd image in a predetermined location in memory, decompresses it, mounts it, and loads all necessary drivers. The kernel then creates a root device, mounts the root partition read-only, and frees any unused memory. Kernel is loaded now. Next step is to setup user enviornment .
Setting up user’s enviornmnet:
This /sbin/init program cordinates the rest of the boot process and configures the enviornment for user.When init process start it becomes parents for all the processes that starts automatically in redhat. The init commands run the /etc/initab scripts which describes how system is setup in each runlevel. The init process satrts all the background process by looking in the appropriate rc directory for runlevel specify in /etc/inittab. When booting to runlevel 5 init program will look in /etc/rc.d/rc5.d/directory to determine which process to start and stop. In run level 5, /etc/inittab runs a script called /etc/X11/prefdm, it will executes the X display manager depending on the contents of /etc/sysconfig/desktop file.
At this point system is operating in run level 5 and is displaying login screen.

Leave a Reply