An email is sent to Sherin
    • home
    • user
    • contact
    • +91-9847999194
    • Home
    • Feedback
    • Gallery
    • Contact Me
    • Bookmark

    LINUX BOOTING PROCESS

    Boot Sequence

        * BIOS
        * Master Boot Record (MBR)
        * LILO or GRUB
        * Kernel
        * init
        * Run Levels 

    BIOS
    
    Load boot sector from one of:
    
        * Floppy
        * CDROM
        * Hard drive 
    
    The boot order can be changed from within the BIOS. 
    BIOS setup can be entered by pressing a key during bootup. 
    The exact key depends varies, but is often one of Del, F1, F2, or F10.
    (DOS) Master Boot Record (MBR)
    
    DOS in the context includes MS-DOS, Win95, and Win98.
    
        * BIOS loads and execute the first 512 bytes off the disk (/dev/hda)
        * Standard DOS MBR will:
              o look for a primary partition (/dev/hda1-4) marked bootable
              o load and execute first 512 bytes of this partition 
        * can be restored with fdisk /mbr from DOS 
    LILO
    
        * does not understand filesystems
        * code and kernel image to be loaded is stored as raw disk offsets
        * uses the BIOS routines to load 
    
    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
              o duplicate image= section, eg:
    
    
                      image=/bzImage-2.4.14
    
                        label=14
    
                        read-only
    
              o man lilo.conf for details 
        * run /sbin/lilo
        * reboot to test 
    GRUB
    
        * Understands file systems
        * config lives in /boot/grub/menu.lst or /boot/boot/menu.lst
    Kernel
    
        * initialise devices
        * (optionally loads initrd, see below)
        * mounts root filesystem
              o specified by lilo or loadin with root= parameter
              o 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
              o can be changed with boot= parameter to lilo, eg boot=/bin/sh can be 
                useful to rescue a system which is having trouble booting. 
    
    initrd
    
    Allows setup to be performed before root FS is mounted
    
        * lilo or loadlin loads ram disk image
        * kernel runs /linuxrc
              o load modules
              o initialise devices
              o /linuxrc exits 
        * "real" root is mounted
        * kernel runs /sbin/init 
    
    Details in /usr/src/linux/Documentation/initrd.txt 
     (part of the kernel source). 
    /sbin/init
    
        * reads /etc/inittab (see man inittab which specifies the scripts below
              o Run boot scripts:
                    + debian: run /etc/init.d/rcS which runs:
                          # /etc/rcS.d/S* scripts
                          # /etc/rc.boot/* (depreciated) 
                    + 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 
              o switches to default runlevel eg 3.
                    + run scripts /etc/rc3.d/S*
                    + run programs specified in /etc/inittab 
    
    Run Levels
    
        * 0 halt
        * 1 single user
        * 2-4 user defined
        * 5 X11 only (0 or 1 text console)
        * 6 Reboot
        * Default is defined in /etc/inittab, eg:
              o id:3:initdefault: 
        * The current runlevel can be changed by running /sbin/telinit # 
         where # is the new runlevel, eg typing telinit 6 will reboot. 
    Run Level programs
    
        * Scripts in /etc/rc*.d/* are symlinks to /etc/init.d
              o Scripts prefixed with S will be started when the runlevel is entered, eg /etc/rc5.d/S99xdm
              o Scripts prefixed with K will be killed when the runlevel is entered, eg /etc/rc6.d/K20apache
              o X11 login screen is typically started by one of S99xdm, S99kdm, or S99gdm. 
        * Run programs for specified run level
        * /etc/inittab lines:
              o 1:2345:respawn:/sbin/getty 9600 tty1
                    + Always running in runlevels 2, 3, 4, or 5
                    + Displays login on console (tty1) 
              o 2:234:respawn:/sbin/getty 9600 tty2
                    + Always running in runlevels 2, 3, or 4
                    + Displays login on console (tty2) 
              o l3:3:wait:/etc/init.d/rc 3
                    + Run once when switching to runlevel 3.
                    + Uses scripts stored in /etc/rc3.d/ 
              o ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
                    + Run when control-alt-delete is pressed 
    

    • Home|
    • Feedback|
    • Gallery|
    • Contact Me|

    © Sherin Sunny. All rights reserved.

    Designed by: Sherin Sunny