GICT knowledge base
What is LILO (Linux Loader)?
Published
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.
Boot process
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.
Configuring LILO
The configuration file of LILO is located at “/etc/lilo.conf”. The sample configuration file is specified below:
boot=/dev/had
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.36
label=linux
root=/dev/hda2
read-only
other=/dev/hda1
label=win
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.
Related guides
How to Restrict an SSH Key to One Command
Restrict an SSH key to one command with authorized_keys options. Protect the command and check that unwanted shell and forwarding access are denied.
Linux and CommandsSelf-Hosted Video Processing With FFmpeg: A Practical Guide
Learn how to self-host video processing on a VPS using FFmpeg, with practical commands for conversion, compression, thumbnails, and automated workflows.
Linux and CommandsHow to use nohup: Commands in Linux That Survive Terminal Closes
Keep commands running after you close the terminal. nohup examples with wget, Python, rsync, and Docker on any VPS.
Linux and CommandsHow to Fix “Too Many Open Files” Error on Linux Servers
Learn how to fix the "Too Many Open Files" error on Linux servers by understanding file descriptors, adjusting limits, and diagnosing leaks effectively.
