Computer Science
LILO.CONF(5) LILO.CONF(5)
NAME
lilo.conf - configuration file for lilo
DESCRIPTION
This file, by default /etc/lilo.conf, is read by the boot
loader installer lilo (see lilo(8)).
It might look as follows:
boot = /dev/hda
delay = 40
compact
vga = normal
root = /dev/hda1
read-only
image = /zImage-2.5.99
label = try
image = /zImage-1.0.9
label = 1.0.9
image = /tamu/vmlinuz
label = tamu
root = /dev/hdb2
vga = ask
other = /dev/hda3
label = dos
table = /dev/hda
This configuration file specifies that lilo uses the Mas-
ter Boot Record on /dev/hda. (For a discussion of the var-
ious ways to use lilo, and the interaction with other
operating systems, see user.tex from the lilo documenta-
tion.)
When booting, the boot loader will wait four seconds (40
deciseconds) for you to press Shift. If you don't, then
the first kernel image mentioned (/zImage-1.5.99, that you
probably installed just five minutes ago) will be booted.
If you do, the boot loader will ask you which image to
boot. In case you forgot the possible choices, press
[TAB] (or [?], if you have a US keyboard), and you will be
presented with a menu. You now have the choice of booting
this brandnew kernel, or an old trusted kernel, or a ker-
nel on another root file system (just in case you did
something stupid on your usual rootfs), or booting a dif-
ferent operating system. 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 6 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.
GLOBAL OPTIONS
There are many possible keywords. The description below is
almost literally from user.tex (just slightly abbrevi-
ated).
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.
boot=boot-device
Sets the name of the device (e.g. a hard disk par-
tition) that contains the boot sector. If this key-
word is omitted, the boot sector is read from (and
possibly written to) the device that is currently
mounted as root.
change-rules
Defines boot-time changes to partition type numbers
(`hiding'). See section "Partition type change
rules" of user.tex for 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.
delay=tsecs
Specifies the number of tenths of a second the boot
loader should wait before booting the first image.
This is useful on systems that immediately boot
from the hard disk after enabling the keyboard.
The boot loader doesn't wait if `delay' is omitted
or is set to zero.
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=' parame-
ter. 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 `disk-
tab' is omitted. The use of disktabs is discour-
aged.
fix-table
This allows lilo to adjust 3D addresses in parti-
tion 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 operat-
ing 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 transla-
tion 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.
ignore-table
tells lilo to ignore corrupt partition tables.
install=boot-sector
Install the specified file as the new boot sector.
If `install' is omitted, /boot/boot.b is used as
the default.
linear Generate linear sector addresses instead of sec-
tor/head/cylinder addresses. Linear addresses are
translated at run time and do not depend on disk
geometry. Note that boot disks may not be portable
if `linear' is used, because the BIOS service to
determine the disk geometry does not work reliably
for floppy disks. When using `linear' with large
disks, /sbin/lilo may generate references to inac-
cessible disk areas, because 3D sector addresses
are not known before boot time.
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 over-
ridden.
map=map-file
Specifies the location of the map file. If `map' is
omitted, the file /boot/map is used.
message=message-file
specifies a file containing a message that is dis-
played before the boot prompt. No message is dis-
played while waiting for a shifting key after
printing "LILO ". In the message, the FF character
([Ctrl L]) clears the local screen. 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.
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.
prompt forces entering the boot prompt without expecting
any prior key-presses. Unattended reboots are
impossible if `prompt' is set and `timeout' isn't.
restricted
The per-image 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 fol-
lowing baud rates are supported: 110, 150, 300,
600, 1200, 2400, 4800 and 9600 bps. Default is
2400 bps.
<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 auto-
matically raised to 20.
Example: serial=0,2400n8 initializes COM1 with the
default parameters.
timeout=tsecs
sets a timeout (in tenths of a second) for keyboard
input. If no key is pressed for the specified time,
the first image is automatically booted. Similarly,
password input is aborted if the user is idle for
too long. The default timeout is infinite.
verbose=level
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.
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=pathname
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 sec-
tors to be mapped using
range=start-end
In the latter case (booting another system) there are the
three options
loader=chain-loader
This specifies the chain loader that should be
used. By default /boot/chain.b is used. The chain
loader must be specified if booting from a device
other than the first hard or floppy disk.
table=device
This specifies the device that contains the parti-
tion table. The boot loader will not pass parti-
tion 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.
unsafe Do not access the boot sector at map creation time.
This disables some sanity checks, including a par-
tition 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. `unsafe' and
`table' are mutually incompatible.
In both 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 set-
ting 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 cre-
ation time. This is useful to specify test kernels
that are not always present.
password=password
Protect the image by a password.
restricted
A password is only required to boot the image if
parameters are specified on the command line (e.g.
single).
KERNEL OPTIONS
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. Example:
append = "hd=64,32,202"
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 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. 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.
root=root-device
This specifies the device that should be mounted as
root. 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. 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.)
SEE ALSO
lilo(8), rdev(8).
The lilo distribution comes with very extensive documenta-
tion of which the above is an extract.
28 July 1995 1
Back to the index