LILO is a versatile boot loader for Linux. It does not depend on a specific file system, and can boot Linux kernel images from floppy disks and hard disks, and can even boot other operating systems. One of up to sixteen different images can be selected at boot time. Various parameters, such as the root device, can be set independently for each kernel. LILO can even be used as the master boot record (MBR).
The master boot record is the first sector of the first track of the hard disk. This is where the computer's BIOS looks for instructions on how to load an operating system. If there was just Win9X or DOS installed it would just be an instruction to load that single OS. As stated above, LILO gives us the versatility to load more then one OS.
LILO can be configured by manually editing the configuration file available at /etc/lilo.conf file. Take a look at lilo.conf and understand what each line does.
The sample of lilo.conf file:
boot = /dev/hda map=/boot/map install=/boot/boot.b prompt timeout = 50 image = /boot/vmlinuz label = Linux root = /dev/hda3 read-only other = /dev/hda1 label = WindowsXP table = /dev/hda
- The boot = /dev/hda option specifies that LILO is stored in the boot sector of the first IDE disk hard drive. In short it specifies where LILO is installed.
- The map = /boot/map option defines the location of the map file, which contains the physical locations of the operating system kernels in a form that can be read by the LILO boot loader.
- The install = /boot/boot.b option line defines the file that /sbin/lilo installs in the boot sector.
- The prompt option causes the boot prompt to be displayed. If the prompt option is not included in the lilo.conf file, the user must press a Shift, Ctrl or Alt key, or set the Caps Lock or Scroll Lock key to get the boot prompt.
- The timeout option defines how long the system should wait for user input before booting the default operating system. The time is defined in deci seconds. If the timeout is reached, the default kernel is booted. The first kernel listed in the lilo.conf file is the default.
- The label = linux option defines the label that can be entered at the boot prompt to load vmlinuz. Every image defined in the sample file has an associated label entry.
- The root = /dev/hda3 option defines the location of the root file system for the kernel.
- The read-only option specifies to LILO that the root file system should be mounted as read‑only.
- The other = /dev/hda1 option specifies the location of the other operating system if any.
- The label = win option defines the label that can be entered at the boot prompt to load the other operating system, for example: Windows XP
- The table = /dev/hda option tells LILO where to look for the partition table information.
After making any changes to the lilo.conf the next step is to run lilo so it can write out lilo.conf and make the system bootable. Running LILOLilo can be run just by typing lilo at the system prompt. By doing so the following output will be seen: Added linux * Added win
The * next to the first item (linux) signifies the image that will be booted at boot time by default.
If there is an error in the lilo.conf it will show up here. Go in and re-edit lilo.conf, to fix the problems. Luckily Linux takes mere moments to boot, so even if something is done to lilo.conf that’s not right, it can be fixed in a matter of minutes.
Removing LILOShould the day ever come and Linux and lilo have to be removed something is needed to make LILO totally go away. The easiest way to do this is to use DOS / Win98's fdiskprogram. Use the flag that replaces the master boot record (/mbr). C:\>fdisk /mbr |