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.
Comment lines may appear anywhere, and begin with the "#" character.
GLOBAL OPTIONS
There are many possible keywords. The description below is
almost literally from user.tex (just slightly abbreviated).
backup=<backup-file>
Copy the original boot sector to
backup-file
(which may also be a device, e.g.
/dev/null)
instead of
/boot/boot.NNNN.
bitmap=<bitmap-file>
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.
(Version 22.3): Use of this option now implies use of a bitmap-capable boot
loader, unless overridden with "install=" (see below).
bmp-colors=<fg>,<bg>,<sh>,<hfg>,<hbg>,<hsh>
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, "transparent" is assumed. If shadow color is not specified,
then "none" is assumed. The list entries are separated by commas, with no
spaces.
bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>,<spill>
Specifies the location and layout of the menu table. <x>,<y> specify the
starting x- and y-position of the upper left corner of the table in
character coordinates: x in [1..80], y in [1..30]. <ncol> is the number of
columns in the menu (1..5); and <nrow> is the number of rows (entries)
in each column.
If more than one column is specified, then <xsep> is the number of character
columns between the leftmost characters in each column: (18..40), and
<spill> is the number of entries in one column which must be filled before
entries spill into the next column. <spill> must be .le. <nrow>. If pixel
addressing is used, instead of character addressing, then any of <x>, <y>,
or <xsep> may be specified with a 'p' suffix on the decimal value.
bmp-timer=<x>,<y>,<fg>,<bg>,<sh>
Optional specification of the 'timeout='
countdown timer. <x>,<y>
specifies the character (or pixel) coordinate of the location of the timer
the same as 'bmp-table='
above; and the color triple specifes the character color attributes
the same as 'bmp-colors=' above, with the exception that the background color
must
be specified. If used to override the timer specification in a bitmap file,
then the form 'bmp-timer = none' is acceptable. This will disable the timer
display entirely.
boot=<boot-device>
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., "boot=/dev/md0". Note that LILO version 22.0 and later
operate differently from earlier versions with respect to the actual
location of the boot records.
change-rules
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"), and the change-rules for three partition types
are specified. Without the 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 "_normal" or "_hidden" appended.
See section "Partition type change rules" of user.tex for more details.
compact
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.
default=<name>
Uses the specified image as the default boot image. If `default' is omitted,
the image appearing first in the configuration file is used. See also,
vmdefault
below.
delay=<tsecs>
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
"lilo -R", or the default `image=' or `other='.
When `delay' is non-zero, the boot loader will wait for an interrupt for the
specified interval. If an interrupt is received, or
is already waiting, the 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).
disk=<device-name>
Defines non-standard parameters for the specified disk.
See section "Disk geometry" of user.tex for details.
Especially useful is the `bios=' parameter.
The BIOS numbers your disks 0x80, 0x81, etc. and it is impossible
to decide which Linux disk corresponds to which BIOS disk
(since this depends on the BIOS setup, and on the type of BIOS),
so if you have an unusual setup you need to state the correspondence
between Linux disks and BIOS disks.
For example,
disk=/dev/sda
bios=0x80
disk=/dev/hda
bios=0x81
would say that your SCSI disk is the first BIOS disk,
and your (primary master) IDE disk is the second BIOS disk.
disktab=<disktab-file>
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.
fix-table
This allows lilo to adjust 3D addresses in partition tables. Each
partition entry contains a 3D (cylinder/head/sector) 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.
force-backup=<backup-file>
Like `backup', but overwrite an old backup copy if it exists.
geometric
Force disk addressing which is compatible with older versions of LILO.
Geometric addressing uses cylinder/head/sector 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.
ignore-table
tells lilo to ignore corrupt partition tables.
install=<boot-loader>
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.
Beginning with version 22, a third user-interface, boot-bmp.b, is
available. This presents a GUI interface, the background for which is
selected with "bitmap=".
(Version 22.3): The selection of the
user interface with "install=" is dependent upon the presence of the
substrings "text", "menu", or "bmp" in the parameter to the "install=". The
boot loaders selected are no longer files, but are contained within the
boot-installer binary /sbin/lilo. If "install=" is omitted, the
default boot loader is "menu", unless "bitmap=" is specified (see above), in
which case the boot loader "bmp" will be selected.
large-memory
(Version 22.3):
Normally any initial ramdisk (initrd) loaded with a kernel is loaded as
high in memory as possible, but never above 15Mb. This is due to a BIOS
limitation on older systems. On newer systems, this option enables using
memory above 15Mb (up to a kernel imposed limit, around 768Mb) for
passing the initrd to the kernel. The presence of this option merely
indicates that your system does not have the old BIOS limitation.
This switch (or its abscence) is not passed to the kernel, and does not
in any way affect the
amount of physical memory which it will use. (See the
kernel documentation for the kernel command line parameter
"mem=" for limiting the memory used by the kernel.)
lba32
Generate 32-bit Logical Block Addresses instead of cylinder/head/sector
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 cylinder/head/sector ('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.
linear
Generate 24-bit linear sector addresses instead of cylinder/head/sector
(geometric) addresses. Linear addresses are translated at run time to
geometric addresses, and are limited to cylinders <= 1023. When using
`linear' with large disks,
/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 (post-1998).
lock
Enables automatic recording of boot command lines as the defaults
for the following boots. This way, lilo "locks" on a choice until it is
manually overridden.
mandatory
The per-image password option `mandatory' (see below) applies to all images.
map=<map-file>
Specifies the location of the map file. If `map' is omitted, the file
/boot/map
is used.
On machines with a pre-1998 BIOS, the EDD bios extensions which are required
to support "lba32" disk sector addressing may not be present. In this case,
the boot-loader will fall back automatically to "geometric" addressing; this
fall back situation, or the specific use of "geometric" or "linear"
addressing, will require the map file to be located within the first 1024
cylinders of the disk drive. This BIOS limitation is not present on
post-1998 systems, most of which support the newer EDD disk BIOS calls.
menu-title=<title-string>
Specifies the title line (up to 37 characters) for the boot menu. This
title replaces the default "LILO Boot Menu" title string. If
boot-menu.b
is not installed as the boot loader (see
install=
option), then this line has no effect.
menu-scheme=<color-scheme>
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:
<text>:<highlight>:<border>:<title>
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=Wm intense white on magenta
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.
message=<message-file>
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 "LILO ". In the message, the FF
character ([Ctrl L]) clears the local screen. This is undesirable when
the 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.
nowarn
Disables warnings about possible future dangers.
optional
The per-image option `optional' (see below) applies to all images.
password=<password>
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'.
prompt
Automatic booting (see `delay' above) will not take place unless a locked or
pre-stored ("lilo -R") command line is present. Instead, the boot
loader will issue the
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'.
raid-extra-boot=<option>
This option only has meaning for RAID1 installations.
The <option> may be specified as none, auto, mbr-only,
or a comma-separated list of devices; e.g., "/dev/hda,/dev/hdc6". Starting
with LILO version 22.0, the boot record is normally written to the first
sector of the RAID1 device. On PARALLEL raid sets, no other boot records
are needed. The
default action is 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.
restricted
The per-image password option `restricted' (see below) applies to all images.
serial=<parameters>
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:
<port>[,<bps>[<parity>[<bits>]]]
<port>: the number of the serial port, zero-based. 0 corresponds to
COM1 alias /dev/ttyS0, etc. All four ports can be used (if present).
<bps>: the baud rate of the serial port. The following baud rates are
supported: 110, 150, 300, 600, 1200, 2400(default), 4800, 9600, plus the
extended rates 19200, 38400, and 57600(56000). 115200 is allowed, but may
not work with all COMx port hardware.
<parity>: the parity used on the serial line. The boot loader ignores input
parity and strips the 8th bit. The following (upper or lower case)
characters are used to describe the parity: "n" for no parity, "e"
for even parity and "o" for odd parity.
<bits>: the number of bits in a character. Only 7 and 8 bits are
supported. Default is 8 if parity is "none", 7 if parity is "even"
or "odd".
If `serial' is set, the value of `delay' is automatically raised to 20.
Example: "serial=0,2400n8" initializes COM1 with the default parameters.
single-key
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 ("install=").
suppress-boot-time-BIOS-data
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.
timeout=<tsecs>
sets a timeout (in tenths of a second) for keyboard input at the
boot:
prompt. "timeout" only has meaning if "prompt" is mentioned.
If no key is pressed for the specified time, the default image is
automatically booted. The default timeout is infinite.
verbose=<number>
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.
vmdefault=<name>
The named boot image is used as the default boot if booting in "virtual"
mode with a virtual monitor, such as VMware(tm). Thus a real mode boot and
a virtual mode boot can be made to have different default boot images.
Additionally, the kernel configuration parameters
append, ramdisk, read-only, read-write, root
and
vga
can be set in the global options section. They are used as defaults
if they aren't specified in the configuration sections of the
respective kernel images.
PER-IMAGE SECTION
A per-image section starts with either a line
image=<pathname>
to indicate a file or device containing the boot image of a Linux
kernel, or a line
other=<device>
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.
append=<string>
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 "image="
section. Example:
append="mem=96M hd=576,64,32 console=ttyS1,9600"
initrd=<name>
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).
literal=<string>
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.
ramdisk=<size>
This specifies the size (e.g., "4096k") of the optional RAM disk. A value of
zero indicates that no RAM disk should be created. If this variable is
omitted, the RAM disk size configured into the boot image is used.
read-only
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).
read-write
This specifies that the root file system should be mounted read-write.
It may be specified as a global option.
root=<root-device>
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.)
vga=<mode>
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).
<number>: use the corresponding text mode. A list of available modes
can be obtained by booting with
vga=ask
and pressing [Enter].
If this variable is omitted, the VGA mode setting contained in the
kernel image is used. (And that is set at compile time using the
SVGA_MODE variable in the kernel Makefile, and can later be changed with
the rdev(8) program.)
ALTERNATE SYSTEM (other=)
Used to load systems other than Linux. The `other = <device>' specifies
the boot sector of an alternate system contained on a device or disk
partition; e.g., DOS on, say, `/dev/hda2', or a floppy on `/dev/fd0'.
In the case of booting another system there are these options:
loader=<chain-loader>
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=<letter>
below).
table=<device>
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.
table=<drive-letter>
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.
change
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.
map-drive=<num>
Maps BIOS calls for the specified drive to the device code specified on the
next line as to=<num>. This mapping is useful for booting operating
systems, such as DOS, from the second hard drive. The following, swaps the
C: and D: drives,
map-drive=0x80
to=0x81
map-drive=0x81
to=0x80
unsafe
Do not access the boot sector at map creation time. This disables
some sanity checks, including a partition table check. If the boot
sector is on a fixed-format floppy disk device, using UNSAFE avoids the
need to put a readable disk into the drive when running the map
installer. If the boot sector is on a hard drive, the BIOS device code
of the drive will have to be specified explicitly with "disk=/dev/XXXX
bios=0x8X inaccessible" in the configuration file.
`unsafe' and `table' (explicit or implicit) are mutually incompatible.
COMMON OPTIONS (image= & other=)
In both the
image= and other=
cases, the following options apply.
label=<name>
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'.
alias=<name>
A second name for the same entry can be used by specifying an alias.
lock
(See above.)
optional
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.
password=<password>
Protect the `image=' or `other=' with a password (or passphrase).
It may be specified as a global option.
The interpretation of the `password=' setting is modified by the words
`mandatory', `restricted', and `bypass' (see below).
The password may be specified in the config-file (less secure) or entered
at the time the boot loader is installed. To request interactive entry of
the password, it should be specified: password="".
Passwords entered interactively are not required to be entered again if the
boot installer is re-run. They are cached, in hashed form, in a companion
file to the config-file, default name: /etc/lilo.conf.crc. If the
config-file is updated, a warning message
will be issued telling you to re-run lilo -p to force re-creation of the
password cache file.
mandatory
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.
restricted
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.
bypass
No password is required to boot this image. Used to indicate that the global
password does not apply to this `image=' or `other='.
vmwarn
If booting under a virtual monitor such as VMware(tm), the image with this
label will cause a cautionary warning to be issued at boot time, and user
intervention will be required to continue or to abort the boot process.
vmdisable
If booting under a virtual monitor, the image with this label will not be
displayed as a boot option. The image is only bootable in real mode. See
vmdefault
above.