This file, by default /etc/lilo.conf, is read by the boot loader installer 'lilo' (see lilo(8)).
This configuration file specifies that lilo uses the Master Boot Record on /dev/hda. (For a discussion of the various ways to use lilo, and the interaction with other operating systems, see user.tex from the lilo documentation.)
When booting, the boot loader will issue its boot: prompt and wait for you to enter the label of the kernel (and any options) which you wish to boot. At any time you may hit [Tab? to see a list of kernel/other labels. Alternately, if the boot-menu.b boot loader is installed, a menu of boot options will be presented for your selection. The title of this menu is overridden with the menu title specification in this configuration file. If you enter nothing, then the default kernel image, the first mentioned, (/boot/zImage-1.5.99) will be booted after a timeout of 15 seconds (150 deciseconds). There can be up to 16 images mentioned in lilo.conf.
As can be seen above, a configuration file starts with a number of global options (the top 9 lines in the example), followed by descriptions of the options for the various images. An option in an image description will override a global option.
There are many possible keywords. The description below is almost literally from user.tex (just slightly abbreviated).
Copy the original boot sector to backup-file (which may also be a device, e.g. /dev/null) instead of /boot/boot.NNNN.
Specifies use of a 640x480x16 bitmap file as the background on which a boot menu is displayed. May not be used if 'message=' is specified. Requires that 'install=' specify a boot-loader which is capable of displaying the bitmap; i.e., boot-bmp.b.
Specifies the decimal values of the colors to be used for the menu display on a 'bitmap=' background. The list consists of 6 entries, 3 for normal text followed by 3 for highlighted text. The order of each triple is: foreground color, background color, shadow color. If background color is not specified,
Specifies the location and layout of the menu table.
Optional specification of the 'timeout=' countdown timer. must'' be specified.
Sets the name of the device (e.g. a hard disk partition) that contains the boot sector. If this keyword is omitted, the boot sector is read from (and possibly written to) the device that is currently mounted as root. A raid installation is initiated by specifying a RAID1 device as the boot device; e.g.,
Defines boot-time changes to partition type numbers (`hiding').
The above excerpt from a configuration file specifies that all default change-rules are removed (reset, the three types specified would have been added to the existing default change-rules. Normally, the default rules are sufficient. The strings which define the partition types are used in a change section (see below), with the suffixes ''
Tries to merge read requests for adjacent sectors into a single read request. This drastically reduces load time and keeps the map smaller. Using `compact' is especially recommended when booting from a floppy disk.
Uses the specified image as the default boot image. If `default' is omitted, the image appearing first in the configuration file is used.
Specifies the number of tenths of a second the boot loader should wait before automatically booting a locked command line, a command line pre-stored by boot:__ prompt will be be issued, and no automatic boot will take place. The setting of CAPS LOCK or SCROLL LOCK, or any of the keys ALT, CTRL, or SHIFT, when held down, are taken as interrupts.
This action is modified by specifying `prompt' (see below).
Defines non-standard parameters for the specified disk. See section
would say that your SCSI disk is the first BIOS disk, and your (primary master) IDE disk is the second BIOS disk.
Specifies the name of the disk parameter table. The map installer looks for /etc/disktab if `disktab' is omitted. The use of disktabs is discouraged.
This allows lilo to adjust 3D addresses in partition tables. Each partition entry contains a 3D (sector/head/cylinder) and a linear address of the first and the last sector of the partition. If a partition is not track-aligned and if certain other operating systems (e.g. PC/MS-DOS or OS/2) are using the same disk, they may change the 3D address. lilo can store its boot sector only on partitions where both address types correspond. lilo re-adjusts incorrect 3D start addresses if `fix-table' is set.
WARNING: This does not guarantee that other operating systems may not attempt to reset the address later. It is also possible that this change has other, unexpected side-effects. The correct fix is to re-partition the drive with a program that does align partitions to tracks. Also, with some disks (e.g. some large EIDE disks with address translation enabled), under some circumstances, it may even be unavoidable to have conflicting partition table entries.
Like `backup', but overwrite an old backup copy if it exists.
Force disk addressing which is compatible with older versions of LILO. Geometric addressing uses sector/head/cylinder addresses, and is limited to disk cylinders up to 1023. If inaccessible cylinders are referenced, diagnostics will be issued at boot-install time, rather than boot-time. With a newer BIOS, use of 'lba32' is recommended.
tells lilo to ignore corrupt partition tables.
Install the specified file as the new boot loader. Starting with version 21.5, two boot loaders are available: boot-text.b and boot-menu.b, with boot.b a symbolic link to the latter. Both boot loaders allow the entry of kernel command line options in exactly the same fashion. Both also have full serial line support (see serial= below), although no menu capabilities are available on the serial terminal. The former is available for strict compatibility with previous versions of LILO. If `install' is omitted, /boot/boot.b is used as the default.
Generate 32-bit Logical Block Addresses instead of sector/head/cylinder addresses. If the BIOS supports packet addressing, then packet calls will be used to access the disk. This allows booting from any partition on disks with more than 1024 cylinders. If the BIOS does not support packet addressing, then 'lba32' addresses are translated to sector/head/cylinder ('geometric'), just as for 'linear'. All floppy disk references are retained in C:H:S form. Use of 'lba32' is recommended on all post-1998 systems. Beginning with LILO version 22, 'lba32' is the default disk addressing scheme.
Generate 24-bit linear sector addresses instead of sector/head/cylinder (geometric) addresses. Linear addresses are translated at run time to geometric addresses, and are limited to cylinders /sbin/lilo'' may generate references to inaccessible disk cylinders. 'lba32' avoids many of these pitfalls with its use of packet addressing, but requires a recent BIOS.
Enables automatic recording of boot command lines as the defaults for the following boots. This way, lilo
The per-image password option `mandatory' (see below) applies to all images.
Specifies the location of the map file. If `map' is omitted, the file /boot/map is used.
Specifies the title line (up to 37 characters) for the boot menu. This title replaces the default boot-menu.b is not installed as the boot loader (see install='' option), then this line has no effect.
The default color scheme of the boot menu may be overridden on VGA displays using this option. (The color scheme of MDA displays is fixed.) The general color-scheme string is of the form:
where each entry is two characters which specify a foreground color and a background color. Only the first entry is required. The default highlight is the reverse of the text color; and the default border and title colors are the text color. Colors are specified using the characters kbgcrmyw, for blacK, Blue, Green, Cyan, Red, Magenta, Yellow, and White: upper case for intense (fg only), lower case for dim. Legal color-scheme strings would be
menu-scheme=wr:bw:wr:Yr the LILO default menu-scheme=Yk:kw bright yellow on black If boot-menu.b is not installed as the boot loader, then this line has no effect.
specifies a file containing a message that is displayed before the boot prompt. No message is displayed while waiting for a shifting key after printing boot-menu.b'' boot loader is installed. The size of the message file is limited to 65535 bytes. The map file has to be rebuilt if the message file is changed or moved. 'message=' and 'bitmap=' are mutually exclusive.
Disables warnings about possible future dangers.
The per-image option `optional' (see below) applies to all images.
The per-image option `password=...' (see below) applies to all images. This option may prevent unattended booting, if the default image is `password=' protected at the default level `mandatory', which is a level higher than `restricted'.
Automatic booting (see `delay' above) will not take place unless a locked or pre-stored ( boot: prompt and wait for user input before proceeding (see timeout'' below). Unattended default image reboots are impossible if `prompt' is set and `timeout' is not, or the default image is password protected at a higher level than `restricted'.
This option only has meaning for RAID1 installations. The none, auto, mbr-only, or a comma-separated list of devices; e.g., auto, meaning, automatically generate auxilary boot records as needed on SKEWED raid sets. none means suppress generation of all auxiliary boot records. mbr-only'' suppresses generation of boot records on the raid device, and forces compatibility with versions of LILO earlier than version 22.0 by writing boot records to all Master Boot Records (MBRs) of all disks in the raid set. Use of an explicit list of devices, forces writing of auxiliary boot records only on those devices enumerated, in addition to the boot record on the RAID1 device. Since the version 22 RAID1 codes will never automatically write a boot record on the MBR of device 0x80, if such a boot record is desired, this is the way to have it written.
The per-image password option `restricted' (see below) applies to all images.
enables control from a serial line. The specified serial port is initialized and the boot loader is accepting input from it and from the PC's keyboard. Sending a break on the serial line corresponds to pressing a shift key on the console in order to get the boot loader's attention. All boot images should be password-protected if the serial access is less secure than access to the console, e.g. if the line is connected to a modem. The parameter string has the following syntax:
If `serial' is set, the value of `delay' is automatically raised to 20.
This option specifies that boot images or 'other's are to be selected and launched with a single keystroke. Selection is based upon the first character of each name, which must be unique. This option should not be used with the menu or bitmap user interface (
This global option suppresses the boot-time real mode collection of BIOS data on systems which hang on certain BIOS calls. It is equivalent to using the boot-time switch 'nobd'.
This option defeats the disk volume recognition and BIOS device code detection features of LILO on systems with more than one disk. Thus the use of this option will produce a strong cautionary message, which cannot be suppressed.
sets a timeout (in tenths of a second) for keyboard input at the boot: prompt. ''
Turns on lots of progress reporting. Higher numbers give more verbose output. If -v is additionally specified on the lilo command line, the level is increased accordingly. The maximum verbosity level is 5.
A per-image section starts with either a line
image= to indicate a file or device containing the boot image of a Linux kernel, or a line
other= to indicate an arbitrary system to boot.
In the former case, if an image line specifies booting from a device, then one has to indicate the range of sectors to be mapped using
If the booted image is a Linux kernel, then one may pass command line parameters to this kernel.
Appends the options specified to the parameter line passed to the kernel. This is typically used to specify parameters of hardware that can't be entirely auto-detected or for which probing may be dangerous. Multiple kernel parameters are separated by a blank space, and the string must be enclosed in double quotes. Append may be used only once per
Specifies the initial ramdisk image to be loaded with the kernel. The image will contain modules needed at boot time, such as network and scsi drivers. See man pages for mkinitrd(8).
Like `append', but removes all other options (e.g. setting of the root device). Because vital options can be removed unintentionally with `literal', this option cannot be set in the global options section.
This specifies the size (e.g.,
This specifies that the root file system should be mounted read-only. It may be specified as a global option. Typically, the system startup procedure re-mounts the root file system read-write later (e.g. after fsck'ing it).
This specifies that the root file system should be mounted read-write. It may be specified as a global option.
This specifies the device that should be mounted as root. It may be specified as a global option. If the special name current is used, the root device is set to the device on which the root file system is currently mounted. If the root has been changed with -r , the respective device is used. If the variable `root' is omitted, the root device setting contained in the kernel image is used. (And that is set at compile time using the ROOT_DEV variable in the kernel Makefile, and can later be changed with the rdev(8) program.)
This specifies the VGA text mode that should be selected when booting. It may be specified as a global option. The following values are recognized (case is ignored):
normal: select normal 80x25 text mode.
extended (or ext): select 80x50 text mode.
ask: stop and ask for user input (at boot time).
vga=ask'' and pressing [Enter?.
Used to load systems other than Linux. The `other =
This specifies the chain loader that should be used. It may also be specified as a global option. By default /boot/chain.b is used. This chain loader passes partition and drive information in the boot sector it loads only to DOS on FAT12 or FAT16, Windows on FAT16 or FAT32, or OS/2 on FAT16 or HPFS. The alternate chain loader, /boot/os2_d.b passes partition and drive information unconditionally, and uses a format suitalble for OS/2 and DOS (see table= below).
This specifies the device that contains the partition table. The boot loader will pass default partition information to the booted operating system if this variable is omitted. (Some operating systems have other means to determine from which partition they have been booted. E.g., MS-DOS usually stores the geometry of the boot disk or partition in its boot sector.) Note that /sbin/lilo must be re-run if a partition table mapped referenced with `table' is modified.
This is a special case for the os2_d.b chain loader. It specifies the DOS drive letter for the partition that will be booted. This is mandatory when booting OS/2 installed on an extended partition. The drive letter may be specified with or without a trailing colon.
This keyword starts a section which describes how primary partition IDs are changed, and how primary partitions are activated and deactivated. If change is omitted, change rules are generated as though the automatic keyword were specified. The keyword change alone, without any rules following, will suppress automatic change-rules. For example,
specifies that when primary partition /dev/hda2 is booted, automatic change-rules will be in effect; plus, partition 1, a DOS12 partition, will be set hidden, and deactivated. In addition, partition 2, will be set normal, and activated. Activation sets the boot-flag in the partition table. The automatic keyword may confict with default change rules, so the set= lines above may be redundant. Also see change-rules above.
(A list of set= parameters for common file systems would be very helpful)
Maps BIOS calls for the specified drive to the device code specified on the next line as to= __
In both the image= and other= cases, the following options apply.
The boot loader uses the main file name (without its path) of each image specification to identify that image. A different name can be used by setting the variable `label'.
A second name for the same entry can be used by specifying an alias.
Omit the image if it is not available at map creation time. It may be specified as a global option. This is useful to specify test kernels that are not always present.
A password is required to boot this image. This is the default. May be used on a single `image=' or `other=' to override a different global setting.
A password is only required to boot the image if kernel parameters are specified on the command line (e.g. 'single'). May be used on a single `image=' or `other=' to override a different global setting.