The Linux Boot Sequence
1. The BIOS reads the Master Boot Record (MBR) and loads the primary (aka first stage) boot loader. The MBR contains a partition table which has a 1 byte flag which defines the partition type. It also contains the first 446 bytes of the boot code for the primary boot loader. Typically the primary boot loader will be lilo or grub . The lilo configuration file is /etc/lilo.conf while for grub it is /boot/grub/grub.conf . grub has a number of advanced features, including: o Allows command based pre-OS for fexibility (LILO is limited in this respect) o If the BIOS supports LBA, there is no 1024 cylinder limit for booting o Reads the configuration file at every boot so there's no need to rewrite the MBR if changes are made. 2. The first stage boot loader finds the second stage boot loader, /boot/ boot.b and executes it (because the MBR is so small, all the first stage boot loader can do is execute the second stage boot loader!) 3. /boot/boot.b reads the descriptor table from /boot/map. The map file contains the sector the kernel can be loaded from. It then loads the kernel. 4. The kernel mounts the root filesystem, loads the required modules and starts the init program. (If an initrd - initial ram disk - is required, this is loaded before the real root filesystem. The initrd may be required if certain modules are required to load the root filesystem and aren't compliled into th kernel itself, e.g. if the root filesystem type is reiserfs but the resierfs driver has been compiled as a module.) 5. init reads /etc/inittab which normally tells it to start /etc/rc.d/ rc.sysinit and then the run level scripts in /etc/rc.d . rc.sysinit starts swap, checks filesystems amongst other things. The inittab has a default run level and init will run the start scripts according to the run level specified. e.g. At runlevel 5 , the start scripts in /etc/rc.d/ rc5.d are run (these are symbolic links to the real scripts in /etc/ init.d). inittab also normally lists some gettyprograms to run and , at run level 5, /etc/X11/prefdm.
Still stuck? Maybe we can help. Contact us here
For more super cool techie stuff check out our blog!!