Changes from version 19 to 20 (20-JUN-1996)
-----------------------------

  Boot loader
  -----------

    - now supports 19200 bps and 38400 bps on the serial line (UNTESTED)
    - when reaching the end of the command line buffer, input is ignored
      instead of being treated like [Enter] (by Martin Mares)
    - fixed numerous bugs in patching of heap end pointer in setup.S (by Martin
      Mares)
    - images can now optionally be launched with a single keystroke (no [Enter]
      required)
    - now supports non-US keyboard layouts

  Map installer
  -------------

    - DISK sections may now also define non-disk devices, e.g. /dev/ram
    - increased debug level for the "Caching device ..." message
    - changed the chain loader format to allow sizes > 512 Bytes
    - chain loader now supports arbitrary drive mappings (option MAP-DRIVE)
    - chain loader now supports arbitrary partition table modifications (option
      CHANGE)
    - removed the configuration option REWRITE-TABLE
    - removed the build-time options FIX_TABLE and HIDE_DOS
    - added the global configuration option CHANGE-RULES plus sub-options
      RESET, TYPE, NORMAL, and HIDDEN
    - OTHER sections have new configuration option CHANGE plus sub-options
      PARTITION, SET, ACTIVATE, and DEACTIVATE
    - OTHER sections have new configuration option MAP-DRIVE with sub-option TO
    - now only 0x1b8 bytes of the boot sector are overwritten, which preserves
      some magic numbers NT stores there
    - compiles with 2.1 kernels (asm/boot.h problem - reported by many people)
    - should also compile under 0.93 or such again (required NORMAL_VGA etc.,
      which didn't exist back then)
    - lilo -q  now prints unknown VGA modes also in hex (by Martin Mares)
    - option SINGLE-KEY to allow single-key activation
    - -Wno-parentheses  is no longer needed
    - didn't complain if image label was equal to alias
    - removed some ancient dead code
    - new option KEYTABLE to specify non-standard keyboard mappings
    - PS/2 ESDI disk (/dev/eda and /dev/edb) support (by Andrew Kroll)
    - geometry.c:last_dev now only probes for the first two IDE disks
    - because chain.b is used for everything anyway, specifying the chain
      loader when booting from a driver other than the first one is no longer
      mandatory

  Documentation and installation
  ------------------------------

    - changed all references to nic.funet.fi to ftp.funet.fi
    - updated the user's guide and did some restructuring (many changes)
    - QuickInst no longer puts ramdisk=0 into lilo.conf
    - QuickInst now consistently checks for LILO >= version 15
    - make clean  and  make spotless  now also remove dump.s and dump.b (by
      Martin Mares)
    - changed package names from lilo[.part].<version> to
      lilo[-part]-<version> for compatibility with sunsite's archive
      maintenance scripts
    - new tool keytab-lilo.pl to generate LILO keyboard tables
    - updated t2a.pl to a version compatible with Perl 5
    - READONLY implicitly turns off REWRITE_TABLE


Changes from version 18 to 19 (21-MAY-1996)
-----------------------------

  Boot loader
  -----------

    - new compile-time option to beep after displaying "LILO"

  Map installer
  -------------

    - common.h broke compilation if CONFIG_BSD_DISKLABEL is enabled
    - no longer tries to interpret dollar signs and such in comments
    - check for too many images didn't work (patch by Andries Brouwer)

  Documentation and installation
  ------------------------------

    - removed some "dead" targets in Makefile
    - stopped using -N, because recent binutils link statically then
    - INCOMPAT no longer promises that REWRITE_TABLE will be fixed in
      version 19


Changes from version 17 to 18 (16-MAY-1996)
-----------------------------

  Boot loader
  -----------

    - added ability to load data (e.g. kernels) at addresses >= 0x100000
    - added support for loading an initial RAM disk
    - any_*.b became too big when using REWRITE_TABLE
    - included trimmed sector read function for first.S by Ted Ts'o
    - now prints spaces before error codes
    - temporarily removed support for REWRITE_TABLE
    - added support for heap size indication to kernel setup.S
    - added compile-time option XL_SECS for extra large disks

  Map installer
  -------------

    - new option INITRD to load an initial RAM disk
    - added support for "big" kernels (> 0.5 MB compressed), which are loaded
      directly at 0x100000
    - long quoted strings can now be distributed over several lines using
      a backslash
    - environment variables are accessible in lilo.conf with $name or ${name}
    - now properly identifies attempts to map from NFS and such
    - refuses to overwrite unsuitable partitions
    - caches device names and numbers, thereby significantly reducing the
      number of readdir and stat system calls (typically, the total number of
      system call decreases by about 80%)
    - temporarily removed support for REWRITE_TABLE
    - geometry.c:exists now opens devices read-write in order to avoid
      reading from CD-ROM devices (patch by Alain Knaff)
    - added a warning if COMPACT is used with LINEAR

  Documentation and installation
  ------------------------------

    - documentation, QuickInst, and on-line usage information no longer mention
      the disktab file (a DISK section should be used instead)
    - mkdist now uses the VERSION file
    - distribution now includes .lsm file
    - LILO is now compiled without -O2
    - updated FTP references and rewrote them to conform to RFC1738


Changes from version 16 to 17 (19-DEC-1995)
-----------------------------

  Boot loader
  -----------

    - changes for FALLBACK and new map section structure (see below)
    - LCF_READONLY now disables the LOCK option (and FALLBACK too)
    - added command-line option  kbd  to preload keyboard buffer
    - write errors are now reported (Wxx)
    - chain loaders now support changing the active partition (enabled with
      REWRITE-TABLE)
    - chain loader can also "un-hide" a DOS partition if its partition type
      has been changed by OS/2 BM (build-time option FIX_TYPE)
    - when enabling HIDE_DOS in addition to FIX_TYPE, DOS partitions (except
      for the one being booted) are hidden, just like OS/2 BM does (build-time
      option HIDE_DOS)

  Map installer
  -------------

    - added FALLBACK option to change default command line before booting
      the current image
    - added REWRITE-TABLE option to patch partition table at boot time
    - added REWRITE_TABLE build-time option to enable REWRITE-TABLE
    - added DISK section flag INACCESSIBLE to mark disk as inaccessible for
      the BIOS so that the map installer can refuse bad mappings
    - options and fallback sectors are now at the beginning of map sections
    - -q and -R were accidentially marked as optional in usage
    - fixed incorrect partition check for  other = <non-root>

  Documentation and installation
  ------------------------------

    - changed LILO version numbers to always be of the form <number> instead
      of 0.<number>
    - README now also contains the version number
    - make install  now strips /sbin/lilo instead of trying to strip /sbin
    - various bug fixes in QuickInst
    - added file VERSION containing the current version number and new
      make target  version  to rename ../lilo to ../lilo-<version>
    - changed a footnote which yielded an asterisk at the end of a command
      line in the ASCII README
    - -q and -R were accidentally marked as optional in command-line
      descriptions
    - mentioned -D option in command line description
    - new section "System overview" in the user's manual and several minor
      additions
    - a few minor corrections and addition of unusual error messages
    - the last traces of "old-style" configuration have been removed


Changes from version 15 to 16 (26-FEB-1995)
-----------------------------

  Boot loader
  -----------

    - added register dump boot sector (dump.S) for debugging
    - chain loaders now clear BP. This might help in some cases where DOS
      refused to boot.

  Map installer
  -------------

    - really fixed -R this time
    - now suggests to "use a DISK section" (instead of disktab) if HDIO_REQ
      fails
    - removed incorrect error message when using a disktab
    - added check to detect CD-ROMs with major numbers of hard disks
    - no longer complains about corrupt partition table if 3D address is
      smaller than linear address and (3D) cylinder is 1023  (OS/2 does
      is this way)
    - LOADER is now required when booting an operating system from any device
      than the first hard or floppy disk
    - changed header protection macros from _xxx_H_ to xxx_H
    - added (untested) support for 2nd IDE controller (major 22)

  Documentation and installation
  ------------------------------

    - user.tex is now compatible with LaTeX 2e (\textfont0 problem)
    - tech.tex now avoids \SetFigFont (LaTeX 2e again)
    - /sbin/lilo is now optimized and stripped when installing
    - ASCIIfied "Booting basics" section
    - removed all references to the old directory structure
    - added description of LOCK in config file
    - updated FD TMC-1680 warning
    - added reminder to re-run /sbin/lilo when modifying partition tables
    - updated list of kernel options
    - added detailed description of >2 disks and >1024 cylinders
    - added description of putting /boot on a DOS partition
    - reordered sections in "Installation and updates"
    - updated tech.tex


Changes from version 14 to 15 (23-OCT-1994)
-----------------------------

  General
  -------

    - upon popular demand, a copyright notice has been added

  Boot loader
  -----------

    - now also drains the keyboard type-ahead buffer
    - new command-line option "lock" to make the specified command line the
      default for the following boots too
    - default command line execution can now be interrupted in prompt mode too

  Map installer
  -------------

    - fixed -R arguments handling bug
    - fixed -P argument handling bug
    - fixed yet another recursion problem with /dev/fd -> /proc/self/fd
    - added option -D and configuration variable DEFAULT to specify the
      default image without changing the oder of entries in /etc/lilo.conf
    - added configuration variable LOCK to make the specified command line the
      default for the following boots too
    - added disk geometry configuration in the general configuration file.
      /etc/disktab is now considered obsolete.
    - added option -w and configuration variable NOWARN to disable some
      warnings
    - added warning when putting the boot sector on a non-boot disk
    - added warning for possibly inaccessible devices (e.g. third disk)
    - added warning for disks/partitions with more than 1024 cylinders
    - added warnings for bad permissions of the configuration file
    - fixed handling of floppies in geo_open_boot
    - removed erroneous call to part_verify when booting other systems
      from files
    - added support for variable-size setup segments as supported by kernels
      >= 1.1.43
    - restructured verbosity levels
    - allowed escaping of backslashes in quoted strings (/etc/lilo.conf)
    - /sbin/lilo -q -v  now displays all settings

  Documentation and installation
  ------------------------------

    - lots of things have been restructured
    - many changes to describe the current Linux environment
    - "new" directory structure is now the default
    - README is now generated from user.tex by a Perl script
    - lots of minor corrections and clarifications
    - added a copyright notice and adapted several comments
    - QuickInst: updated default kernel names
    - QuickInst: now runs  /sbin/lilo -t  before trying to install
    - doc/Makefile: removed extra "Label(s) may have changed" output
    - disktab: changed header comment and added second example line
    - /etc/disktab is no longer automatically created by  make install
    - linking /etc/lilo/install -> /sbin/lilo is no longer suggested
    - removed mkbindist. I don't think anybody used it anyway.


Changes from version 13 to 14
-----------------------------

  Map installer
  -------------

    - added a few missing closedirs to device.c:scan_dir
    - added detection of directory loops to device.c:scan_dir and
      geometry.c:last_dev
    - fixed handling of dangling links in /dev
    - new option -u [ device ] to restore boot sector. Unsafe mode with -U
    - fixed/improved usage message

  Documentation and installation
  ------------------------------

    - QuickInst: did not write "other" sections to configuration file
    - QuickInst.new: improved handling of disks without active partitions
    - QuickInst.new now knows about /etc/disktab (relict from Shoelace,
      still in some distributions)
    - QuickInst.new now uses *_d.b chain loaders when configuring non-Linux
      systems on the second disk


Changes from version 12 to 13
-----------------------------

  General
  -------

    - BSS is no longer cleared by LILO, because the kernel itself does
      that now.
    - added support for the new directory structure. Makefile and QuickInst
      come in .old and .new versions. See INCOMPAT for details.
    - removed support for unstripped kernels. Therefore, mkck is no longer
      part of the distribution.

  Boot loader
  -----------

    - added missing  seg es  override to UI_MAGIC check at "input".

  Map installer
  -------------

    - new options LITERAL and APPEND.
    - the root setting is no longer being shown on -q -v
    - the configuration file may now contain quoted strings in which spaces
      and equal signs do not have to be escaped.

  Documentation and installation
  ------------------------------

    - fixed bug in QuickInst that prevented correct renaming of the config
      file when ROOT is set.
    - added comment to disktab indicating that it is typically not needed.
    - distributed files are now readable for group and other.
    - mkdist is now included in the distribution.
    - changed the name of kernels from "(traditional) boot image" to
      "kernel image".
    - changed the name of the string passed to the kernel from "command
      line" to "parameter line".
    - removed obsolescent terms "rootimage" and "bootimage".
    - fixed documentation bug claiming only kernels can be protected by
      passwords.
    - fixed some additional minor documentation errors.


Changes from version 11 to 12
-----------------------------

  Boot loader
  ----------

    - removed accidential swapping of A:/B: when swapping C:/D: from
      the chain loader.
    - added new chain loader any_b.b (swaps A:/B:)
    - fixed incorrect handling of drive number resetting in swapping
      versions of the chain loader.
    - now generates diagnostics when failing to load the second stage
      loader.
    - new compile-time option NO1STDIAG to disable these diagnostics.

  Map installer
  -------------

    - fixed stat/fstat when creating temporary devices.
    - subdirectories of /dev are now recursively searched for disk devices
      in addition to /dev
    - devices are now counted by highest device number, not by name.
    - some minor fixes.

  Documentation and installation
  ------------------------------

    - QuickInst now warns if there is an obsolete LILO boot sector on
      the MBR.
    - QuickInst is now prepared to handle symbolic links hda -> sda
    - other minor fixes to QuickInst.
    - removed all references to compound unstripped kernels from the
      user's guide.
    - activate is now compiled as a stripped, statically linked, impure
      executable.
    - fixed a few minor omissions in the technical overview.


Changes from version 10 to 11
-----------------------------

  Boot loader
  -----------

    - added on the fly patching of the BIOS disk parameter table to
      fix the "Error 0x04" observed on some systems.

  Map installer
  -------------

    - floppy devices are no longer opened at all when using the UNSAFE
      option in OTHER.
    - fixed partition table checking.
    - new option -V to display the version number.
    - INSTALL = /etc/lilo/boot.b  is now the default if INSTALL is
      omitted.
    - new compile-time configuration option NOINSTDEF to restore the old
      semantics of INSTALL.

  Documentation and installation
  ------------------------------

    - QuickInst no longer asks whether to change the active partition if
      installing LILO as the MBR.
    - QuickInst now suggests configuring other operating systems if
      installing LILO as the MBR.
    - added a version check to QuickInst.
    - added de-installation instructions.
    - fixed a few minor documentation bugs.
    - added script mkbindist that generates a minimal binary distribution
      of LILO.


Changes from version 9 to 10
----------------------------

  Boot loader
  -----------

    - added support for read-only setting of root.
    - new chain loader os2.b to load OS/2 from the second disk.
    - new chain loader any_d.b to load BIOS-based operating systems
      (e.g. PC/MS-DOS) from the second disk.

  Map installer
  -------------

    - removed support for old-style configuration.
    - removed the dump option -D
    - removed support for not-compound unstripped kernels.
    - limited partition checking to hard disks and primary partitions.
    - -C now accepts - for standard input.
    - -P now has sub-options "fix" and "ignore". New configuration
      variable "ignore-table" coresponds to "-P ignore"
    - added automatic backup of the partition table when fixing it.
    - new configuration variables "readonly" and "read-write" to change
      read-only mounting of root.
    - made partition offset field in /etc/lilo/disktab optional.
    - added tentative support for XT-type hard disks.
    - improved some error messages.
    - some minor fixes.

  Documentation and installation
  ------------------------------

    - changed many "echo"s in QuickInst to "cat"s.
    - suggesting using a symbolic link to lilo for /etc/lilo/install.
    - removed the configuration option NOAUTO.
    - split the documentation in a user's guide and the technical
      overview.
    - removed all references to older versions of LILO, the kernel or
      other programs.
    - removed all references to old-style configuration and not-compound
      unstripped kernels.
    - using the fullpage style.
    - removed and "ascified" anew the shared sections of README and the
      LaTeX documentation.
    - some minor corrections.


Changes from version 8 to 9
---------------------------

  Boot sector
  -----------

    - can now get the command line from the map file and overwrite
      that sector.
    - passes the word "auto" on the command line if booting after a
      timeout.
    - new command-line option vga={ask,normal,ext,extended,<number>}
      to alter the VGA mode on the fly.
    - image name matching can now be made case-insensitive (default)
    - added sanity checks for the second stage loader and the
      descriptor tables.

  Map installer
  -------------

    - added new compound unstripped kernel format.
    - -r is now implied if the environment variable ROOT is set.
    - new option -I to translate a label name (e.g. obtained from
      BOOT_IMAGE) to the path of the kernel image.
    - new variable MESSAGE to define a startup message.
    - new variable UNSAFE to bypass sanity checks and floppy spin-up
      when defining other operating systems.
    - new variable ALIAS to define a second label name.
    - new variable RESTRICTED to confine password protection to
      invocations with parameters.
    - added a missing #include <sys/stat.h> to map.c
    - fixed the BIOS_MAX_* parameters in lilo.h
    - removed too restrictive cylinder number check.
    - new option -R to set/clear the default command line in the
      map file.
    - added verification of 3D and linear address equality of
      partition starts (in the partition table).
    - suppressed outputting the version string when using -D with -v
    - "vga=extended" can now be abbreviated to "vga=ext".

  Documentation and installation
  ------------------------------

    - added a test for broken regexp in sed, grep and egrep to
      QuickInst. Other minor improvements.
    - now uses build-time configuration variables in Makefile or
      /etc/lilo/config.defines
    - copied section "LILO start messages" from doc.tex to README
    - removed the description of a floppy test installation from
      README. (doc.tex never contained that part.)
    - fixed some minor documentation errors and omissions.
    - fixed some minor Makefile bugs.
    - included the LaTeX translations of the FIG files.
    - moved the "Technical overview" to the end.


Changes from version 7 to 8
---------------------------

  Boot sector
  -----------

    - now supports password protection for boot images.
    - fixed occasional omission of delays.
    - passes the name of the boot image to the kernel, which stores
      it in the environment variable BOOT_IMAGE.
    - parameters are now preserved when trying to boot the same
      image again after a media error.
    - the command line is preserved on error.
    - can be operated from a serial line.
    - made timeout handling interrupt-driven to fix time-wrap problems
      at midnight.
    - now clears all bytes after text and data of traditional boot
      images booted from a file.

  Map installer
  -------------

    - added detection of missing HDIO_REQ support.
    - added sanity checking for disk parameters.
    - fixed BIOS code computation for SCSI disks.
    - command-line settings can now override /etc/lilo/config
    - defaults for ROOT, VGA, RAMDISK, PASSWORD and OPTIONAL can be set
      in the options section.
    - new option PROMPT to unconditionally enter the boot prompt.
    - new option TIMEOUT to specify an input timeout.
    - new flag OPTIONAL to specify that an image can be omitted if it
      isn't present.
    - new value CURRENT for ROOT to specify the "current" root device.
    - special characters are now correctly escaped in dumps.
    - temporary files are now removed on error.
    - updated the usage output to reflect the changes since 0.6.
    - added a missing closedir to device.c

  Documentation and installation
  ------------------------------

    - wrote a quick installation script.
    - fixed many small documentation errors.
    - wrote a README for the doc directory.
    - added descriptions of the configuration parameters passed in
      the boot sector and of the kernel's command-line interface.
    - Makefile now explicitly uses /bin/sh
    - changed echo \c to echo -n in the Makefile
    - added ability to print the name of the active partition to
      activate.


Changes from version 6 to 7
---------------------------

  Boot sector
  -----------

    - supports video mode and RAM disk size settings.
    - loads original boot sector to make possible additional settings
      available.
    - now uses defaults from the boot sector even if the boot sector
      has been changed after map creation.

  Map installer
  -------------

    - new configuration based on /etc/lilo/config
    - can get SCSI geometry without using /etc/lilo/disktab (doesn't
      work with 0.98pl6)
    - removed support for BIOS codes (name:code)
    - removed support for setting the swap device.
    - new command-line options: -q, -C and -D

  Documentation
  -------------

    - updated to cover new-style configuration
    - extended the plain-ASCII README


Changes from version 5 to 6
---------------------------

  Boot sector
  -----------

    - added command-line argument passing.
    - now clears BSS of traditional images too.
    - chain.b is now more careful about register values when invoking
      the boot sector of the other OS.
    - added an interface for externally provided command lines.
    - added experimental recognition of linear addresses.

  Map installer
  -------------

    - fixed opening the disktab file. (Using -f didn't work.)
    - fixed use of BIOS codes for the map file: the tilde is now appended
      before the BIOS code.
    - added a chdir("/") when using -r
    - added more sanity checks.
    - added generation of linear addresses.

  Documentation
  -------------

    - removed all references to swap device settings in the kernel because
      recent kernels don't support that any longer.
    - added a troubleshooting section.
    - several minor fixes and improvements.


Changes from version 4 to 5
---------------------------

  Map installer
  -------------

    - added automatic boot sector backup.
    - fixed variable block size detection. (Didn't work with the 0.97-pl2
      kernel.)
    - added the chroot (-r) option.
    - made the partition table part of a foreign OS boot descriptor
      optional.

  Documentation and installation
  ------------------------------

    - most of README has moved into doc.tex (LaTeX)
    - added a utility to activate a partition.
    - make install  now reminds the user to update the map.
    - dd is now used in a more efficient way in the Makefile.
      (Fewer subshells, etc.)


Changes from version 3 to 4
---------------------------

  Boot sector
  -----------

    - added a configurable delay.
    - added a diagnostic title message.

  Map installer
  -------------

    - fixed all known include file conflicts.
    - added support for variable block sizes. (Not used yet.)
    - added some more sanity checks.
    - added a tool to determine SCSI disk parameters.

  Documentation and installation
  ------------------------------

    - extended coverage of SCSI disks.
    - make install  now backs up chain.b and boot.b of any older LILO
      installation. (To say: your system remains bootable even if you
      forget to run /etc/lilo/install after the update or if this fails
      for some reason.)
    - moved the changes section from README into CHANGES.
    - a set of pre-compiled executables of lilo, boot.b, chain.b and
      dparam.com is available too.


Changes from version 2 to 3
---------------------------

  Boot sector
  -----------

    - can initialize BSS of unstripped kernels.
    - also accepts [Tab] to show the list of known images.

  Map installer
  -------------

    - fixed parsing of the root device specification.
    - fixed setting of the root device when the boot image doesn't
      define it.
    - reduced the number of installable images from 19 to 16. (Because the
      descriptors have grown.)

  Documentation
  -------------

    - added a booting basics section.
    - many minor changes.


Changes from version 1 to 2
---------------------------

  Boot sector
  -----------

    - added command-line editing.
    - added debugging support (-DDEBUG).
    - added support for compacted maps.
    - some cosmetic changes.

  Map installer
  -------------

    - major rewrite.
    - files that contain "holes" are now handled properly.
    - added map compaction.
    - devices are now created on the fly only if they can't be found in /dev.
    - improved sanity checking.
    - can now boot other operating systems.
    - can now boot unstripped kernel executables.
    - added support for a disk parameter file.
    - reduced the number of installable images from 21 to 19.
    - changed the command-line syntax.
    - root and boot can now be specified on the command line.

  Documentation
  -------------

    - many changes, including correction of some minor errors.


Changes from version 0 to 1
---------------------------

  Boot sector
  -----------

    - tested as master boot record.
    - improved the boot prompt invocation method.
    - increased the number of installable images to 21.
    - added a help facility.
    - improved read error handling and error reporting in the boot loader.
    - added a second stage boot loader.

  Map installer
  -------------

    - fixed some minor bugs in the map installer. Removed all compiler
      warnings.
    - added labeling of images.
    - added version checking for the boot sector.
    - replaced option -r by -m. -r will be available for a while for
      compatibility.
    - added booting from device files (that have boot images written on them).
    - BIOS device codes can now be specified for boot image files too.
    - added concatenation of images. (This is a test feature that will be
      changed in the future.)

  Documentation
  -------------

    - some minor documentation errors have been corrected.
    - the README now warns that the map has to be rebuilt after the images are
      replaced or moved.
    - added a files, a hints and an examples section.
