LILO (Linux Loader) is one of the original bootloaders for Linux, designed to launch the operating system immediately after the server is powered on. It is used on systems with BIOS and can be installed either into the Master Boot Record (MBR) or the boot sector of a specific partition.

The main purpose of LILO is to locate and load the Linux kernel into memory and then transfer control to it. Unlike more advanced bootloaders, LILO works directly with disk sectors, making it highly reliable and predictable.

LILO supports multi-boot configurations, allowing the system to boot into different operating systems. Its behavior is fully configured via the /etc/lilo.conf file. After any changes to this file, the configuration must be manually applied by running the lilo command.

Due to its simplicity and minimal resource requirements, LILO is often used in minimalist, embedded, or specialized systems, as well as in server environments where full control over the boot process is essential.

Core Functions of LILO

  • Loads the Linux kernel (or another OS) into memory
  • Transfers control to the selected kernel
  • Supports multi-boot setups
  • Works independently of the file system
  • Can be installed in the MBR or partition boot sector

Example LILO Configuration

boot=/dev/sda
prompt
timeout=50
default=linux
image=/boot/vmlinuz-5.10
  label=linux
  read-only
  root=/dev/sda1

After editing the configuration file, changes must be applied manually using:

sudo lilo

 Advantages of LILO

  • Reliability – accesses disk sectors directly, bypassing the file system
  • Lightweight – requires minimal system resources
  • Flexible – supports multi-OS boot setups
  • Control – behavior is fully defined by manual configuration
  • BIOS compatibility – works well with legacy BIOS systems

 Potential Limitations

  • Does not auto-update when kernels are changed or reinstalled
  • Requires manual execution of lilo after configuration changes
  • No built-in graphical menu for selecting kernels
  • Not compatible with UEFI systems
  • Only supports MBR partitioning

Conclusion

LILO is a stable and predictable bootloader, ideal for systems that prioritize simplicity, control, and reliability. It remains a practical choice for lightweight distributions, embedded systems, and BIOS-based servers using MBR.