2.8. LILO

LILO is an acronym for the LInux LOader and has been used to boot Linux on x86 systems for many years. Although GRUB is now the default boot loader, some users prefer to use LILO because it is more familiar to them and others use it out of necessity, since GRUB may have trouble booting some hardware.

2.8.1. LILO and the x86 Boot Process

This section discusses in detail the specific role LILO plays when booting an x86 system. For a detailed look at the overall boot process, see Section 1.2 A Detailed Look at the Boot Process.

LILO loads itself into memory almost identically to GRUB, except it is only a two stage loader.

  1. The Stage 1 or primary boot loader is read into memory by the BIOS from the MBR[1]. The primary boot loader exists on less than 512 bytes of disk space within the MBR. It only loads the Stage 2 boot loader and passes disk geometry information to it.

  2. The Stage 2 or secondary boot loader is read into memory. The secondary boot loader displays the Red Hat Linux initial screen. This screen allows you to select which operating system or Linux kernel to boot.

  3. The Stage 2 boot loader reads the operating system or kernel and initrd into memory. Once LILO determines which operating system to start, it loads it into memory and hands control of the machine to that operating system.

Once the Stage 2 boot loader is in memory, LILO displays the initial Red Hat Linux screen with the different operating systems or kernels it has been configured to boot. By default, if Red Hat Linux is the only operating system installed, linux will be the only available option. If the system has multiple processors there will be a linux-up option for the single processor kernel and a linux option for the multiple processor (SMP) kernel. If LILO is configured to boot other operating systems, those boot entries also appear on this screen.

The arrow keys allow a user to highlight the desired operating system and the [Enter] key begins the boot process.

To access a boot: prompt, press [Ctrl]-[X].

2.8.2. LILO versus GRUB

In general, LILO works similarly to GRUB except for three major differences:

The first point means the command prompt for LILO is not interactive and only allows one command with arguments.

The last two points mean that if you change LILO's configuration file or install a new kernel, you must rewrite the Stage 1 LILO boot loader to the MBR by using the following command:

/sbin/lilo -v -v

This method is more risky than the method used by GRUB because a misconfigured MBR leaves the system unbootable. With GRUB, if the configuration file is erroneously configured, it will default to its command line interface where the user can boot the system manually.


If upgrading the kernel using the Red Hat Update Agent, the MBR will be updated automatically. More information about RHN is available online at the following URL: https://rhn.redhat.com



For more on the system BIOS and the MBR, see Section 1.2.1 The BIOS.