- 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 prompt timeout = 80 default = Linux vga = normal image = /boot/vmlinuz root = /dev/hda1 label = Linux read-only append="hdc=ide-scsi hdd=ide-scsi" image = /boot/vmlinuz.old root = /dev/hda1 label = Failsafe read-only
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.
- 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.