From the course: Red Hat Certified System Administrator (EX200) Cert Prep: 1 Deploy, Configure, and Manage

Understand the Linux Boot Process

- [Instructor] A Linux system goes through several stages when booting: the firmware stage, the boot loader stage, the kernel stage and lastly, the initialization stage. During the firmware stage, the computer runs code in either the BIOS or UEFI during power on self-test or post. Older computers have a BIOS and newer computers have UEFI. After the firmware stage, the BIOS or UEFI executes the boot loader stage. In the case of enterprise Linux, the boot loader is GRUB2 or Grand Unified Boot Loader 2. GRUB's job is to read in its configuration file and boot the Linux kernel. In the case of a BIOS machine, GRUB reads in /boot/grub2/grub.cfg. For UEFI systems, it loads /boot/efi/EFI/redhat/grub.efi the boot loader then executes the kernel. During the kernel stage, the kernel loads a ramdisk into memory. This ramdisk serves as a temporary root file system. This file system includes kernel modules, drivers, and possibly even kickstart files. Later, the kernel unmounts the ramdisk and mounts the root file system on the hard drive and then starts the initialization stage by executing the first process. In the initialization stage, the grandfather process runs. In older versions of Redhat, this was the init process. Init was replaced by upstart, which has now been replaced by Systemd. Systemd then starts all system services. Included would be a login shell or a graphical interface. When it's finished, the OS is ready to be used. Systemd has the concept of targets that are similar to the old init run levels. You can think of a target as a system configuration. For instance, by default, enterprise Linux boots up into the graphical target. A system can be booted into different targets. There are targets for different purposes such as rescuing the system after a crash.

Contents