From LQWiki
Jump to navigation Jump to search


Lilo's configuration file, controls how LILO boots the computer. It is possible to alter:

  • Bootable kernels/OSs
  • Kernel boot parameters (e.g. enabling scsi emulation on certain drives)
  • Default OS to boot
  • Boot timeout (i.e. time taken for default OS to be booted without user interupting)
  • Boot message

The path of this file is /etc/lilo.conf on most distributions and typically follows the following convention:

boot = /dev/hda
message = /boot/message

timeout = 80
default = Linux
vga = normal

image = /boot/vmlinuz 
root = /dev/hda1 
label = Linux
append="hdc=ide-scsi hdd=ide-scsi"

image = /boot/vmlinuz.old
root = /dev/hda1
label = Failsafe


Global Section

The first section contains setting applying to all "images" (OSs):

  • boot = /dev/hda - Tells LILO which hard disk contains boot-sector. The boot sector is a region on the disk which holds instructions for the BIOS on how to b oot the computer.
  • default = Linux - Configures the default OS for LILO to boot, this refers to label given to a boot image. Leaving blank results in the first image entered in lilo.conf to be used as default.
  • Timeout = 80 - Configures how long LILO should wait before booting default OS. This value is in tenths of a second, so the configured value of 80 corresponds to a wait of 8 seconds.
  • prompt - Forces LILO to display boot prompt without a specific request by user.
  • message = /boot/message - Specifies a text file containing a message to be displayed on boot.
  • vga = normal - Configures the VGA text mode used by LILO on boot, if not specified the mode specified when kernel was compiled. It is possible to see a list of available modes by booting with vga=ask.
  • read-only - Tells LILO to mount root parition as read-only (hence increasing security). Afte LILO has initiated the startup procedure for an OS the partition will be re-mounted writable.

Image Settings Section

This section configures the location of, and options for individual images.

  • image=/boot/vmlinuz - The path to kernel image file. Each bootable OS's section should begin with this.
  • root = /dev/hda1 - Partition to mount as root (can be set in global section hence affecting every image unless otherwise configured under image's own settings).
  • label = Linux - The name of image as shown on list of choices.
  • password = foo - Protects image with a password to increase security.

Options can also be passed to the kernel on boot root, read-only and vga are examples of such options. append is another important option, allowing extra options to be passed to kernel at boot for example enabling ide-scsi emulation for drives (e.g. ide-scsi=/dev/hdc or setting a runlevel to boot into using init option (e.g. init 3). These options can be changed at each boot by entering them as an option using same syntax as in lilo.conf.

NOTE: LILO must be run as root before changes made to lilo.conf are witten to boot sector. YOU HAVE BEEN WARNED

Other Tricks

  • Using Rom-o-matic you can build a LILO-compatible network boot initiator.
  • LILO can use a serial console to ask what to do. The documentation suggests that serial=0,9600n8 will do the trick. It doesn't seem to be enough though as while LILO says what it's doing on the serial console, it ignores input. At least that's the my experience.

See Also

External Links