The Linux boot process

The Linux Bootdisk HOWTO
Prev | A. Resources and pointers | Next

# A.5. The Linux boot process

For more detail on the Linux boot process, here are some pointers:

- The Linux System Administrators' Guide has a section on booting.

- The LILO ``Technical overview'' has the definitive technical, low-level description of the boot process, up to where the kernel is started.

- The source code is the ultimate guide. Below are some kernel files related to the boot process. If you have the Linux kernel source code, you can find these under `/usr/src/linux` on your machine; alternatively, Shigio Yamaguchi (shigio at tamacom.com) has a very nice hypertext kernel browser for reading kernel source files. Here are some relevant files to look at:

  `arch/i386/boot/bootsect.S` and `setup.S`

    Contain assembly code for the bootsector itself.

  `arch/i386/boot/compressed/misc.c`

    Contains code for uncompressing the kernel.

  `arch/i386/kernel/`

    Directory containing kernel initialization code. `setup.c` defines the ramdisk word.

  `drivers/block/rd.c`

    Contains the ramdisk driver. The procedures rd_load and rd_load_image load blocks from a device into a ramdisk. The procedure identify_ramdisk_image determines what kind of filesystem is found and whether it is compressed.

Prev | Home | Next
Ramdisk usage | Up | LILO boot error codes