1 Incompatibilities between LILO >= 22 and earlier versions
2 =========================================================
7 Starting with version 22, a third boot loader, '/boot/boot-bmp.b' is now
8 available. This loader supports booting from a bitmapped screen, defined in
9 a bitmap file referenced from the config file. This boot loader requires a
10 VGA adapter which supports video mode 0x12: 16-color, 640x480 pixels. It
11 will fall back to the teletype-text interface if such an adapter is not
17 The chain loader for loading OS/2 from other than the C: drive, 'os2_d.b',
18 is now obsolete. All of the functionality is combined into 'chain.b'.
23 A Makefile option in version 22, LBA32, makes 32-bit sector addressing the
24 default, instead of geometric addressing. Thus, the 1024 cylinder limit on
25 large disks will be avoided on virtually all newer (post 1998) systems.
26 With the fallback to geometric addressing as before, compatibility with
27 older systems is extremely likely. If geometric addressing must be forced
28 on older system, there is now the 'geometric' command and '-g' switch. Not
29 all versions of LILO will be compiled with the LBA32 switch to enable this
35 Installation on RAID1 partitions is completely re-written. Consult the
36 tutorial "README.raid1" for details. The boot loaders are no longer written
37 unconditionally to the MBRs of the disks containing the raid set partitions,
38 but preferably to the raid partition itself. Auxiliary records may be
39 written to MBRs, but this writing may be controlled with 'raid-extra-boot='.
40 A mode of operation compatible with previous versions is available.
43 Incompatibilities between LILO >= 21 and earlier versions
44 =========================================================
49 Since version 21.7, all IBM standard bit rates from 110 to 9600 are
50 supported, as well as extended rates of 19200, 38400, 57600, & 115200.
55 Starting with version 21.5, the default boot loader is '/boot/boot-menu.b',
56 referenced as '/boot/boot.b' through a symbolic link. This boot loader
57 allows booting from a text-based menu using the keyboard arrow keys to make
58 the kernel/other selection. For strict compatibility with earlier
59 teletype-text based boot loaders, '/boot/boot-text.b' is still available,
60 although probably unneeded.
65 A more complete set of default partition change-rules is available starting
66 with version 21.6 and later.
68 A Makefile option allows the automatic insertion of the "CHANGE AUTOMATIC"
69 command into the config file. A comment is now issued when this is done,
70 and it is possible to see the partition change rules in force by using a
71 verbosity level of 3: -v3 or verbose=3. Not all versions of LILO will be
72 compiled with the AUTOAUTO switch to enable this feature.
77 32-bit 0-based sector addressing has been available since version 21.2,
78 enabled by the 'lba32' (-L) option. If the BIOS does not support the EDD
79 packet calls on int 0x13 to use this feature, then the boot loader will fall
80 back to geometric (Cylinder:Head:Sector) addressing by using int 0x13, fn 8,
81 to obtain the disk geometry.
84 Incompatibilities between LILO >= 20 and earlier versions
85 =========================================================
90 The functionality of the chain loaders any_b.b and any_d.b has been
91 generalized and integrated into chain.b. any_b.b and any_d.b are
92 therefore no longer supported. Their behaviour can be emulated as
96 loader = /boot/any_b.b
109 loader = /boot/any_d.b
119 The use of os2_d.b changes as follows:
122 loader = /boot/os2_d.b
127 loader = /boot/os2_d.b
134 Removal of less common baud rates
135 ---------------------------------
137 The baud rates 150 bps and 600 bps are no longer available with the SERIAL
141 Incompatibilities between LILO >= 18 and earlier versions
142 =========================================================
147 Starting with version 18, LILO checks the type of the partition where it
148 stores its boot sector. LILO installation may therefore fail on systems
149 where the LILO boot sector resides on a seemingly unsuitable partition.
150 This problem can be solved by either changing the partition type of by
151 using the IGNORE-TABLE configuration option.
157 Is no longer documented and support for it will be removed in a future
158 version of LILO. See section "Disk geometry" in the accompanying
159 documentation for the right way to configure unusual disk geometry.
162 Booting kernel images from a device
163 -----------------------------------
165 An essentially useless feature of LILO is to be able to boot a kernel
166 from a device without file system, e.g.
171 Support for this will be removed in a future version of LILO. Also, new
172 functions such as kernels > 512kB are not supported for kernels booted
175 Note that booting of non-Linux systems (other = /dev/...) will in no
176 way be affected by this feature removal.
182 The REWRITE-TABLE configuration option and the compile-time options
183 REWRITE_TABLE, FIX_TYPE, and HIDE_DOS are not available in the current
184 version of LILO, because deficiencies were found in the implementation
185 in version 17 (e.g. attempts to alter the partition table of the second
186 disk resulted in a modification of the partition table of the first
187 disk, using the parameters of the second disk), and there was not
188 enough time to complete an improved version.
190 Future versions will use a radically different internal mechanism, but
191 no configuration change should be required in most cases. Users who
192 depend on REWRITE-TABLE to be available should continue to use their
193 current version of LILO and wait for a later version before upgrading.
196 Incompatibilities between LILO >= 17 and earlier versions
197 =========================================================
202 The last traces of "old-style" configuration have been removed.
205 Incompatibilities between LILO >= 0.16 and earlier versions
206 ===========================================================
211 When booting an operating system from any device than the first hard or floppy
212 disk, specifying the chain loader is now mandatory.
215 Incompatibilities between LILO >= 0.14 and earlier versions
216 ===========================================================
221 ... is gone. I don't think anybody used it and I got tired of updating it.
227 Kernels >= 1.1.43 support setup segments of variable size. LILO 0.15 is able
228 to detect this and act accordingly. However, older kernels could possibly
229 contain other information at that place. This can be discovered by running
230 the following command:
232 # /sbin/lilo -t -v -v | grep Setup
234 If very unusual numbers (e.g. below four or significantly bigger than five)
235 are shown, you may have such a kernel.
237 LILO has to be compiled without the VARSETUP option in such cases. Note that
238 later kernels may no longer support running LILO without VARSETUP.
241 Incompatibilities between LILO >= 0.13 and earlier versions
242 ===========================================================
244 Possible conflict with /etc/disktab from Shoelace
245 -------------------------------------------------
247 When using the new path names, installation of LILO may fail with
248 Invalid line in /etc/disktab:
249 "w0|wini|Generic hard disk:\"
250 if you have an old /etc/disktab file from Shoelace (a different boot loader
251 that is quite obsolete nowadays). Remove or rename that file before running
252 /sbin/lilo (or QuickInst).
254 Note: you may have an /etc/disktab file even if you've never used Shoelace,
255 because even current versions of SLS still install that file.
258 Removal of support for unstripped kernels
259 -----------------------------------------
261 (Compound) unstripped kernels are no longer supported by LILO, because
262 current kernels are expected to be compressed. This change also obsoletes
263 /etc/lilo/install (see below).
265 A new concept to support compressed kernels carrying symbol information may
269 Removal of /etc/lilo/install
270 ----------------------------
272 Early versions of LILO expected to find all parameters on the command line.
273 In order to simplify repeated re-installations of LILO, the invocation of
274 LILO with all its parameters was stored in /etc/lilo/install.
276 Because this was messy and introduced syntactical limitations,
277 /etc/lilo/config was introduced after a while and support for command-line
278 options was drastically reduced later. /etc/lilo/install now typically just
279 invoked /etc/lilo/lilo with no options or with -C /etc/lilo/config, which
280 became the default. Only when using compound unstripped kernels, one had to
281 put additional instructions to build the kernel file into /etc/lilo/install.
283 Now, that unstripped kernels are gone too (see above), /etc/lilo/install is
284 superfluous. Because the kernel Makefile still invokes LILO by calling
285 /etc/lilo/install, /etc/lilo/install should be a symbolic link to /sbin/lilo
286 or /etc/lilo/lilo until everybody has switched to the new directory
290 Directory hierarchy change
291 --------------------------
293 A new Linux directory structure is in the process of being standardized.
294 Most distributions will support the new structure. In order to install LILO
295 with the new structure, you have to use the .new versions of QuickInst and
296 Makefile. Otherwise, you have to use the .old versions.
298 The locations of the following files change:
300 Old location New location
301 ------------------------ -----------------
302 /etc/lilo/config.defines /etc/lilo.defines
303 /etc/lilo/config /etc/lilo.conf
304 /etc/lilo/disktab /etc/disktab
305 /etc/lilo/lilo /sbin/lilo
306 /etc/lilo/boot.NNNN /boot/boot.NNNN
307 /etc/lilo/part.NNNN /boot/part.NNNN
308 /etc/lilo/map /boot/map
309 /etc/lilo/*.b /boot/*.b
311 /etc/lilo/install should be a symbolic link to /sbin/lilo for backwards
312 compatibility. If you already have a (very old) /etc/disktab file from
313 Shoelace, you have to delete or replace it. (Note: SLS 1.03 still installs
314 that file, so you might have it even if you've never heard of Shoelace.)
316 The current documentation still uses the old paths.
319 Temporary unavailability of RAM disk size override
320 --------------------------------------------------
322 The RAM disk size override option (RAMDISK) has no effect when using
323 0.99pl13 or older kernels, because no corresponding parameter line item
324 exists. Support for it may be available in 0.99pl14 or later kernels.
327 Incompatibilities between LILO >= 0.12 and earlier versions
328 ===========================================================
330 The first stage boot loader now displays diagnostic codes if loading
331 the second stage loader fails. This may create irritating messages
332 like L06ILO on systems, where the first read access on a disk after
333 booting usually fails. These diagnostics can be disabled by setting
334 the compile-time option NO1STDIAG.
337 Incompatibilities between LILO >= 0.11 and earlier versions
338 ===========================================================
340 The configuration variable INSTALL is no longer required. If absent, a
341 default of /etc/lilo/boot.b is used. This means that it is no longer
342 possible to avoid installing a new boot sector when updating the map
343 file. The old behaviour can be restored by setting the compile-time
347 Incompatibilities between LILO >= 0.10 and earlier versions
348 ===========================================================
350 Version 0.10 of LILO is intentionally incompatible in many ways with
351 earlier versions. However, in most cases, there is an easy migration
354 LILO 0.10 may not work with versions of the following programs older
358 Peter Orbaek's poeigl 1.13a
359 Miquel van Smoorenburg's SysV-init 2.1
360 Mike Jagdis' bootsys version 3 (?)
363 Documentation cleaning and splitting
364 ------------------------------------
366 Because the documentation was slowly becoming a multiple-choice test,
367 all references to old versions of kernels and other programs have been
368 removed. All traces of removed features have vanished too.
370 The single file "doc.tex" is now split in two parts: the user's guide
371 "user.tex" and the technical overview "tech.tex". Reading the
372 technical overview is not necessary in order to install LILO.
375 Old-style configuration has been removed
376 ----------------------------------------
378 Old-style configuration (e.g. /etc/lilo/lilo /vmlinux,/dev/hda1) is no
379 longer supported. New-style configuration uses a configuration file in
380 a far better readable format (/etc/lilo/config). There is also space
381 for future extensions.
383 If you're still using old-style configuration, you have to switch to
384 new-style configuration before installing LILO 0.10.
386 For all versions of LILO since 0.7, an automated migration facility is
387 provided. See section "Migration" in the documentation of that version
388 of LILO. In short, you have to run the following commands _before_
389 upgrading to LILO 0.10:
391 # /etc/lilo/install -D >/etc/lilo/config
392 # mv install.new /etc/lilo/install
394 If you're using an older version of LILO than 0.7 or if you're not
395 using /etc/lilo/install, you should either manually create a
396 configuration file or use QuickInst to re-install from scratch.
402 Because LILO 0.10 doesn't understand old-style configuration, the dump
403 option (-D) is no longer supported. Therefore, if you need to migrate
404 from old-style configuration, you have to use the installed version of
408 No support for not-compound unstripped kernels
409 ----------------------------------------------
411 Since LILO 0.9, compound unstripped kernels are supported. They are
412 easier to handle and provide the same functionality as not-compound
413 unstripped kernels. Note: all this has _nothing_ to do with compressed
414 (zipped) kernels. They work fine with all versions of LILO.
417 Suggesting using a link for /etc/lilo/install
418 ---------------------------------------------
420 Because not-compound unstripped kernels, which were needing some
421 support code in /etc/lilo/install, have been removed, and because the
422 -C option is no longer necessary to distinguish between old-style and
423 new-style configuration, /etc/lilo/install is unnecessary in most
426 In order to preserve compatibility with older installations and with
427 installations that use code for special actions in /etc/lilo/install,
428 a symbolic link should be created from /etc/lilo/install to lilo.
431 Removed configuration option NOAUTO
432 -----------------------------------
434 The compile-time configuration option NOAUTO has been removed. This
435 means that you have to upgrade to poeigl ?.??? (or later) if you're
436 using simpleinit from an earlier version of poeigl. If the option
437 NOAUTO is still present, it is ignored.
440 Incompatibilities between LILO >= 0.9 and earlier versions
441 ==========================================================
443 Case-insensitive name matching
444 ------------------------------
446 By default, LILO is now configured to ignore case when matching image
447 names. This can cause problems if labels are being used that differ
448 only in case. (Detected at map creation time.) Either change the
449 label names or remove -DIGNORECASE from the configuration section of
453 New keyword "auto" passed to init
454 ---------------------------------
456 If the system boots without manual intervention, the word "auto" is
457 passed on the command line to the kernel, which in turn passes it to
458 init. Some init programs don't recognize that word and issue an error
459 message or fail to process other command-line options (e.g. some
460 versions of poeigl init expects "single" to be the only word on the
461 command line). The old behaviour can be obtained by setting the build-
462 time configuration variable NOAUTO in the configuration section of the
466 -r implied if environment variable ROOT is set
467 ----------------------------------------------
469 The map installer acts as if the option -r was on the command line if
470 the environment variable ROOT is set. If you are using ROOT for other
471 purposes than indicating the path of the actual root of the file
472 system (i.e. it should be set to "/" during normal system operation),
473 you have to pass the option -r / to the map installer. Typically,
474 ROOT is not used for anything but LILO (or possibly programs that are
475 aware of how LILO uses it), so this should be no problem.
478 Incompatibilities between LILO >= 0.7 and earlier versions
479 ==========================================================
481 There are a number of incompatibilities between LILO 0.7 (or newer)
482 and earlier versions that cause working /etc/lilo/install scripts to
483 fail or that change earlier behaviour without warning.
486 Root device presetting
487 ----------------------
489 The way how the root device is preset differs from LILO >= 0.7 and
490 earlier versions if using /etc/lilo/config. If the boot images are
491 listed on the command line, LILO >= 0.7 emulates the old behaviour.
494 - if the root device was specified after the image descriptor
495 (e.g. foo=/bar,/dev/hda1), that device was used.
496 - if a root device was set in the boot image and no device was
497 specified at the command line, the setting from the boot
498 image was used. Later changes of the settings (e.g. with rdev
499 aka setroot) had no effect.
500 - if no root device was set in the boot image, LILO used the
501 current root partition instead. Again, changing the setting
505 - if the ROOT variable is set, that value is used and the
506 setting in the boot image is ignored.
507 - otherwise, the value found in the boot image at boot time is
508 used. This means that changing the root device setting after
509 map creation has the desired effect.
515 Presetting the swap device (e.g. /linux,/dev/root,/dev/swap) is no
516 longer supported. Linus has already stopped providing that feature
519 Kernels that expect swap device settings in the boot sector may no
520 longer work. I'm not sure when presettable swap devices were removed,
521 but generally 0.96 and early 0.97 kernels may be considered
524 The memory location where the swap device preset value used to be
525 stored has been occupied by the VGA mode value in 0.98pl6 and
526 possibly also in SLS versions of 0.98pl5.
528 Workaround: Create a /etc/lilo/config file and set the VGA variable
529 to zero to disable using a swap device at boot time.
535 Appending BIOS codes to file names (e.g. /foo/bar:0x80) is no longer
536 supported. /etc/lilo/disktab can be used for most purposes where
537 BIOS code overrides might have been useful.
540 Command-line arguments of the map installer
541 -------------------------------------------
543 Older versions of the map installer accepted multiple ocurrences of
544 the same flag. LILO 0.7 and later versions are only guaranteed to
545 accept repetition of -v. However, variables set in /etc/lilo/config
546 can be overridden on the command line in LILO 0.8.