NAME¶
lilo - install boot loader
SYNOPSIS¶
Main function:
/sbin/lilo - install boot loader
Auxiliary uses:
/sbin/lilo -A - activate/show active partition
/sbin/lilo -E - edit header or update a bitmap file
/sbin/lilo -I - inquire path name of current kernel
/sbin/lilo -M - write a Master Boot Loader on a device
/sbin/lilo -q - query map
/sbin/lilo -R - set default command line for next reboot
/sbin/lilo -T - tell more about specified topic
/sbin/lilo {-u|-U} - uninstall LILO boot loader
DESCRIPTION¶
lilo installs a boot loader that will be activated the next time you boot
your system. The default configuration file
/etc/lilo.conf (see 'man
lilo.conf') will contain most options, but many, including those which
override the configuration file, may be specified on the command line.
- -A master-device [ N ]
- Used with a single argument, inquire of active partition on
device master-device; e.g., /dev/hda. With N==0, deactivate
all partitions on the device. With N in the range [1..n], activate the
specified partition and deactivate all others. Normally, only primary
partitions [1..4] may be activated, but if the Extended Master Boot Loader
is present on the Master Boot Record of the device (see the -M
option), any partition may be made active. Whether the actual OS in the
partition will boot from a logical partition depends on the
characteristics of the OS. LILO boot records for Linux may be booted from
a logical partition.
- -b bootdev
- Specify the boot device; i.e., where the boot loader will
be installed. "-b /dev/hda" specifies the Master Boot Record;
"-b /dev/sdb5" specifies the first logical partition on the
second SATA disk.
- -B bitmap-file
- Specify a bitmap file for the boot-time graphics screen,
preferably one already pre-processed with the 'lilo -E' command.
- -c
- Enable map compaction. This will merge read requests from
adjacent sectors. Speeds up the booting (especially from floppy).
- -C config-file
- lilo Specify an alternate pathname for the
configuration file. This option overrides the use of the default
configuration file, /etc/lilo.conf.
- -d delay
- Specifies the delay time in tenths of a second (20 = 2 sec)
before automatically booting the first image. Gives you time to interrupt
the automatic boot process with Shift, Alt, Ctrl, ScrollLock, or CapsLock.
If interrupted, the `boot:' prompt is displayed. This switch is overridden
by the appearance of prompt in the configuration file.
- -D label
- Use the kernel with the given label, instead of the first
one in the list, as the default kernel to boot.
- -E filename.ext
- If .ext is .bmp, then take the file to be a
bitmap graphic file for use in the "bitmap=" configuration file
directive. Enter an interactive editor to create or update the
color/placement information in the bitmap file LILO header. (see
'bmp-colors', 'bmp-table', and 'bmp-timer' on the man page for
'lilo.conf(5)'.)
If .ext is .dat, then take the file to be a configuration file
which specifies bitmap graphic parameters, which are transferred into the
LILO header in the bitmap file of the same name.
When a .bmp file is modified using a graphics editor (e.g., GIMP),
the LILO header will be lost. It can be restored using the .dat
file, which is used as a text-based backup for the LILO header
information.
- -f disk-tab
- Specify disk geometry parameter file. (The default is
/etc/disktab.)
- -F
- Override boot sector check for filesystems (e.g., swap,
XFS, ...) which might be destroyed by the installation of the LILO boot
sector on the first sector of the partition. These filesystems use the
first sector as a superblock.
Compare with "-P ignore", which bypasses certain partition table
checks.
- -g
- Generate cylinder/head/sector (geometric) disk addresses.
Limited to cylinders up to 1023. Forces compatibility with older versions
of LILO.
- -H
- Override fatal halt when a RAID array does not have all
disks active.
- -i boot-loader
- Specify a file to be used as the new boot loader. (The
default is /boot/boot.b.)
- -I label [D|a|i|k|r|R]
- label is taken to be the name of an image specified
in the configuration file. This command will print the path name of the
corresponding kernel file, keytable file, initial ramdisk file, root
specification, or "append=" string ("i",
"k", "r", "R", or "a" option). The
"D" option ignores the label parameter, and prints the
default "image=" label, or first "image=" label if no
default image is specified.
- -l
- Generate 24-bit linear sector addresses instead of
cylinder/head/sector addresses.
- -L
- Generate 32-bit Logical Block Addresses instead of
cylinder/head/sector addresses, allowing access to all partitions on disks
with more than 1024 cylinders.
- -m map-file
- Use specified map file instead of the default.
- -M master-device [mbr|ext]
- Install a Master Boot Record on the device specified as
master-device, selecting the Standard or Extended Master Boot
Loader per the option. The primary partition table on master-device
is undisturbed. If no valid Volume-ID (serial number) is present, then
generate one and write it to the MBR. If mbr is specified, the
Standard Master Boot Loader will search partitions 1-4 for an active flag,
and boot the flagged partition. Only one active flag is allowed. If
ext is specified, the search for an active partition will include
extended partitions as well. The presence of the Extended Master Boot
Loader on the Master Boot Record (MBR = sector 0) of a disk affects the
operation of the -A option.
- -p
- Require interactive entry of all passwords specified as
"" in the configuration file.
- -P {fix|ignore|<global-option>}
- Fix or ignore `corrupt' partition tables, i.e., partition
tables with linear and cylinder/head/sector addresses that do not
correspond. Always try -P ignore first, as -P fix will
re-write the partition table, possibly destroying all partitions on the
disk.
-P ignore is also used to bypass the partition table check for
partition types within the partition table which might not allow the
installation of a LILO boot sector. Compare with the "-F" flag,
which overrides the check of the actual boot sector.
-P <global-option> allows the passing of any global option
which may appear in the global section (top) of the configuration file
(/etc/lilo.conf). For instance, -P nowarn will pass the
"nowarn" option, just as though "nowarn" appeared in
the configuration file (same as the "-w" switch). Similarly,
-P timeout=50 will add or override the "timeout=" line in
the configuration file. Note that the general -P switch actually
duplicates a number of command line option switches. However, it is not
strictly the same as some switches whick cause an override of other
options; e.g., "-g" (-P geometric), "-L" (-P
lba32).
- -q
- List the currently mapped files. lilo maintains a
file, by default /boot/map, containing the name and location of the
kernel(s) to boot. This option will list the names therein. Use with
-v for more detailed information about the installed boot
loader.
- -r root-directory
- Before doing anything else, do a chroot to the
indicated directory. The new root directory must contain a /dev
directory, and may need a /boot directory. It may also need an
/etc/lilo.conf file.
- -R command line
- This option sets the default command for the boot loader
the next time it executes. The boot loader will then erase this line: this
is a once-only command. It is typically used in reboot scripts, just
before calling `shutdown -r'. Used without any arguments, it will cancel a
lock-ed or fallback command line.
- -s save-file
- When lilo writes a new boot sector, it preserves the
former contents of the sector in a file, named by default
/boot/boot.NNNN, where NNNN is the hexadecimal representation of
the major and minor device numbers of the drive/partition. This option
specifies the backup save file in one of three ways: a save directory
(default is '/boot') using the default filename 'boot.NNNN' in the
specified directory; a pathname template to which '.NNNN' is appended
(default would be '/boot/boot'); or the full pathname of the file, which
must include the correct '.NNNN' suffix. When used with the -u
option, the full file pathname must be specified.
- -S save-file
- Normally, lilo will not overwrite an existing boot
sector save file. This options says that overwriting is to be forced. As
with -s, the specification may be of a save directory, pathname
template, or full pathname (which includes the '.NNNN' suffix.)
- -t
- Test only. Do not really write a new boot sector or map
file. Use together with -v to find out what lilo is about to
do.
- -T option
- Print out system information, some of it extracted from the
system bios. This is more convenient than booting the LILO diagnostic
floppy on problem systems. option may be any one of the
following:
-
help - print a list of available diagnostics
ChRul - list the partition types subject to
Change-Rules
EBDA - list Extended BIOS Data Area information
geom=<drive> list drive geometry for bios drive;
e.g., geom=0x80
geom - list drive geometry for all drives
table=<drive> list the primary partition table;
e.g., table=/dev/sda
video - list graphic modes available to boot
loader
- -u [device-name]
- Uninstall lilo by copying the saved boot sector
back. The '-s' and '-C' switches may be used with this option. The
device-name is optional. A time-stamp is checked.
- -U [device-name]
- Idem, but do not check the time-stamp.
- -v
- Increase verbosity. Giving one to five -v options
will make lilo more verbose, or use, -v n (n=1..5) to set
verbosity level ' n'.
- -V
- Print version number.
- -w
- Used as -w or -w-, suppress warning messages.
Used as -w+, override nowarn in the configuration file, and
show warning messages.
- -x option
- For RAID installations only. The option may be any of the
keywords none, auto, mbr, mbr-only, or a comma
separated list of additional boot devices (no spaces allowed in the
list).
- -X
- Reserved for LILO internal use. May produce different
output for different LILO versions. The line beginning "CFLAGS="
will contain the compiler options used to generate this version of
LILO.
- -z
- When used with the `-M' switch, clears the Volume-ID.
Usually used in the following sequence to generate a new Volume-ID:
lilo -z -M /dev/hda
lilo -M /dev/hda
- -Z option
- Tells the boot installer whether special precautions need
to be taken because the BIOS fails to pass the correct device code in DL
(-Z0). Or may specify that the BIOS always gets DL right (-Z1).
Corresponds to, and overrides, the configuration file option
'bios-passes-dl='.
The above command line options correspond to the key words in the config file
indicated below.
-
-b bootdev |
boot=bootdev |
-B file.bmp |
bitmap=file.bmp |
-c |
compact |
-d dsec |
delay=dsec |
-D label |
default=label |
-i boot-loader |
install=boot-loader |
-f file |
disktab=file |
-g |
geometric |
-l |
linear |
-L |
lba32 |
-m mapfile |
map=mapfile |
-P fix |
fix-table |
-P ignore |
ignore-table |
-s file |
backup=file |
-S file |
force-backup=file |
-v [N] |
verbose=N |
-w |
nowarn |
-x option |
raid-extra-boot=option |
-Z option |
bios-passes-dl=option |
BOOT OPTIONS¶
The options described here may be specified at boot time on the command line
when a kernel image is booted. These options are processed by LILO, and are
removed from the command line before it is passed to the kernel, unless
otherwise noted.
- lock
- Locks the command line, as though 'lock' had been specified
in 'lilo.conf.'
- mem=###[,K,M,G]
- Specifies the maximum memory in the system in bytes,
kilobytes, megabytes, or gigabytes. This option is not removed from the
command line, and is always passed to the kernel.
- nobd
- Suppresses the BIOS data check. This option is reserved for
use with non-IBM-compliant BIOS's which hang with the lines:
Loading...............
BIOS data check
- vga=[ASK,EXT,EXTENDED,NORMAL,###,0x###]
- Allows overriding the default video mode upon kernel
startup.
BOOT ERRORS¶
The boot process takes place in two stages. The first stage loader is a single
sector, and is loaded by the BIOS or by the loader in the MBR. It loads the
multi-sector second stage loader, but is very space limited. When the first
stage loader gets control, it types the letter "L"; when it is ready
to transfer control to the second stage loader it types the letter
"I". If any error occurs, like a disk read error, it will put out a
hexadecimal error code, and then it will re-try the operation. All hex error
codes are BIOS return values, except for the lilo-generated 40, 99 and 9A. A
partial list of error codes follows:
-
00 no error |
|
01 invalid disk command |
|
02 address mark not found |
|
03 disk write-protected |
|
04 sector not found |
|
06 floppy disk removed |
|
08 DMA overrun |
|
0A bad sector flag |
|
0B bad track flag |
|
20 controller failure |
|
40 seek failure (BIOS) |
|
40 cylinder>1023 (LILO) |
|
99 invalid second stage index sector (LILO) |
|
9A no second stage loader signature (LILO) |
|
AA drive not ready |
|
FF sense operation failed |
|
Error code 40 is generated by the BIOS, or by LILO during the conversion of a
linear (24-bit) disk address to a geometric (C:H:S) address. On older systems
which do not support lba32 (32-bit) addressing, this error may also be
generated. Errors 99 and 9A usually mean the map file (-m or map=) is not
readable, likely because LILO was not re-run after some system change, or
there is a geometry mis-match between what LILO used (lilo -v3 to display) and
what is actually being used by the BIOS (one of the lilo diagnostic disks,
available in the source distribution, may be needed to diagnose this problem).
When the second stage loader has received control from the first stage, it
prints the letter "L", and when it has initialized itself, including
verifying the "Descriptor Table" - the list of kernels/others to
boot - it will print the letter "O", to form the full word
"LILO", in uppercase.
All second stage loader error messages are English text, and try to pinpoint,
more or less successfully, the point of failure.
INCOMPATIBILITIES¶
lilo is known to have problems with the
reiserfs introduced with
the 2.2.x kernels, unless the file system is mounted with the 'notail' option.
This incompatibility has been resolved with reiserfs 3.6.18 and lilo 21.6.
reiser4 introduced with the 2.5.x kernels requires lilo 22.5.2 or
later.
Beginning with version 22.0, RAID installations write the boot record to the
RAID partition. Conditional writing of MBRs may occur to aid in making the
RAID set bootable in a recovery situation, but all default actions may be
overridden. Action similar to previous versions is achieved using the `-x
mbr-only' switch.
BUGS¶
Configuration file options `backup' and `force-backup' should specify a backup
directory or backup file pathname template on all RAID installations. Use of
an explicit filename may not allow multiple backup files to be created
correctly. It is best to use the default mechanism, as it works correctly in
all cases.
SEE ALSO¶
fdisk(8),
lilo.conf(5),
mkrescue(8),
mkinitrd(8).
The lilo distribution comes with very extensive TeX documentation through
Version 21. Text file README's in the source directory provide updates on more
recent topics. This can be found in /usr/share/doc/lilo-doc/ on Debian-based
systems.
AUTHORS¶
Werner Almesberger <almesber@lrc.epfl.ch> (versions 0 to 21)
John Coffman <johninsd@san.rr.com> (21.2 to present date)