The lilo command reads the LILO configuration file, /etc/lilo.conf, to get the information it needs to install LILO. Among other things, it builds a map file containing the locations of all disk sectors needed for booting.
Note that any time you change /etc/lilo.conf or rebuild or move a kernel image, you need to rerun lilo to rebuild the map file and update LILO.
The configuration file starts with a section of global options, described in the next section. Global options are those that apply to every system boot, regardless of the operating system you are booting. Here is an example of a global section (a hash sign, #, begins a comment):
boot=/dev/hda # The boot device is /dev/hda map=/boot/map # Save the map file as /boot/map install=/boot/boot.b # The file to install as the new boot sector prompt # Always display the boot prompt timeout=30 # Set a 3-second (30 tenths of a second) timeout
Following the global section, there is one section of options for each Linux kernel and for each non-Linux operating system that you want LILO to be able to boot. Each of these sections is referred to as an image section because each boots a different kernel image (shorthand for a binary file containing a kernel) or another operating system. Each Linux image section begins with an image= line.
image=/boot/vmlinuz # Linux image file label=linux # Label that appears at the boot prompt root=/dev/hda2 # Location of the root filesystem vga=ask # Always prompt the user for VGA ...