Common boot loaders
LILO (LInux LOader)
- A simple but flexible boot loader which can handle some other
OSes too
- Given a set of kernel images listed in a config file,
the lilo program stores a list of the disk sectors used
by the image files and (if necessary) installs a boot sector which
can read its second-stage loader
- The second-stage loader
can select a kernel image and read it in using the map described
above, or start another OS's boot loader in a specified partition's
boot sector
- If not interrupted at boot time (by holding down a shift key)
will load a default image, otherwise prompts for a boot selection
- Works well with typical PC BIOS implementations, but is also
subject to their limits (like the 1024-cylinder limit in older BIOS
disk access routines)
- You have to run lilo after installing a new
kernel to make it bootable
GRUB
- On the surface, looks similar to LILO, in that it can boot a
default kernel or allow selection of a kernel from a menu
- Also provides a more sophisticated command-line interface which
can be used to change configuration parameters and select kernels at
boot time, as well as just boot a default kernel if no input is
given
- While its first-stage loader is still subject to BIOS
limitations, the second-stage loader has its own disk-handling code
and can also work with existing filesystems, allowing it to load
kernel images specified by pathnames
BSD loader
- Probably the inspiration for GRUB; provides simple boot menu for kernel
selection, plus command-line interface that can set configuration
parameters and boot kernels specified by filesystem pathame
Boot monitor systems
- Common on vendor UNIX hardware (Sun, IBM, HP, etc.)
- Provide sophisticated command-line interfaces for setting system
parameters, typically know enough about filesystems to boot kernels
by pathname, some can also boot from network servers
- Usually tied to vendor hardware and filesystem layouts
Next ->
Steve VanDevender
Last modified: Tue Jul 1 14:23:31 PDT 2003