RHCSA – The Boot Process


You can find all my latest posts on medium.

Here’s what happens when you switch on your machine:

  1. BIOS (Basic Input Output System) – this performs POST (Power On Self Test) – This basically checks all the main hardware is responding, e.g. cpu, ram, motherboard,…etc. If everything passes, it then moves on to the next process. BIOS (Basic Input Output System), The BIOS’s code actually resides on the motherboard itself, i.e. it is the motherboard’s firmware. The BIOS does various things like setting the system clock. However a key it does is that it determines which device to boot from, e.g. network boot, cdrom, hdd,…etc. It is usually the hdd
  2. BIOS identifies the boot devicece – this is a storage device, where the mbr contains the first part of GRUB 2 along with the partition table. BIOS then hands over the boot process to GRUB 2
  3. GRUB2 is executed – The purpose of GRUB2 is to load the kernel and initrd. At this point the GRUB menu is temporarily displayed.
  4. Root filesystem is mounted from the kernel
  5. Sytemd is started
  6. Everything else is started up – e.g. starting logging, mounting partitions, starting default services

01. The Boot Process



Config files:

/etc/inittab                      # this file is where you can set the default run-level. This file used to be a place where you entered all kinds of settings, but now is only used for setting the runlevel. The other settings are

# now set elsewhere.


The following steps (boot process) takes place during a system start-up:

  1.           BIOSinitializes – The BIOS does the following:
  2.           BIOS is short for Basic Input Output System
  3.           BIOS is installed on the motherboard itself.
  4.           The BIOS initializes basic peripherals on the system
  5.           The BIOS sets the system clock
  6.           The BIOS searches for the boot devices (I think by scanning the MBR in each hdd)
  7.                Once the BIOS finds the boot device, it then runs the bootloader software (in this case GRUB) that exists on it.
  8.           After the BIOS has initialized, the BIOS then hands over the boot process to theBootloader (kown as GRUB) GRUB does the following:
  9.           The default bootloader for RHEL is called GRUB. GRUB actually exists in the form of 2 software component (aka stages)
  10.           Stage 1 GRUB – This resides within the MBR, and it’s only purpose to point to the location of the grub.conf file.
  11.           Stage 2 GRUB – This resides in the /boot partition of the hdd. IT is what generates the GRUB menu.
  12.           After (stage 1) GRUB starts, it searches it’s config file to identify what the default kernel image is, and then loads it
  13.           Stage 1 GRUB then hands over control to Stage 2 GRUB which then generates the grub menu for the user.
  14.           User then selects the OS (or kernel version) to boot-up with (if not the default), and then GRUB loads the given kernel into the RAM as well as the initrd image (initramfs-{kernel-version}.img).
  15.           GRUB then hands over control of the boot process to the newly loaded linux kernel.
  16.           After GRUB loads the first Kernel Image into memory, it then hands over control to the kernel – the kernel does the following:
  17.           The kernel detects what hardware is on the system
  18.           Once it has detected everything, it then loads the necessary drivers from it’s initial RAM-file-system (initrd image)
  19.           This ram-file-system contains device drivers, important scripts, and binary utilities…..that aid with the system boot process.
  20.           initrd is used by kernel as temporary root file system until kernel is booted and the real root file system is mounted.
  21.           It then mounts the root file system in read only mode.
  22.                It then starts the “init” process (which should have pid of 1, since it is the very first process that gets started)
  23.           After the Kernel has started the “init” process, it then hands over control to the init process – init does the following:
  24.           After init has started it then runs the necessary script which are located in /etc/init
  25.           Init then reads the /etc/inittab file to determine the default run level.
  26.           Start the run-level scripts for the default run-level. This will start the various services (you should see various messages coming up…e.g…. “starting sendmail …. OK”)
  27.           The system services finishes starting up and a login screen is presented.

Must survive reboot:


Software to install:


GUI tool:


Book ref:


Study guide ref:


Need to learn more about: