Search This Blog

Sunday, April 10, 2016

RHEL 7 Boot Process in 4 Phases

    The Firmware Phase
    1.            Power on Self Test , and all hardware are checked, while doing this, it installs appropriate driver for video hardware and begins displaying system messages on screen.
    2.            The firmware is the BIOS or the UEFI (Unified Extensible Firmware Interface) code that is stored in flash memory on the x86 system board scans the available storage devices to locate the boot devices.
    3.            As soon as it discovers a usable boot devices, it load boot loader program called grub2, into memory and pass control over to it.

    The GRUB Phase
    1.            After GRUB2 is loaded into memory and take control, it searches for the kernel in the /boot file system. It extract the kernel code from /boot into memory, decompresses it, and loads it based on the configuration defined in the /boot/grub2/grub.cfg file.
    For UEFI-based systems, GRUB2 looks for the EFI system partition /boot/efi instead, and runs the kernel based on the configuration defined in the /boot/efi/EFI/redhat/grub.efi file.
    2.            Once the kernel is loaded, GRUB2 transfer the control over to it for furthering the boot process.

    The Kernel Phase
    1.            After getting control from GRUB2, the kernel loads the initial RAM disk (initrd) image from the /boot file system into memory after decompressing and extracting it.
    2.            The kernel then mounts this images as ready-only to serve as a temporary root file system. This allows the kernel to bypass mounting the actual physical root file system in order to be fully functional.
    3.            The kernel loads necessary modules from the initrd image to allow access to the physical disk and the partitions and file systems therein. It also loads any required drivers to support the boot process.
    4.            Later, the kernel unmount the initrd image and mounts the actual root file system in read/write mode. At this point, the necessary foundation is built for the boot process to carry on and start loading the enabled services.

    The Initialization Phase
    1.            Now systemd takes over control from kernel and continues the boot process. In RHEL7, systemd has replaced both SysVinit and Upstart as the default system initialization scheme.
    2.            Systemd starts all enabled userspace system and network services, and brings the system up to the preset boot target.
    3.            The system boot process is considered complete when all enabled services are operational for the boot target and users are able to log in to the system.

    Steps of Boot Phase from bottom:



    Thank you for reading.

    For Reading other article, visit to “https://sites.google.com/site/unixwikis/