What is LILO (Linux Loader)?
By Jithin on November 11th, 2016
LILO stands for Linux Loader that is used to load Linux into memory. It can boot operating systems from floppy disks, hard disks, and it does not depend on a specific file system. Lilo handles some tasks such as locate the kernel, identify other supporting programs, load memory and starts the kernel. The configuration file of lilo is located at “/etc/lilo.conf”. Lilo reads this configuration file and it tells Lilo where it should place the bootloader.
When LILO loads itself, it displays the name LIO where each word specifies some actions
1) If it displays nothing then it does not load any part of LILO.
2) L: This is the first stage of the bootloader that has been loaded. If the process stops here it denotes that there were problems in the second stage. This may occur due to some incorrect disk parameter specified in the configuration file of lilo or some media problems also.
3) LI: It indicates that the second stage boot loader has been loaded and could not be executed. It can occur due to problems similar to L.
4) LIL: At this stage, the second stage boot loader has been completed in its execution. If it fails, this stage indicates that there were media problems or map file specified in the configuration file has some problems.
5) LIL?: This means that the second stage boot loader loaded at an incorrect address.
6) LIL-: This indicates that the descriptor table is corrupted.
7) LILO: All parts are successfully loaded.
The configuration file of LILO is located at “/etc/lilo.conf”. The sample configuration file is specified below:
boot=/dev/hda: This tells LILO where to install the bootloader.
map=/boot/map: This file is automatically generated by LILO during bootup.
install=/boot/boot.b: This file contains the “bootstrap” code that starts your operating system and it holds both the primary and secondary parts of the bootloader.
prompt: This tells LILO to use the user interface. For example, to choose an operating system or enter parameters for the Linux kernel.
timeout=50: Tells LILO how long to wait at the prompt before booting the default operating system.
image=/boot/vmlinuz-2.0.36: Name of a Linux kernel for LILO to boot.
label: specifies the default OS to boot.
root=/dev/hda2: This option tells LILO where the OS file system actually lives.
read-only: This tells LILO to perform the initial boot to the file system read-only.
other=/dev/hda1: It tells LILO to boot an operating system other than Linux.
label=win: same as all other label options.
LILO command options
1) -c cnfig-file: Specifies the alternative configuration file other than default file /etc/lilo.conf.
2) -q: Lists the mapped files.
3) -V: Prints the Lilo version number.
4) -v: Specifies verbose output.
5) -u device-name: Uninstalls LILO and restores the saved boot sector after validating timestamp. Device-name is the name of the device on which LILO is installed.
6) -U device-name: This is the same as -u, but it does not check the timestamp.
7) -R command-line: Sets the default command for the boot loader the next time it executes.
GRUB VS LILO
1) Lilo stands for Linux Loader and GRUB stands for Grand Unified Bootloader.
2) LILO has no interactive command interface, whereas GRUB has a more powerful command interface.
3) LILO does not support booting from a network, whereas GRUB does.
4) GRUB is a boot loader which can be used in Linux, DOS, and other operating systems whereas Lilo is a boot loader for Linux.
5) Lilo has a simpler interface so it is easy to use whereas GRUB is more complicated to use.
6) Lilo is the old default bootloader and GRUB is the new default boot loader.
If you need any further assistance please contact our support department.