lilo.pod 16.9 KB
Newer Older
1 2 3 4
=for header
manpage:  LILO
section:  8
title:    lilo documentation
5 6
version:  24.2
datum:    2015-11-22
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

=encoding utf8

=head1 NAME

lilo - install boot loader of LiLO


Main function:

E<10> E<8>

Auxiliary uses:

E<10> E<8>
B<lilo> B<-A>        # activate/show active partition E<10> E<8>
B<lilo> B<-E>        # edit header or update a bitmap file E<10> E<8>
B<lilo> B<-I>        # inquire path name of current kernel E<10> E<8>
B<lilo> B<-M>        # write a Master Boot Loader on a device E<10> E<8>
B<lilo> B<-q>        # query map and show its content E<10> E<8>
B<lilo> B<-R>        # set default command line for next reboot E<10> E<8>
B<lilo> B<-T>        # tell more about specified topic E<10> E<8>
B<lilo> B<{-u|-U}>   # uninstall LiLO boot loader


lilo installs a boot loader that will be activated the next time you boot
your system. The default configuration file F</etc/lilo.conf> (see manpage
lilo.conf(5)) will contain most options, but many, including those which
override the configuration file, may be specified  on the command line.

=head1 OPTIONS

=over 4

=item B<-A> I<master-device [N]>

Used with a single argument, inquire of active partition on device I<master-device>;
e.g. I</dev/sda>. With N==0: deactivate all partitions on the device. With N in
48 49
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 (MBR) of the device
(see the -M option), any partition may be made active.  Whether the actual OS
52 53
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.
54 55 56 57 58

=item B<-b> I<bootdev>

Set the boot device where the boot loader will be installed. For example
I<"-b /dev/sda"> set the Master Boot Record (MBR) on the first disk as boot
device. I<"-b /dev/sdb5"> set the first logical partition on the second disk
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
as boot device.

=item B<-B> I<bitmap-file>

Define a bitmap file for the boot-time graphics screen, preferably one already
pre-processed with the I<-E> option.

=item B<-c>

Enable map compaction. This will merge read requests from adjacent sectors.
Speeds up the booting especially from floppy.

=item B<-C> I<config-file>

Set another pathname and filename for the configuration file. The default
configuration file is F</etc/lilo.conf>.

=item B<-d> I<delay-time>

Set the delay time in tenths of a second ('20' = 2 sec) before automatically
booting the first image. This give you time to interrupt the automatic boot
process with: Shift, Alt, Ctrl, ScrollLock, or CapsLock. If interrupted, the
I<boot:> prompt will be displayed.

This switch will be overridden by the appearance of I<prompt> in the
configuration file!

=item B<-D> I<label>

Use the kernel with the given label as the default kernel to boot, instead of
the first one in the list of the configuration file.

=item B<-E> I<>

If the extension B<.xxx> is B<.bmp>, then take the file to be a bitmap graphic file
for use in the I<bitmap=> configuration file directive. Enter an interactive
editor to create or update the color/placement information in the LILO header
of this bitmap file. (see I<bmp-colors>, I<bmp-table>, and I<bmp-timer> on the
manual page for I<lilo.conf (5)>.)

If B<.xxx> is B<.dat> then take this file to be a configuration file to set bitmap
graphic parameters, which are transferred into the LILO header in the bitmap file
of the same name.

When a B<.bmp> file is modified using a graphics editor (e.g. GIMP), the LILO
header will be lost. It can be restored using the B<dat> file, which is used as
a text-based backup for the LILO header information.

=item B<-f> I<disk-tab>

Set another disk geometry parameter file. The default is F</etc/disktab>.

=item B<-F>

Override boot sector check for filesystems (e.g., swap, ext4, xfs ...) which
might be destroyed by the installation of the LILO boot sector on the first
sector of the partition if these filesystems use the first sector as a superblock.

Compare with I<-P ignore>, which bypasses certain partition table checks.

=item B<-g>

Generate 'cylinder/head/sector' (CHS geometric) disk addresses. Limited to cylinders
up to 1023. Forces compatibility with very old versions of LILO I<(obsolete switch)>.

=item B<-H>

Override fatal halt if a RAID array does not have all disks active.

=item B<-I> I<label [D|a|i|k|r|R]>

B<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 B<label> parameter and
prints the default "image=" label, or the first "image=" label is selected if
no default B<image> is set.

=item B<-l>

Generate 24-bit linear sector addresses instead of cylinder/head/sector addresses.

=item B<-L>

Generate 32-bit Logical Block Addresses (LBA) instead of cylinder/head/sector (CHS)
addresses, allowing access to all partitions on disks with more than 1024 cylinders.
(This is the default geometry).

=item B<-m> I<map-file>

Use another map file instead of the default file /boot/map.

=item B<-M> I<master-device> B<{mbr|ext}>

Install a Master Boot Record on the device specified as master-device, selecting
the Standard or Extended Master Boot Loader per 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 I<mbr> is set, 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 I<ext> is set,
the search for an active partition will include logical partitions as well.
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
The presence of the Extended Master Boot Loader on the Master Boot Record
(MBR = sector 0) of a disk affects the operation of the I<-A> option.

=item B<-p>

Require interactive entry of all passwords set as "" in the configuration file.

