From Linux Man Pages
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 parti-
tion 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 an extended partition
depends on the characteristics of the OS. LILO boot records for Linux may be booted from an extended par-
tition.
-b bootdev
Specify the boot device; i.e., where the boot loader will be installed. "-b /dev/hda" specifies the Mas-
ter Boot Record; "-b /dev/sdb5" specifies the first extended partition on the second SCSI 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 (espe-
cially 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 overriden 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 instal-
lation of the LILO boot sector on the first sector of the partition. These filesystems use the first sec-
tor 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 com-
patibility with older versions of LILO.
-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 speci-
fied, 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 ta-
ble, 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 actu-
ally 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 num-
bers 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 path-
name 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 path-
name (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 begin-
ning "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.
l l. -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 on the command line when a kernel image is booted. These options
are processed by LILO, and are removed from the command line 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]
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 hexadecimil
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:
l l. 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 dis-
play) and what is actually being used by the BIOS (one of the lilo diagnostic disks, available in the source dis-
tribution, 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 incompatibilty 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 mulitple backup files to be created
correctly. It is best to use the default mechanism, as it works correctly in all cases.
RELATED
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.
CATEGORY