Boot Sequence


Load boot sector from one of:

  • Floppy
  • Hard Drive

The boot order can be changed from within the BIOS. BIOS setup can be entered by pressing a key during boot up. The exact key depends varies, but is often one of Del, F1, F2, or F10.

(DOS) Master Boot Record (MBR)

  • BIOS loads and execute the first 512 bytes off the disk (/dev/sda)
  • Standard DOS MBR will:
    • look for a primary partition (/dev/sda1-4) marked bootable
    • load and execute first 512 bytes of this partition


  • does not understand filesystems
  • code and kernel image to be loaded is stored as raw disk offsets

Loading sequence:

  • load menu code, typically /boot/boot.b
  • prompt for (or timeout to default) partition or kernel
  • for "image=" (ie. Linux) option load kernel image
  • for "other=" (ie. DOS) option load first 512 bytes of the partition

Reconfiguring LILO

One minute guide to installing a new kernel
  • copy kernel image (bzImage) and modules to /boot and /lib/modules
  • edit /etc/lilo.conf

      • duplicate image= section, eg:

§  image=/bzImage-2.4.14

  • run /sbin/lilo

  • reboot to test


  • Understands file systems
  • config lives in /boot/grub/menu.lst or /boot/boot/menu.lst


  • initialize devices
  • (optionally loads initrd)
  • mounts root filesystem
    • specified by lilo or loadin with root= parameter
    • kernel prints: VFS: Mounted root (ext2 filesystem) readonly.
  • runs /sbin/init which is process number 1 (PID=1)
o      init prints: INIT: version 2.76 booting


Allows setup to be performed before root FS is mounted
  • lilo or loadlin loads ram disk image
  • kernel runs /linuxrc
    • load modules
    • initialize devices
    • /linuxrc exits
  • "real" root is mounted
  • kernel runs /sbin/init


  • reads /etc/inittab (see man inittab which specifies the scripts below
    • Run boot scripts:
      • redhat: /etc/rc.d/rc.sysinit script which: loads modules, check root FS and mount RW, mount local FS, setup network, and mount remote FS
    • switches to default runlevel eg 3.

Run Levels

  • 0 halt
  • 1 single user
  • 2-4 user defined
  • 5 X11 only
  • 6 Reboot
  • Default is defined in /etc/inittab, eg:
    • id:3:initdefault:

  • The current runlevel can be changed by running /sbin/telinit # where # is the new runlevel, eg typing telinit 6 will reboot. 

To know about the courses CLICK HERE..!!

Contact US CLICK HERE..!!

No comments:

Post a Comment