=item B<-P> I<{fix|ignore|<global-option>}>

Fix or ignore 'corrupt' partition tables, e.g. partition tables with linear and
cylinder/head/sector addresses that do not correspond. Always try B<ignore>
first, as B<fix> will re-write the partition table, possibly destroying all
partitions on the disk.

B<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.

B<E<lt>global-optionE<gt>> allows the passing of any global option which may
appear in the global section (top) of the  configuration file (F</etc/lilo.conf>).
For instance I<'-P nowarn'> will pass the 'nowarn' option, just as though 'nowarn'
appeared in the configuration file (same as the '-w' switch).  Similarly
I<'-P timeout=50'> will add or override the 'timeout=' line in the  configuration
file. Note that the general B<-P> switch actually duplicates a number of command
line option switches. However, it is not strictly the same as some switches which
cause an override of other options; e.g. '-g' (-P geometric), '-L' (-P lba32).

=item B<-q>

List the currently mapped files. B<lilo> maintains a file, by default F</boot/map>,
containing each name and location of the kernel(s) to boot. This option will list
the names therein.  Use with B<-v> for more detailed information about the
installed boot loader.

=item B<-r> I<root-directory>

Before doing anything else, do a I<'chroot'> to the indicated directory. The new
root directory must contain a I</dev> directory and may need a /boot directory.
It may also need an F</etc/lilo.conf> file.

=item B<-R> I<command-line>

This  option sets the default command for the boot loader for the next time it
executes. After execution the boot loader will erase this line because it 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 I<lock>-ed or
I<fallback> command line.

210 211 212 213 214 215 216
This Command line starts with image identifier (as shown during map file update),
then space, then kernel parameters. The kernel parameters are appended to kernel
command line constructed routinely. In either case, it there were parameters
or not, such one-time command will be treated by loaders code, as if it is set
at 'boot:' prompt. This could lead to 'password:' prompt at boot time. Be warned!
Refer to I<lilo.conf(5)> for details.

217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300
=item B<-s> I<save-file>

When lilo writes a new boot sector, it preserves the former contents of the boot
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 defines the backup save file in one of three ways: a save directory
(default is '/boot') using the default filename 'boot.NNNN' in the defined
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 set.

=item B<-S> I<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 setting may be of a save
directory, pathname template, or full pathname (which includes the '.NNNN' suffix).

=item B<-t>

Test only. Do not really write a new boot sector or map file. Use together with
B<-v> to find out what lilo is about to do.

=item B<-T> I<option>

Print out system information, some of it extracted from system bios. This is more
convenient than booting the LILO diagnostic floppy on problem systems. B<option>
may be any one of the following:

 help          print a list of available diagnostics
 ChRul         list the partition types subject to
 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

=item B<-u> I<[device-name]>

Uninstall lilo by copying the saved boot sector back. The B<-s> and B<-C> switches
may be used with this option. The device-name is optional. A time-stamp is

=item B<-U> I<[device-name]>

The same as '-u', but do not check the time-stamp.

=item B<-v> I<[number]>

Increase verbosity. Giving one to five B<-v> options will make lilo more verbose.
The B<number> (range 1..5) set verbosity level.

=item B<-V>

Print version number.

=item B<-w>I<[+|-]>

Used as B<-w> or B<-w-> to suppress warning messages. Used as '-w+' to override
I<'nowarn'> in the configuration file and show warning messages.

=item B<-x> I<option>

For RAID installations  only. The option may be any of the keywords: I<none>,
I<auto>, I<mbr>, I<mbr-only>, or a comma separated list of additional boot
devices (no spaces allowed in the list).

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 I<'-x mbr-only'> switch.

=item B<-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.

=item B<-z>

When used with the '-M' switch, clears the Volume-ID.  Usually used in the
302 303
following sequence to generate a new Volume-ID:

304 305
    lilo -z -M /dev/sda
    lilo -M /dev/sda
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431

=item B<-Z> I<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
              -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


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

=over 4

=item B<lock>

Locks the command line, as though 'lock' had been defined in F</etc/lilo.conf>.

=item B<mem=###[,K,M,G]>

Set 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

=item B<nobd>

Suppresses the BIOS data check. This option is reserved for use with
non-IBM-compliant BIOS's which hang with the lines:

    BIOS data check

=item B<vga=[ASK,EXT,EXTENDED,NORMAL,###,0x###]>

Allows overriding the default video mode upon kernel startup.



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 re-try the operation.  All hex error codes are BIOS return values,
except for the lilo-generated codes: 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 mismatch 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.

=head1 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.


 Copyright (C) 1992-1998 Werner Almesberger
 Copyright (C) 1999-2007 John Coffman
 Copyright (C) 2009-2014 Joachim Wiedorn

434 435
Redistribution and use in source and binary forms, with or without
modification, are permitted under the terms of the BSD license found in
436 437 438 439 440 441 442 443 444 445 446
the COPYING file.

=head1 AUTHOR

B<lilo> was written by:

 Werner Almesberger (version 0 to 21),
 John Coffman (version 21.2 to 22.8),
 Joachim Wiedorn (since version 23.0).

This manual page was written by Werner Almesberger and Joachim Wiedorn
<joodevel at>.
448 449 450 451

=head1 SEE ALSO

455 456 457 458