GRUB CHALLENGES LILO AS TOP BOOT LOADER

Traditionally, booting Linux on x86 systems was done with the LILO boot loader, but recently a new boot loader has been taking over LILO's territory. This new boot loader is called GRUB, or the GRand Unified Bootloader.

GRUB has become very popular among multiboot users and also with those who are actively working on kernels or booting into different kernels. Unlike LILO, which must rewrite the boot sector after every change, GRUB reads configuration files on the fly, eliminating that extra step. This makes it very useful for people making frequent configuration changes.

GRUB uses /boot/grub/grub.conf as its configuration file. Here is an example:

default=0

timeout=10

title Linux

root (hd0,0)

kernel /boot/vmlinuz ro root=/dev/hda1

This configuration file tells GRUB to boot automatically if it doesn't receive any keyboard input within 10 seconds. The root filesystem for the boot option Linux is defined as hd0,0, which is the GRUB device name for the first hard drive and first partition. The file also identifies the kernel as /boot/vmlinuz with the kernel options ro root=/dev/hda1.

GRUB is included with most Linux distributions, but it is not the default loader.