Bootloader
1. Function
2. Bootloader on x86
3. Bootloader on embedded system
Bootloader
• A boot loader is a computer program that loads the main
operating system or runtime environment for the
computer after completion of the self-tests.
• boot loader is used when the system is powered on, or
reset
Function
• Bring the operating system kernel (and all the kernel needs to
bootstrap) into memory from flash memory, network or
another type of non-volatile storage
• Provide the kernel with the information it needs to work
correctly: check and initialization hardware …
• Switch to an environment that the kernel will like
• Transfer control to the kernel
Bootloaders on x86
Bootloaders on x86
Booting on Linux
Stage 1 boot loader
Stage 2 boot loader
• The task at this stage is to load the Linux kernel and
optional initial RAM disk.
• GRUB load from an ext2, ext3 file system
• With stage 2 boot loader in memory, the file system is
consulted, and the default kernel image and initrd image
are loaded into memory.
• With the images ready, the stage 2 boot loader invokes
the kernel image
Bootloaders on embedded architectures
Booting on embedded CPUs
Booting on ARM Atmel AT91
Booting on ARM OMAP3
Generic bootloaders for embedded CPUs