Linux Boot process




Let’s describe Linux Boot Process:

BIOS Basic INPUT/OUTPUT System.
Executes MBR
MBR Master Boot Record
Executes GRUB
GRUB Grand Unified Bootloader
Executes kernel
KERNEL Kernel
Executes /sbin/init
INIT Init
Executes Run level programs
Run Level Run Level Programs are executed from /etc/rc.d/rc*.d/
  • As power comes up the BIOS is given control
  • BIOS runs self tests, usually including cursory memory tests.
  • The BIOS then loads the first sector of the disk to be used for booting and transfers control to it.
  • The MBR code varies. One version will chain to the code in the first sector of the boot partition (Windows), another will load a bootloader. Windows boot proceeds from code and information in the boot partition.
  • The bootloader chooses kernel location and version
  • The bootloader prepares kernel and initrd image in memory, transfers control to kernel
  • Loading kernel modules
  • Discovering hardware and load additional kernel modules to support it
  • Looking for disks
  • R/O mount of / partition so that it can potentially be checked and repaired
  • init process spawn
  • /etc/inittab read and executing
  • Mounting all FSes from /etc/fstab
  • runlevels running (based on default runlevel in /etc/inittab) or another init method such as systemd or upstart
  • rc.local
  • login prompt

Source:

  1. http://unix.stackexchange.com/questions/27034/discribe-in-details-tha-boot-process-of-any-linux-system
  2. http://www.thegeekstuff.com/2011/02/linux-boot-process/
  3. Watch video here
  4. http://www.slideshare.net/dominiquec/understanding-the-boot-process