Add externs to avoid multiple definitions, and then add missing definitions.
[rrq/maintain_lilo.git] / CHANGELOG_old
1 Changes from version 22.5.8 to 22.5.9 (08-Apr-2004) John Coffman
2
3   Boot Installer
4   --------------
5     - Alter NT check for invalid volume ID -- no change on single disk
6       systems.  (device.c)
7     - Make 'prompt' a word.  (common.h, first.S)
8     - Add 'bmp-retain' local & global option.  (bsect.c, cfg.c, second.S)
9       Retains bitmap after booting.
10     - Add Makefile option "lilo-static:"  -- must specifically make it.
11     - Fix setting of "map==boot" for RAID installs.  (bsect.c, raid.c)
12
13   Boot Loader
14   -----------
15     - Skip duplicate VolumeIDs in second stage, in case a disk has been
16       added to the system.  (volume.S)
17
18   Utilities
19   ---------
20     - Update QuickInst to reflect absence of 'activate', using lilo -A
21
22
23 Changes from version 22.5.7.2 to 22.5.8 (09-Oct-2003) John Coffman
24
25   Boot Installer
26   --------------
27     - Add "max-partitions=" to the "disk=" section to enable support
28       for user-defined devices.   (geometry.c)
29     - Color range extended to 0-255 (from 0-15) for 256 color bitmaps.
30       (bsect.c, edit.c, common.c)
31     - Make VolumeID scan skip INACCESSIBLE drives (device.c)
32     - Automatically skip ATARAID drives with "ataraid" keyword and
33       mark all underlying drives INACCESSIBLE.  (device.c, cfg.c)
34
35     - REMOVE the above ATARAID stuff.
36
37     - Add "static-BIOS-codes" to bypass VolumeID booting.  (bsect.c,
38         device.c)
39     - Add test for setup > MAX_SETUPSECS.    (boot.c)
40     - Open '/proc/partitions' before 'chroot' with -r flag  (lilo.c)
41
42
43 Changes from version 22.5.7 to 22.5.7.2 (20-Aug-2003) John Coffman
44
45   Boot Installer
46   --------------
47     - Eliminate f2.S; combine all into first.S.   (loader.S, Makefile)
48     - Fix -I to work with "change automatic".   (partition.c)
49     - Correct warning message condition in pf_hard_disk_scan.  (device.c)
50     - Modify warning message condition: unknown video adapter.  (bsect.c)
51     - Fix problem with "devfs" in 'cache_scsi'.  (device.c)  (22.5.7.1)
52
53
54 Changes from version 22.5.6 to 22.5.7 (10-Aug-2003) John Coffman
55
56   Boot Installer
57   --------------
58     - Int 13h, fn 08h/48h differing geometries depends on LBA32 & 
59       verbosity level   (probe.c)
60     - Bug fix for geo_query_dev uninited geo->device  (geometry.c)
61     - preload_dev_cache is now sensitive to devfs present  (device.c)
62     - Alter lookup_dev to not check for existence of device; just
63       return the name if it is in the cache   (device.c)
64     - PROBE_VERSION==6 always report fn 48h parameters; print nicer
65       output for "-T geom" switch   (probe.c)
66     - Account for drive mapping in volume.S so that multiple chain's
67       will operate correctly on RAID1 installations.
68     - Experiment:  sort MAJOR_HPT370 (114) as (2)   (device.c)
69     - Raid install:  suppress warning if 'mbr-only' or 'mbr'   (raid.c)
70
71   Boot Loader
72   -----------
73     - First stage uses rewritten I/O routine & processed disk addresses
74       (6 bytes); now enough space for VE call; no FF   (f2.S, first.S)
75
76   Utilities
77   ---------
78     - Update 'mkrescue' to dynamically determine the loopback device;
79       makes it devfs-friendly   (mkrescue 2.3)
80     - mbr & mbr2 will pass lilo parameters through to destination  (mbr.S)
81
82
83 Changes from version 22.5.5 to 22.5.6 (29-Jun-2003) John Coffman
84
85   Boot Loader
86   -----------
87     - Strict limit on PARMLINE to 255 characters + NUL  (second.S)
88     - Move 'volume.S' and 'shs3.S' variables to .bss  after PARMLINE.
89     - Use DL from first stage on raid reads  (volume.S)
90
91   Boot Installer
92   --------------
93     - Generate 'version' information to track changes  (common.c)
94     - Eliminate raid assigning all devices to the same device code (raid.c)
95
96
97 Changes from version 22.5.4 to 22.5.5 (16-Jun-2003) John Coffman
98
99   Boot Installer
100   --------------
101     - Improve fetch() to avoid redundant reads on failure  (probe.c)
102     - Add 'el-torito-bootable-cd' switch   (cfg.c, bsect.c)
103     - Check for initial ramdisks too big to fit between 4M-15M (boot.c)
104     - Enhanced '-A' (activate) works for extended part. (partition.c)
105     - Separate PT check & S/N check in 'bios_dev'   (probe.c)
106     - Allow chain loader > 3 sectors  (boot.c)
107     - Attach -P switch to universal cfg_set()       (lilo.c)
108     - Check for active partition (part_verify, partition.c)
109
110   Boot Loader
111   -----------
112     - Terminate floppy emulation on boot from El Torito CD  (second.S)
113     - Complain of possible kernel overwrite if initrd loads below 4M
114
115   Chain Loader
116   ------------
117     - Merges second stage drive map with any existing drive map; then
118       merges its own drive map  (chain.S)
119
120   Utilities
121   ---------
122     - Enhanced 'mbr.S' will look at extended partitions
123     - Compensate in 'mbr.S' for AHA-2940 bios bug (ES:BX needed)
124
125
126 Changes from version 22.5.3.1 to 22.5.4 (25-May-2003) John Coffman
127
128   Boot Installer
129   --------------
130     - Remove all references to FLAG_RAID_NOWRITE (lilo.h, raid.c)
131     - Add flags to -I option:  D (default), a (append)  (identify.c)
132     - Add warning about initial RAM disks too big for 15M  (boot.c)
133     - Check specifically for switches which take no args  (lilo.c)
134     - Sorted assignment of BIOS device codes if no BIOS data (device.c)
135     - Fix serial number naming bug  (device.c)
136
137   Boot Loader
138   -----------
139     - Remove all references to FLAG_RAID_NOWRITE (second.S)
140     - Allow '-DSUSPEND=0xNN' to specify a primary partition, which, if
141       active, indicates a virtual boot; for DELL suspend option (second.S)
142
143   Utilities
144   ---------
145     - Get 'mkrescue' to use the -I 'D' and 'a' flags  (mkrescue)
146     - Add  --iso  option to 'mkrescue'  (mkrescue 2.0)
147
148
149 Changes from version 22.5.3 to 22.5.3.1 (12-May-2003) John Coffman
150
151   Boot Installer
152   --------------
153     - Update to fix Segmentation fault in "lilo -T geom" (probe.c)
154
155
156 Changes from version 22.5.2 to 22.5.3 (10-May-2003) John Coffman
157
158   Boot Installer
159   --------------
160     - Update smart_cache to account for DEVFS irregularities (device.c)
161     - Call smart_cache from lilo.c, not within preload_dev_cache (lilo.c)
162     - Add FLAG_BD_OKAY to suppress the writing to the map file if previous
163       BIOS data collection worked okay (bsect.c)
164
165   Utilities
166   ---------
167     - Update mkrescue to 1.3 to suppress spruious messages with 22.5.2
168       due to smart_cache scan of hard disks (mkrescue), and add --size
169       argument for making 1.2M floppy, instead of 1.44M floppy
170
171
172 Changes from version 22.5.1 to 22.5.2 (01-May-2003) John Coffman
173
174   Boot Installer
175   --------------
176     - Compilation fix for lilo.c  (printf macro, again)
177     - Updates to handle reiser4.  (geometry.c)
178     - Smart device caching if "/proc/partitions" is present. (device.c)
179     - '-M' switch creates a backup file subject to '-s' & '-S' (partition.c)
180     - Fix "raid-extra-boot=" for devices outside of the raid set (bsect.c)
181
182   Boot Loader
183   -----------
184     - Fix calls to get number of hard disk devices (first.S & mbr.S)
185
186
187 Changes from version 22.5 to 22.5.1 (28-Mar-2003) John Coffman
188
189   Boot Installer
190   --------------
191     - Put all backups and force-backups on the same footing.
192     - Allow only 1 backup file per major/minor device code, in case
193       a volume id is written, then the sector is backed up again.
194     - Fix bug in 'do_table' error reporting "Not a device". (probe.c)
195     - 'lilo -T video' will now check for Enable Screen Refresh bios bug.
196     - Added 'boot-as=' as global and other= option; 'master-boot' now
197       global option, too. (boot.c, chain.S)
198     - Add additional parameter to 'raid-extra-boot=mbr'; like 'mbr-only'
199       but writes boot record to RAID1 partition, too.
200     - Set 'bios-passes-dl=DL_GOOD' on '-x none' or '-x auto' with no
201       partitions other than primary.  Issue warning message. (raid.c)
202     - Fix problems when 'boot=' is omitted. (raid.c, bsect.c)
203
204   Boot Loader
205   -----------
206     - Protect DL against video BIOS clobbering it.
207     - Load second stage at 0880:0000, unconditionally. It will move
208       itself to where it wants to run. (first.S)
209     - Verify DL device code passed from BIOS into first stage. Verify
210       failure causes bypass of FLAG_MAP_ON_BOOT check. (first.S)
211     - Reconfigure headers of first & second stages for string compare
212       for verification that second stage is loaded. (first.S)
213     - Update bios data check to collect boot DX & enable screen refresh
214       registers for check for state of BIOS (PROBE_VERSION 5).
215     - Allow "mem=<size>#<start>" and "mem=<size>$<start>" to pass to
216       2.5 kernels. (second.S)
217
218   Utilities
219   ---------
220     - Incorporate protection for DX in master boot record. (mbr.S)
221
222
223 Changes from version 22.4.1 to 22.5 (04-Mar-2003) John Coffman
224
225   Boot Installer
226   --------------
227     - Add timestamp to boot sector for this unique LILO installation;
228       use the map creation time (bsect.c).
229     - Allow 0 as a parameter to the '-A' switch, to indicate deactivation
230       of all partitions (partition.c).
231     - Meaning of '-w' flag expanded:  '-w+' turns on warnings, even if
232       configuration file says 'nowarn'.
233     - Create 32-bit volume labels on all hard disks.
234     - Mark boot sector if map file is on same disk as boot sector.
235     - Backup options -s & -S may specify directory or filename template,
236       in addition to existing filename.
237     - Update bitmap editor to handle 256 color bitmap files.
238     - For 'other=', add the flag 'master-boot' to indicate an OS which
239       is required to boot from drive 0x80.
240     - Check boot loader selected against video adapter; issue warnings.
241
242   Boot Loader
243   -----------
244     - Move two disk addresses (dflcmd, message/bitmap) to keytable area
245       to diminish size of First Stage loader.
246     - Fix RAID bug on writes to arrays with 3 or more active disks.
247     - Boot by volume label, not BIOS device code.
248     - If map file marked on same vol as boot sector, use boot BIOS device
249       code to access secondary loader in map file (UNIFY compile option
250       is mandatory).
251     - RAID1 uses volume labels for lock, fallback, cmdline rewrites.
252     - Update 'bmp' loader to allow 640x480x256 color bitmaps on adapters
253       which support VESA mode 0x101.
254     - Fix the nagging Passed Boot Command line *Interrupt* bug.
255     - Extend timestamp to the second stage loader (mapstamp).
256
257   Chain Loader
258   ------------
259     - Chain loader will pass command line to relocated boot record.
260     - Add support to dynamically add drive swapping for 'master-boot'
261       flag:  swap boot BIOS device code with 0x80 (or 0).
262
263   Utilities
264   ---------
265     - Master Boot Record (mbr.S) exits to BIOS on error (int 0x18).
266
267
268 Changes from version 22.4 to 22.4.1 (27-Jan-2003) John Coffman
269
270   Boot Loader
271   -----------
272     - Fix compilation typos
273
274
275 Changes from version 22.3.4 to 22.4 (24-Jan-2003) John Coffman
276
277   Boot Installer
278   --------------
279     - Add keywords vmdefault, vmdisable, vmwarn.
280     - Print volume serial numbers with "-T geom".
281
282   Boot Loader
283   -----------
284     - Add support for keywords vmdefault, vmdisable, vmwarn.
285     - First stage loader exits to BIOS on error (int 0x18).
286
287   Chain Loader
288   ------------
289     - Change pause requiring user input to delay (in debugging mode).
290
291
292 Changes from version 22.3.3 to 22.3.4 (01-Nov-2002) John Coffman
293
294   Boot Installer
295   --------------
296     - Remove exit() call from unbootable() (bsect.c) so die() displays
297       error message.
298     - Fix boot errors when boot record relocation occurs in a RAID1
299       installation.  (bsect.c)
300     - Fix Failsafe partition table overwrite check.  (bsect.c)
301
302   Boot Loader
303   -----------
304     - Recognize command line "mem=<size>@<start>" for the 2.4 kernels.
305
306
307 Changes from version 22.3.2 to 22.3.3 (30-Aug-2002) John Coffman
308
309   Boot Installer
310   --------------
311     - Suppress warning message about .shs file older than config file,
312       if '-p' is already specified.
313     - Change FLAG_SAVE to really be complement of FLAG_RAID_xxx.
314     - Add EVMS patches from Kevin Corry <corryk@us.ibm.com> 
315       Enterprise Volume Management Project <evms-devel@lists.sf.net>
316     - get UNSAFE to work on hard disks, too (geometry.c) with 
317       "disk=/dev/hdXX  bios=0x8X  inaccessible"
318     - allow BIOS_MAX_HEADS to be 256; 255 is the REAL max, but there
319       are some oddball BIOS's which allow 256
320
321
322 Changes from version 22.3.1 to 22.3.2 (11-Jul-2002) John Coffman
323
324   Utilities
325   ---------
326     - Fix bug in 'mbr.S' to correctly use 'lba32' on large disks
327
328
329 Changes from version 22.3 to 22.3.1 (16-Jun-2002) John Coffman
330
331   Boot Installer
332   --------------
333     - Correct reporting of command line segment (probe.c).
334     - Correct check for Bitmap table image_menu_space exceeded.
335     - Output actual geometry when Kernel/BIOS differ, or int 13h, functions
336       08h/48h differ (probe.c).
337     - 'bios_dev' changes to cope with kernel 2.4.18 returning different
338       disk geometry than previous kernels.  Use int 13h/fn 8h disk
339       geometry, where possible (probe.c).
340     - Add "k" option to -I flag to support mkrescue 1.2.
341
342   Boot Loader
343   -----------
344     - Bug fix for FF in text in 'say:' routine (save/restore BX).
345
346   Utilities
347   ---------
348     - Create 'pseudo.b' -- a pseudo kernel header for loading arbitrary
349       binaries at 1000:0000.  See 'README.pseudo' for details.
350     - Change "make floppy" to create both 1.5.4 and 2.1.1 diagnostics.
351     - 'mkrescue' now handles keytable translations with --keymap (1.2).
352
353
354 Changes from version 22.2 to 22.3 (19-May-2002) John Coffman
355
356   Utilities
357   ---------
358     - Update 'mkrescue' to work with 22.3
359     - Integate bitmap file header Editor with 'lilo -E'
360     - Upgrade boot diagnostic to check for memory area overlap in
361       int 15h, function E820h, bios call, and to check for 24-bit
362       moves to high memory, when a 32-bit address is used.
363
364   Boot Installer
365   --------------
366     - Try again to fix the CRC/SHS compilation problem for gcc 3.XX
367       in bsect.c
368     - Resolve links in verbose bootloader output from boot.c (patch
369       from R. Coker) + extend to RAM disk, message, & bitmap files.
370       Essentially superseded by BUILTIN option.
371     - Fix minor -I bug when change rules repeat in another 'other='
372     - Implement UNIFY (copy 2nd stage loader, bitmap, and/or message
373       file into the map file).
374     - Implement BUILTIN - first and second stage loaders, chain loaders,
375       and mbr loader is built into the /sbin/lilo executable.  No more
376       file incompatibilities.
377     - Fill in bitmap file Location, Color, and Timer parameters from
378       a header in the bitmap file; config file overrides; add utilities
379       on the -E switch to manipulate parameters in the BM file header.
380     - Pass size of 2nd stage loader to 1st stage; probe reflects proper
381       memory size.
382     - Fatal error if any of "lock", "nobd", "vga=", and "kbd=" are in an
383       append= or literal= in the config file.
384     - "optional" now will skip an image if the initrd is not present,
385       just as it will now skip if the kernel is not present.
386     - Eliminate 'start_page' from the image descriptor.
387     - Correct and beautify output from verify_partition in partition.c.
388     - Issue warning when BIOS geometry and kernel geometry differ.
389     - Add '-E' switch for handling bitmap file LILO headers.
390     - Interactive password input is no longer echoed.
391     - Add '-F' flag to override XFS, swap, NTFS partition checks.
392     - DOS paritions will cause boot loader relocation.
393     - Add '-B' flag to specify bitmap file on command line.
394     - Modify bsect.c(bsect_common) to use 'image' flag.
395     - Check for space/control-char in image name, label, alias.
396     - Implement 'large-memory' flag in the prompt variable.
397     - Report change rules (-q) without stopping on 0 offset in PT.
398
399   Chain Loader
400   ------------
401     - Now sensitive to command line in ES:DI; will pass it on if there
402       are args after the 'BOOT_IMAGE=xxxxx' prefix.
403     - Limit command line passing to boot sectors having the 'LILO' sig-
404       nature only.  (Will miss relocated boot sectors, however.)
405     - Fix 'revmap1' to save SI, so partition change rules are okay.
406
407   Boot Loader
408   -----------
409     - First stage now verifies signatures in second stage loader
410       and its index map.
411     - Fix bugs in bitmap display when there is a locked command line
412       and it is interrupted:  cmdline clobbered, descr selection,
413       and top line lowlite display.
414     - Bitmap display dynamically computes number of rows in selection
415       menu -- just like the menu interface.
416     - Memory allocation by 1st stage for the 2nd is now variable, rather
417       than fixed at the largest (boot-bmp.b).
418     - Issue "BIOS data check successful/bypassed" message.
419     - First stage loader begins with short jmp, and still allows relocation
420     - 'map_create' checks 'extra' on a RAID installation
421     - Load initrd AFTER the kernel: supports boot protocol 0203h and
422       "mem=" within an append=XXX. "mem=" on command line replaces "mem="
423       from any append=XXX.
424     - Load sequence:  kernel header, initrd (alt. map), kernel proper
425     - "vga=" on command line now allows any radix input; viz., 0xHHHH
426     - With no 'start_page', the high starting address is obtained from
427       the kernel header directly.
428     - Add INITRDLOW compilation switch, and add check for bios that mucks
429       with high byte of 386 address (int 15h, fn 87h).
430     - Only use 32-bit move address with 'large-memory' flag in prompt
431       variable, otherwise sitck with 24-bit address (<15M).
432     - Compensate for buggy BIOS in int 15h, fn E820h call to avoid
433       overlapping memory areas
434
435
436 Changes from version 22.1 to 22.2 (05-Feb-2002) John Coffman
437
438   Boot Installer
439   --------------
440     - Fix bsect.c compilation problem (l.241) on newer GCC libraries
441     - Add "suppress-boot-time-BIOS-data" flag to config file
442     - Add LVM support patches, courtesy of Andreas Dilger:
443       <adilger@users.sourceforge.net>
444     - Make sure image descriptor is zeroed to start
445     - Fix 'lilo -p' segfault with password=explicit
446     - Fix 'lilo -q' to handle relocated boot sectors on floppies
447
448   Boot Loader
449   -----------
450     - Add a video mode set to mbr.S and first.S to accomodate Dell/
451       Windows XP disabled video on startup
452     - Add mt_flag to KEYTABLE menu area for automatic suppression
453       of bios data collection in case of failure
454     - Vary placement of initrd:  (memory <= 64M) ==> load below 15M,
455       whereas (memory > 64M) load just above 64M; use int 15h, fn's
456       E820 & E801 to determine memory size > 64M
457     - DELL_DIRTY_HACK enables video with int 10h, fn=12h, subfn=36h
458     - Shorten read.S by making 1 mov AX into mov AH
459     - Fix first.S pread to use index buffer at 0x7E00, not 0x0200
460     - Limit BIOS data collection for HD to # drives returned by
461       fn 8, dev 80h (in DL)
462
463   Chain Loader
464   ------------
465     - Fix bug in CHANGE / MAP-DRIVE interaction when change is to
466       other than boot drive
467
468   Utilities
469   ---------
470     - Add a video mode set to disk.S to accomodate Dell/Windows XP
471       disabled video on startup
472     - Add pauses between stages of output to make reading easier
473     - Add "$(OBJS): mylilo.h" dependency to Makefile
474     - Add 'diagnose' directory with version 2 of the disk diagnostic
475     - Add LGPLicence for Robert de Bath's code
476     - Limit diagnostic 2.0 probe for HD to # drives returned by int 13h
477       fn 8, dev 80h (in DL)
478
479
480 Changes from version 22.0.2 to 22.1 (31-Oct-2001) John Coffman
481
482   Utilities
483   ---------
484     - Add version 1.0 of 'mkrescue'
485
486   Boot Installer
487   --------------
488     - Support 4 more SCSI controllers & IBM iSeries v.disk.
489     - Add M-Systems Disk-On-Chip devices 62(?) and 93
490     - Fix bug in 'part_verify' to correct partition mask.
491     - Passwords use SHS (FIPS PUB 180-1) 160-bit hash or 64-bit CRC-32
492     - RAID1 relocations now check for files within the boot Raid
493       partition.
494     - Correct operation of -I flag; add option "r" (now "i" & "r")
495     - Strengthen "part_verify" to disallow installing on secondary 
496       partitions (in addition to primary partitions) other than Linux
497       partitions
498
499   Boot Loader
500   -----------
501     - Allow variable number of Descriptor Sectors (DSECS=n)
502     - Load second-stage loader using single sector map segment; removes
503       size constraint on second-stage loader (15->~100 sectors).
504     - First-stage loader avoids BPB area -- doesn't clobber FAT16 --
505       unless DSECS>5.
506     - RAID1 sector address relocation performed only if flagged.
507
508
509 Changes from version 22.0.1 to 22.0.2 (13-Oct-2001) John Coffman
510
511   Compilation
512   -----------
513     - Fix 'partition.c' to compile with 2.4.12 kernel headers
514     - Fix compilation bug to allow omission of -DBDATA from Makefile
515
516   DISK.COM utility
517   ----------------
518     - Add BIOS data collection VERBOSE diagnostic.
519
520
521 Changes from version 22.0 to 22.0.1 (02-Oct-2001) John Coffman
522
523   Boot Installer
524   --------------
525     - Fixed password security hole to create 'lilo.conf.crc' with
526       mode 0600 (not 0644).
527
528
529 Changes from version 21.7.5 to 22.0 (29-Aug-2001) John Coffman   [released 9/27]
530
531   Boot Installer
532   --------------
533     - Passwords are now hashed using a CRC-32 checksum.  Allows
534       for a full pass-PHRASE
535     - Using password="" (null string) will trigger interactive pass-
536       phrase input; such passphrases persist until -p switch is used
537       to force re-creation of CRC save file:  'lilo.conf.crc'
538     - Password options expanded.  Now there are 'mandatory', 're-
539       stricted', and 'bypass', strongest to weakest.  'mandatory'
540       remains the default.
541     - The config file parser now handles garbage input with a good
542       diagnostic, rather than an unexpected parse.
543     - RAID installations now create a single map file, install the
544       boot record on the RAID partition, install auxiliary boot
545       records only on MBRs if needed, except BIOS device 0x80.  Back-
546       ward compatibility is possible with new config-file and command
547       line options (raid-extra-boot= or '-x' switch).  Even with
548       stored boot command lines ('-R', lock, fallback), RAID set
549       coherency can be maintained.
550     - Add the '-A' switch to activate a partition.  Replaces activate.c.
551     - Add the '-M' switch to allow restoration of a Master Boot Record.
552     - Allow 'loader=' in the global section of config file.
553     - Add 'bitmap=' to specify a 640x480x16 bitmap file to be used as 
554       a splash screen upon booting.  RGB (uncompressed) and RLE (com-
555       pressed) Windows/OS2 bitmaps are supported.
556     - Add 'bmp-table=', 'bmp-colors=', and 'bmp-timer=' to support posi-
557       tioning and color specification for bitmap screens.
558     - Modify 'bmp-X' input routines to allow pixel addressing (in addition
559       to the character addressing).
560     - Use bios data from boot-time to help identify bios device codes.
561     - Add 'geometric' and the '-g' switch to specify sector/head/cylinder
562       disk addressing.
563     - Add LBA32 compile switch, and make it the default:  'lba32' is now
564       assumed, unless 'geometric' or 'linear' is specified.
565     - Raid scans 'raid_disks + spare_disks'
566     - Add HPT370 controller (major device 114)
567
568   Boot Loader
569   -----------
570     - os2_d.b may now be obsolete with extensive checking added
571       to chain.b to see if it should fill in bytes 24 & 25 in the
572       boot record
573     - boot-bmp.b generated to display bitmapped boot screen
574     - read.S updated to allow #heads==256 (bios not IBM-compliant)
575     - disk.S updated to 1.4 to account for #heads==256 (hosed bios)
576     - second.S updated to allow for EBDA > 64k
577
578
579 Changes from version 21.7.4 to 21.7.5 (26-Apr-2001) John Coffman
580
581   Boot Installer
582   --------------
583     - Correct DAC960 partition mask -- again.
584
585   Chain Loader
586   ------------
587     - Reverse map device code if "map-drive" is in effect
588
589
590 Changes from version 21.7.3 to 21.7.4 (10-Apr-2001) John Coffman
591
592   Boot Installer
593   --------------
594     - Issue warning when CHANGE AUTOMATIC is to be inserted.
595     - Correct DAC960 partition mask.
596
597   Boot Loader
598   -----------
599     - Fix password timeout security hole which allowed booting with-
600       out entering a password.
601
602
603 Changes from version 21.7.1 to 21.7.2 (20-Mar-2001) John Coffman
604   (issued as "patch-21.7.1-to-21.7.2-diff.txt)
605
606   Boot Installer
607   --------------
608     - Add several devices supported by the 2.4.2 kernel only
609     - Bugfix for -I switch
610
611
612 Changes from version 21.7 to 21.7-1 (08-Mar-2001) John Coffman
613   (issued as "patch-21.7-to-21.7.1-diff.txt")
614
615   Boot Installer
616   --------------
617     - Makefile is simplified to remove 'filesize.c'
618     - New devices are added (Compaq), and ide5 is made to work
619     - A new diagnostic is added for when the '-r' switch is used
620     - Raid update for devfs support
621
622
623 Changes from version 21.6.1 to 21.7 (24-Feb-2001) John Coffman
624
625   Boot Installer
626   --------------
627     - Added code to 'do_cr_auto' to account for 'devfs' specifications
628     - Corrected code for -u/-U switches to make argument optional
629     - Fix for I2O major block device (SCSI raid)
630     - Expanded 'default=' error message
631     - Fix to strip <cr> from 'lilo.conf' to accomodate DOS text files
632     - Changed & expanded setup of serial line parameter specifier
633
634   Boot Loader
635   -----------
636     - Accepts new serial line parameter and supports higher baud rates
637
638
639 Changes from version 21.6 to 21.6.1 (16-Dec-2000) John Coffman
640
641   Boot Installer
642   --------------
643     - Bug fix to make '-r' and '-s' swithes work correctly.
644     - Bug fix for automatic change-rules to work correctly.
645     - Re-order some includes for glibc-2.2 compilation.
646
647   Boot Loader
648   -----------
649     - Added compile time option 'HP_TTRC' to add a 150ms delay
650       to boot process to accomodate HP TTRC card.
651
652
653 Changes from version 21.5.1 to 21.6 (01-Oct-2000) John Coffman
654
655   License
656   -------
657     - Corrects license wording problems by issuing all code and
658       documentation under a BSD license.
659
660   Boot Installer
661   --------------
662     - Supports booting from Reiser FileSystem 3.6.18 and later,
663       without the need to mount 'notail'.
664     - Added -T diagnostic capability, which includes real-mode
665       bios tests.  "make floppy" is still supported for patho-
666       logical installations.
667     - Updated default change-rules.  Added "change/automatic"
668       facility, as well as automatic generation of change-rules in
669       the abscence of "change" keyword.
670
671   Boot Loader
672   -----------
673     - Dynamically determines where second-stage loader is loaded,
674       thus allowing maximum room for kernel setup.S real-mode
675       code.
676     - First-stage loader no longer relocates itself.
677
678
679 Changes from version 21.5 to 21.5.1 (24-Aug-2000) John Coffman
680
681   Boot Loader
682   -----------
683     - Perl script keytab-lilo.pl updated for problem static decls
684     - Corrected assertion of DTR/RTS at all serial bitrates
685
686   Boot Installer
687   --------------
688     - Fix for RAID segmentation fault if boot= is not specified
689     - Fix for RAID to allow enough characters in expanded names
690
691
692 Changes from version 21.4.4 to 21.5 (17-Jul-2000) John Coffman
693
694   Boot Installer
695   --------------
696     - Now recognizes the option `table=<letter>' to support
697       booting OS/2 or DOS-like systems from a secondary partition.
698     - Supports `menu-title=<string>' and `menu-scheme=<color-spec>'
699       to all customization of the Boot Loader menu-driven user
700       interface (see Boot Loader, below).
701     - Updated man-pages (lilo and lilo.conf) for all new features
702       (and even some older ones).
703
704   Boot Loader
705   -----------
706     - Completely new menu-driven user interface.  Preserves backward
707       compatibility with command line interface on console or serial
708       terminal.  Menu title may be specified in 'lilo.conf'.  Menu
709       color scheme may be customized on VGA, but is fixed on MDA.
710     - Passes cmdline to kernel in Setup.S, not bootsect.S, if kernel
711       header is 0x0202 or greater.  Uses old bootsect.S method for
712       0x0201 kernels and earlier
713     - Uses significatly less memory, none above 0x099200, to account
714       for large Extended BIOS Data Areas of up to 27K.  Allows for
715       considerable growth in kernel's Setup.S code.
716     - Default compile is without LARGE_EBDA, so zImages up to 512k
717       may be loaded.
718
719   Chain Loader
720   ------------
721     - The OS/2 chain loader, `os2_d.b', now correctly sets parameters
722       for booting OS/2 from an extended partition.  This requires use
723       of a new form of the `table=' option.
724
725   DISK.COM utility
726   ----------------
727     - The .asciz pseudo-op has been removed so that the utility will
728       assemble under earlier versions of the as86 assembler.
729     - Now reports EBDA information.
730
731
732 Changes from version 21.4.3 to 21.4.4 (10-Jun-2000) John Coffman
733
734   Map Installer
735   -------------
736     - Added a minor RAID patch from Richard Bollinger: 'lilo-21_4_3.also'
737       http://www.elliott-turbo.com/lilo/
738     - Expand COMPACT/LINEAR warning message to include COMPACT/LBA32
739
740   Boot Loader
741   -----------
742     - LARGE_EBDA option now loads second stage loader at 800:0000, and
743       position of command line is changed; makes room for 512K kernels
744       to be loaded low.
745     - Minor optimizations when ES is reloaded (PUSH/POP) vs (mov thru AX)
746     - Serial line now turns on DTR/RTS at initialization
747     - Minor bugfix in numeric conversion (k/K-suffix)
748
749   DISK.COM utility
750   ----------------
751     - The disk.com utility no longer requires 'nasm' to assemble.  The
752       source code now makes the diagnostic floppy with "make floppy".
753
754
755 Changes from version 21.4.2 to 21.4.3 (06-May-2000) John Coffman
756
757   Map Installer
758   -------------
759     - Added RAID patches from 'lilo.raid1.also' from Richard Bollinger
760       http://www.elliott-turbo.com/lilo/lilo.raid1.also
761
762
763 Changes from version 21-3 to 21.4.2 (12-Apr-2000) -- John Coffman
764
765   Boot loader
766   -----------
767     - bugfix in 'read.S' that disabled the combination 'linear' with
768       'compact' ( '-l' and '-c' together).
769     - fixed numeric convesions; kernel accepts octal, decimal, and hex, so 
770       octal is now recognized by the boot loader.
771     - bugfix patch where ES segment prefix was ommitted (RHL 'second.patch')
772     - bugfix for compilation with 'LARGE_EBDA' option which caused command
773       line passed to the kernel to be truncated at 78 characters
774     
775   Map installer
776   -------------
777     - RHL6.2 loopdev updates added
778       
779       
780 Changes from version 21 to 21-3 (24-FEB-2000)  -- John Coffman 
781 -----------------------------                  <johninsd@san.rr.com>
782
783   Boot loader
784   -----------
785   
786     - will boot from disks up to 2048Gb in size, as long as the BIOS allows
787       the Enhanced BIOS calls for 32-bit sector addressing using packet calls.
788     - checks if BIOS supports packet calls (int 0x13, AH=0x42), and uses
789       these calls if 'lba32' was specified.  Otherwise, it uses
790       the C:H:S addressing scheme of the original IBM-PC BIOS.
791     - the disk read routine is separated into its own source file, "read.S",
792       which is included in the first-stage, and second-stage loader codes.
793       The first stage loader uses a very stripped down read routine, since it
794       only deals in single sector transfers.
795     - if BIOS does not support 32-bit packet calls, and the cylinder address
796       overflows when the 32-bit address is converted to C:H:S, then a "9f"
797       error code is issued.
798
799   Map installer
800   -------------
801   
802     - added the '-L' command line switch and 'lba32' configuration file 
803       global option.  
804     - map compaction of 'lba32' addresses is supported with the existing
805       '-c' switch (or 'compact' configuration file global option).
806     - floppy disks now will always fall back to C:H:S addressing.
807     - changed the -v option to now accept a single digit to set the verbosity
808       level; e.g., 'lilo -v 5 ...' replaces 'lilo -v -v -v -v -v ...'
809       for maximum diagnostic output.
810     - LILO version information is moved to the file 'version.h', and VERSION
811       is now deleted.  This allows for tracking of VERSION_MAJOR (=21) and
812       VERSION_MINOR (=3) for this and future code paths.
813       
814   BIOS tester
815   -----------
816   
817     - Inspired by 'dparam.com', a much more extensive BIOS test program is
818       included with this version.  Called 'disk.com', it was developed 
819       under DOS, and requires 'nasm' to be assembled.
820     - DISK.COM will probe the BIOS for disks supported by the BIOS, and report
821       on their CHS geometry.  If EDD is supported, the EDD geometry is also
822       reported.  If disks with cylinder numbers of 1024 or above are detected,
823       it will issue a recommendation to use LILO with the 'lba32' option.
824     - Creation of the bootable floppy image version of this utility is in-
825       complete at this time.
826       
827     
828 Changes from version 20 to 21 (5-DEC-1998)
829 -----------------------------
830
831   Boot loader
832   -----------
833
834     - cylinder calculation could overflow when using LINEAR (fix by Jonas
835       Aaberg and an anonymous contributor)
836     - first-stage loader code begins with the byte 0xFA (a CLI instruction).
837       This works around the "INACCESSIBLE_BOOT_DEVICE" blue screen bug of
838       Windows NT 4 (reported by too many people to mention)
839     - new build-time option LARGE_EBDA to load boot loader in the 0x8xxxx area
840       instead of the 0x9xxxx area (disabled by default; problem reported by
841       Josef Moellers)
842
843   Map installer
844   -------------
845
846     - new build-time option USE_TMPDIR to honor TMPDIR when creating temporary
847       devices (disabled by default)
848     - now only 0x1b6 bytes of the boot sector are overwritten, which preserves
849       the passwords DR DOS stores there (fixed by Roy Millar)
850     - -u and -U accidently implied -v
851     - "BIOS drive 0xNN may not be accessible" warning was printed in cases
852        where the drive code was never used (fixed by Andries Brouwer)
853     - change rule for DOS16_big incorrectly used DOS16_small_hidden when
854       hiding (fixed by Anthony Richardson)
855     - RESET in CHANGE-RULES did not remove default rules (fixed by Kurt
856       Garloff)
857     - added support for Mylex DAC960 PCI RAID controllers (by Leonard Zubkoff)
858     - added support for third to sixth IDE interface
859     - build-time option READONLY was not used properly
860     - fixed a few harmless compiler warnings
861
862   Documentation and installation
863   ------------------------------
864
865     - user's guide claimed that partitions are hidden by setting the highest
866       bit in the type (i.e. 0x80). The correct value is 0x10, which is also
867       what is used in the code.
868     - removed useless (and potentially harmful) DEFAULT_PATH from
869       keytab-lilo.pl (fixed by Andries Brouwer)
870     - consistency of build-time options is now checked before build starts
871     - QuickInst has now limited knowledge of multi-disk configurations
872     - doc/Makefile: added targets user.ps and tech.ps
873     - user's guide still claimed that kernels can't be larger than 512 kB
874       (reported by Jean-Albert Ferrez)
875     - weird description of the purpose of option BEEP (reported by Tom Toffoli)
876
877
878 Changes from version 19 to 20 (20-JUN-1997)
879 -----------------------------
880
881   Boot loader
882   -----------
883
884     - now supports 19200 bps and 38400 bps on the serial line (UNTESTED)
885     - when reaching the end of the command line buffer, input is ignored
886       instead of being treated like [Enter] (by Martin Mares)
887     - fixed numerous bugs in patching of heap end pointer in setup.S (by Martin
888       Mares)
889     - images can now optionally be launched with a single keystroke (no [Enter]
890       required)
891     - now supports non-US keyboard layouts
892
893   Map installer
894   -------------
895
896     - DISK sections may now also define non-disk devices, e.g. /dev/ram
897     - increased debug level for the "Caching device ..." message
898     - changed the chain loader format to allow sizes > 512 Bytes
899     - chain loader now supports arbitrary drive mappings (option MAP-DRIVE)
900     - chain loader now supports arbitrary partition table modifications (option
901       CHANGE)
902     - removed the configuration option REWRITE-TABLE
903     - removed the build-time options FIX_TABLE and HIDE_DOS
904     - added the global configuration option CHANGE-RULES plus sub-options
905       RESET, TYPE, NORMAL, and HIDDEN
906     - OTHER sections have new configuration option CHANGE plus sub-options
907       PARTITION, SET, ACTIVATE, and DEACTIVATE
908     - OTHER sections have new configuration option MAP-DRIVE with sub-option TO
909     - now only 0x1b8 bytes of the boot sector are overwritten, which preserves
910       some magic numbers NT stores there
911     - compiles with 2.1 kernels (asm/boot.h problem - reported by many people)
912     - should also compile under 0.93 or such again (required NORMAL_VGA etc.,
913       which didn't exist back then)
914     - lilo -q  now prints unknown VGA modes also in hex (by Martin Mares)
915     - option SINGLE-KEY to allow single-key activation
916     - -Wno-parentheses  is no longer needed
917     - didn't complain if image label was equal to alias
918     - removed some ancient dead code
919     - new option KEYTABLE to specify non-standard keyboard mappings
920     - PS/2 ESDI disk (/dev/eda and /dev/edb) support (by Andrew Kroll)
921     - geometry.c:last_dev now only probes for the first two IDE disks
922     - because chain.b is used for everything anyway, specifying the chain
923       loader when booting from a driver other than the first one is no longer
924       mandatory
925
926   Documentation and installation
927   ------------------------------
928
929     - changed all references to nic.funet.fi to ftp.funet.fi
930     - updated the user's guide and did some restructuring (many changes)
931     - QuickInst no longer puts ramdisk=0 into lilo.conf
932     - QuickInst now consistently checks for LILO >= version 15
933     - make clean  and  make spotless  now also remove dump.s and dump.b (by
934       Martin Mares)
935     - changed package names from lilo[.part].<version> to
936       lilo[-part]-<version> for compatibility with sunsite's archive
937       maintenance scripts
938     - new tool keytab-lilo.pl to generate LILO keyboard tables
939     - updated t2a.pl to a version compatible with Perl 5
940     - READONLY implicitly turns off REWRITE_TABLE
941
942
943 Changes from version 18 to 19 (21-MAY-1996)
944 -----------------------------
945
946   Boot loader
947   -----------
948
949     - new compile-time option to beep after displaying "LILO"
950
951   Map installer
952   -------------
953
954     - common.h broke compilation if CONFIG_BSD_DISKLABEL is enabled
955     - no longer tries to interpret dollar signs and such in comments
956     - check for too many images didn't work (patch by Andries Brouwer)
957
958   Documentation and installation
959   ------------------------------
960
961     - removed some "dead" targets in Makefile
962     - stopped using -N, because recent binutils link statically then
963     - INCOMPAT no longer promises that REWRITE_TABLE will be fixed in
964       version 19
965
966
967 Changes from version 17 to 18 (16-MAY-1996)
968 -----------------------------
969
970   Boot loader
971   -----------
972
973     - added ability to load data (e.g. kernels) at addresses >= 0x100000
974     - added support for loading an initial RAM disk
975     - any_*.b became too big when using REWRITE_TABLE
976     - included trimmed sector read function for first.S by Ted Ts'o
977     - now prints spaces before error codes
978     - temporarily removed support for REWRITE_TABLE
979     - added support for heap size indication to kernel setup.S
980     - added compile-time option XL_SECS for extra large disks
981
982   Map installer
983   -------------
984
985     - new option INITRD to load an initial RAM disk
986     - added support for "big" kernels (> 0.5 MB compressed), which are loaded
987       directly at 0x100000
988     - long quoted strings can now be distributed over several lines using
989       a backslash
990     - environment variables are accessible in lilo.conf with $name or ${name}
991     - now properly identifies attempts to map from NFS and such
992     - refuses to overwrite unsuitable partitions
993     - caches device names and numbers, thereby significantly reducing the
994       number of readdir and stat system calls (typically, the total number of
995       system call decreases by about 80%)
996     - temporarily removed support for REWRITE_TABLE
997     - geometry.c:exists now opens devices read-write in order to avoid
998       reading from CD-ROM devices (patch by Alain Knaff)
999     - added a warning if COMPACT is used with LINEAR
1000
1001   Documentation and installation
1002   ------------------------------
1003
1004     - documentation, QuickInst, and on-line usage information no longer mention
1005       the disktab file (a DISK section should be used instead)
1006     - mkdist now uses the VERSION file
1007     - distribution now includes .lsm file
1008     - LILO is now compiled without -O2
1009     - updated FTP references and rewrote them to conform to RFC1738
1010
1011
1012 Changes from version 16 to 17 (19-DEC-1995)
1013 -----------------------------
1014
1015   Boot loader
1016   -----------
1017
1018     - changes for FALLBACK and new map section structure (see below)
1019     - LCF_READONLY now disables the LOCK option (and FALLBACK too)
1020     - added command-line option  kbd  to preload keyboard buffer
1021     - write errors are now reported (Wxx)
1022     - chain loaders now support changing the active partition (enabled with
1023       REWRITE-TABLE)
1024     - chain loader can also "un-hide" a DOS partition if its partition type
1025       has been changed by OS/2 BM (build-time option FIX_TYPE)
1026     - when enabling HIDE_DOS in addition to FIX_TYPE, DOS partitions (except
1027       for the one being booted) are hidden, just like OS/2 BM does (build-time
1028       option HIDE_DOS)
1029
1030   Map installer
1031   -------------
1032
1033     - added FALLBACK option to change default command line before booting
1034       the current image
1035     - added REWRITE-TABLE option to patch partition table at boot time
1036     - added REWRITE_TABLE build-time option to enable REWRITE-TABLE
1037     - added DISK section flag INACCESSIBLE to mark disk as inaccessible for
1038       the BIOS so that the map installer can refuse bad mappings
1039     - options and fallback sectors are now at the beginning of map sections
1040     - -q and -R were accidentially marked as optional in usage
1041     - fixed incorrect partition check for  other = <non-root>
1042
1043   Documentation and installation
1044   ------------------------------
1045
1046     - changed LILO version numbers to always be of the form <number> instead
1047       of 0.<number>
1048     - README now also contains the version number
1049     - make install  now strips /sbin/lilo instead of trying to strip /sbin
1050     - various bug fixes in QuickInst
1051     - added file VERSION containing the current version number and new
1052       make target  version  to rename ../lilo to ../lilo-<version>
1053     - changed a footnote which yielded an asterisk at the end of a command
1054       line in the ASCII README
1055     - -q and -R were accidentally marked as optional in command-line
1056       descriptions
1057     - mentioned -D option in command line description
1058     - new section "System overview" in the user's manual and several minor
1059       additions
1060     - a few minor corrections and addition of unusual error messages
1061     - the last traces of "old-style" configuration have been removed
1062
1063
1064 Changes from version 15 to 16 (26-FEB-1995)
1065 -----------------------------
1066
1067   Boot loader
1068   -----------
1069
1070     - added register dump boot sector (dump.S) for debugging
1071     - chain loaders now clear BP. This might help in some cases where DOS
1072       refused to boot.
1073
1074   Map installer
1075   -------------
1076
1077     - really fixed -R this time
1078     - now suggests to "use a DISK section" (instead of disktab) if HDIO_REQ
1079       fails
1080     - removed incorrect error message when using a disktab
1081     - added check to detect CD-ROMs with major numbers of hard disks
1082     - no longer complains about corrupt partition table if 3D address is
1083       smaller than linear address and (3D) cylinder is 1023  (OS/2 does
1084       is this way)
1085     - LOADER is now required when booting an operating system from any device
1086       than the first hard or floppy disk
1087     - changed header protection macros from _xxx_H_ to xxx_H
1088     - added (untested) support for 2nd IDE controller (major 22)
1089
1090   Documentation and installation
1091   ------------------------------
1092
1093     - user.tex is now compatible with LaTeX 2e (\textfont0 problem)
1094     - tech.tex now avoids \SetFigFont (LaTeX 2e again)
1095     - /sbin/lilo is now optimized and stripped when installing
1096     - ASCIIfied "Booting basics" section
1097     - removed all references to the old directory structure
1098     - added description of LOCK in config file
1099     - updated FD TMC-1680 warning
1100     - added reminder to re-run /sbin/lilo when modifying partition tables
1101     - updated list of kernel options
1102     - added detailed description of >2 disks and >1024 cylinders
1103     - added description of putting /boot on a DOS partition
1104     - reordered sections in "Installation and updates"
1105     - updated tech.tex
1106
1107
1108 Changes from version 14 to 15 (23-OCT-1994)
1109 -----------------------------
1110
1111   General
1112   -------
1113
1114     - upon popular demand, a copyright notice has been added
1115
1116   Boot loader
1117   -----------
1118
1119     - now also drains the keyboard type-ahead buffer
1120     - new command-line option "lock" to make the specified command line the
1121       default for the following boots too
1122     - default command line execution can now be interrupted in prompt mode too
1123
1124   Map installer
1125   -------------
1126
1127     - fixed -R arguments handling bug
1128     - fixed -P argument handling bug
1129     - fixed yet another recursion problem with /dev/fd -> /proc/self/fd
1130     - added option -D and configuration variable DEFAULT to specify the
1131       default image without changing the oder of entries in /etc/lilo.conf
1132     - added configuration variable LOCK to make the specified command line the
1133       default for the following boots too
1134     - added disk geometry configuration in the general configuration file.
1135       /etc/disktab is now considered obsolete.
1136     - added option -w and configuration variable NOWARN to disable some
1137       warnings
1138     - added warning when putting the boot sector on a non-boot disk
1139     - added warning for possibly inaccessible devices (e.g. third disk)
1140     - added warning for disks/partitions with more than 1024 cylinders
1141     - added warnings for bad permissions of the configuration file
1142     - fixed handling of floppies in geo_open_boot
1143     - removed erroneous call to part_verify when booting other systems
1144       from files
1145     - added support for variable-size setup segments as supported by kernels
1146       >= 1.1.43
1147     - restructured verbosity levels
1148     - allowed escaping of backslashes in quoted strings (/etc/lilo.conf)
1149     - /sbin/lilo -q -v  now displays all settings
1150
1151   Documentation and installation
1152   ------------------------------
1153
1154     - lots of things have been restructured
1155     - many changes to describe the current Linux environment
1156     - "new" directory structure is now the default
1157     - README is now generated from user.tex by a Perl script
1158     - lots of minor corrections and clarifications
1159     - added a copyright notice and adapted several comments
1160     - QuickInst: updated default kernel names
1161     - QuickInst: now runs  /sbin/lilo -t  before trying to install
1162     - doc/Makefile: removed extra "Label(s) may have changed" output
1163     - disktab: changed header comment and added second example line
1164     - /etc/disktab is no longer automatically created by  make install
1165     - linking /etc/lilo/install -> /sbin/lilo is no longer suggested
1166     - removed mkbindist. I don't think anybody used it anyway.
1167
1168
1169 Changes from version 13 to 14
1170 -----------------------------
1171
1172   Map installer
1173   -------------
1174
1175     - added a few missing closedirs to device.c:scan_dir
1176     - added detection of directory loops to device.c:scan_dir and
1177       geometry.c:last_dev
1178     - fixed handling of dangling links in /dev
1179     - new option -u [ device ] to restore boot sector. Unsafe mode with -U
1180     - fixed/improved usage message
1181
1182   Documentation and installation
1183   ------------------------------
1184
1185     - QuickInst: did not write "other" sections to configuration file
1186     - QuickInst.new: improved handling of disks without active partitions
1187     - QuickInst.new now knows about /etc/disktab (relict from Shoelace,
1188       still in some distributions)
1189     - QuickInst.new now uses *_d.b chain loaders when configuring non-Linux
1190       systems on the second disk
1191
1192
1193 Changes from version 12 to 13
1194 -----------------------------
1195
1196   General
1197   -------
1198
1199     - BSS is no longer cleared by LILO, because the kernel itself does
1200       that now.
1201     - added support for the new directory structure. Makefile and QuickInst
1202       come in .old and .new versions. See INCOMPAT for details.
1203     - removed support for unstripped kernels. Therefore, mkck is no longer
1204       part of the distribution.
1205
1206   Boot loader
1207   -----------
1208
1209     - added missing  seg es  override to UI_MAGIC check at "input".
1210
1211   Map installer
1212   -------------
1213
1214     - new options LITERAL and APPEND.
1215     - the root setting is no longer being shown on -q -v
1216     - the configuration file may now contain quoted strings in which spaces
1217       and equal signs do not have to be escaped.
1218
1219   Documentation and installation
1220   ------------------------------
1221
1222     - fixed bug in QuickInst that prevented correct renaming of the config
1223       file when ROOT is set.
1224     - added comment to disktab indicating that it is typically not needed.
1225     - distributed files are now readable for group and other.
1226     - mkdist is now included in the distribution.
1227     - changed the name of kernels from "(traditional) boot image" to
1228       "kernel image".
1229     - changed the name of the string passed to the kernel from "command
1230       line" to "parameter line".
1231     - removed obsolescent terms "rootimage" and "bootimage".
1232     - fixed documentation bug claiming only kernels can be protected by
1233       passwords.
1234     - fixed some additional minor documentation errors.
1235
1236
1237 Changes from version 11 to 12
1238 -----------------------------
1239
1240   Boot loader
1241   ----------
1242
1243     - removed accidential swapping of A:/B: when swapping C:/D: from
1244       the chain loader.
1245     - added new chain loader any_b.b (swaps A:/B:)
1246     - fixed incorrect handling of drive number resetting in swapping
1247       versions of the chain loader.
1248     - now generates diagnostics when failing to load the second stage
1249       loader.
1250     - new compile-time option NO1STDIAG to disable these diagnostics.
1251
1252   Map installer
1253   -------------
1254
1255     - fixed stat/fstat when creating temporary devices.
1256     - subdirectories of /dev are now recursively searched for disk devices
1257       in addition to /dev
1258     - devices are now counted by highest device number, not by name.
1259     - some minor fixes.
1260
1261   Documentation and installation
1262   ------------------------------
1263
1264     - QuickInst now warns if there is an obsolete LILO boot sector on
1265       the MBR.
1266     - QuickInst is now prepared to handle symbolic links hda -> sda
1267     - other minor fixes to QuickInst.
1268     - removed all references to compound unstripped kernels from the
1269       user's guide.
1270     - activate is now compiled as a stripped, statically linked, impure
1271       executable.
1272     - fixed a few minor omissions in the technical overview.
1273
1274
1275 Changes from version 10 to 11
1276 -----------------------------
1277
1278   Boot loader
1279   -----------
1280
1281     - added on the fly patching of the BIOS disk parameter table to
1282       fix the "Error 0x04" observed on some systems.
1283
1284   Map installer
1285   -------------
1286
1287     - floppy devices are no longer opened at all when using the UNSAFE
1288       option in OTHER.
1289     - fixed partition table checking.
1290     - new option -V to display the version number.
1291     - INSTALL = /etc/lilo/boot.b  is now the default if INSTALL is
1292       omitted.
1293     - new compile-time configuration option NOINSTDEF to restore the old
1294       semantics of INSTALL.
1295
1296   Documentation and installation
1297   ------------------------------
1298
1299     - QuickInst no longer asks whether to change the active partition if
1300       installing LILO as the MBR.
1301     - QuickInst now suggests configuring other operating systems if
1302       installing LILO as the MBR.
1303     - added a version check to QuickInst.
1304     - added de-installation instructions.
1305     - fixed a few minor documentation bugs.
1306     - added script mkbindist that generates a minimal binary distribution
1307       of LILO.
1308
1309
1310 Changes from version 9 to 10
1311 ----------------------------
1312
1313   Boot loader
1314   -----------
1315
1316     - added support for read-only setting of root.
1317     - new chain loader os2.b to load OS/2 from the second disk.
1318     - new chain loader any_d.b to load BIOS-based operating systems
1319       (e.g. PC/MS-DOS) from the second disk.
1320
1321   Map installer
1322   -------------
1323
1324     - removed support for old-style configuration.
1325     - removed the dump option -D
1326     - removed support for not-compound unstripped kernels.
1327     - limited partition checking to hard disks and primary partitions.
1328     - -C now accepts - for standard input.
1329     - -P now has sub-options "fix" and "ignore". New configuration
1330       variable "ignore-table" coresponds to "-P ignore"
1331     - added automatic backup of the partition table when fixing it.
1332     - new configuration variables "readonly" and "read-write" to change
1333       read-only mounting of root.
1334     - made partition offset field in /etc/lilo/disktab optional.
1335     - added tentative support for XT-type hard disks.
1336     - improved some error messages.
1337     - some minor fixes.
1338
1339   Documentation and installation
1340   ------------------------------
1341
1342     - changed many "echo"s in QuickInst to "cat"s.
1343     - suggesting using a symbolic link to lilo for /etc/lilo/install.
1344     - removed the configuration option NOAUTO.
1345     - split the documentation in a user's guide and the technical
1346       overview.
1347     - removed all references to older versions of LILO, the kernel or
1348       other programs.
1349     - removed all references to old-style configuration and not-compound
1350       unstripped kernels.
1351     - using the fullpage style.
1352     - removed and "ascified" anew the shared sections of README and the
1353       LaTeX documentation.
1354     - some minor corrections.
1355
1356
1357 Changes from version 8 to 9
1358 ---------------------------
1359
1360   Boot sector
1361   -----------
1362
1363     - can now get the command line from the map file and overwrite
1364       that sector.
1365     - passes the word "auto" on the command line if booting after a
1366       timeout.
1367     - new command-line option vga={ask,normal,ext,extended,<number>}
1368       to alter the VGA mode on the fly.
1369     - image name matching can now be made case-insensitive (default)
1370     - added sanity checks for the second stage loader and the
1371       descriptor tables.
1372
1373   Map installer
1374   -------------
1375
1376     - added new compound unstripped kernel format.
1377     - -r is now implied if the environment variable ROOT is set.
1378     - new option -I to translate a label name (e.g. obtained from
1379       BOOT_IMAGE) to the path of the kernel image.
1380     - new variable MESSAGE to define a startup message.
1381     - new variable UNSAFE to bypass sanity checks and floppy spin-up
1382       when defining other operating systems.
1383     - new variable ALIAS to define a second label name.
1384     - new variable RESTRICTED to confine password protection to
1385       invocations with parameters.
1386     - added a missing #include <sys/stat.h> to map.c
1387     - fixed the BIOS_MAX_* parameters in lilo.h
1388     - removed too restrictive cylinder number check.
1389     - new option -R to set/clear the default command line in the
1390       map file.
1391     - added verification of 3D and linear address equality of
1392       partition starts (in the partition table).
1393     - suppressed outputting the version string when using -D with -v
1394     - "vga=extended" can now be abbreviated to "vga=ext".
1395
1396   Documentation and installation
1397   ------------------------------
1398
1399     - added a test for broken regexp in sed, grep and egrep to
1400       QuickInst. Other minor improvements.
1401     - now uses build-time configuration variables in Makefile or
1402       /etc/lilo/config.defines
1403     - copied section "LILO start messages" from doc.tex to README
1404     - removed the description of a floppy test installation from
1405       README. (doc.tex never contained that part.)
1406     - fixed some minor documentation errors and omissions.
1407     - fixed some minor Makefile bugs.
1408     - included the LaTeX translations of the FIG files.
1409     - moved the "Technical overview" to the end.
1410
1411
1412 Changes from version 7 to 8
1413 ---------------------------
1414
1415   Boot sector
1416   -----------
1417
1418     - now supports password protection for boot images.
1419     - fixed occasional omission of delays.
1420     - passes the name of the boot image to the kernel, which stores
1421       it in the environment variable BOOT_IMAGE.
1422     - parameters are now preserved when trying to boot the same
1423       image again after a media error.
1424     - the command line is preserved on error.
1425     - can be operated from a serial line.
1426     - made timeout handling interrupt-driven to fix time-wrap problems
1427       at midnight.
1428     - now clears all bytes after text and data of traditional boot
1429       images booted from a file.
1430
1431   Map installer
1432   -------------
1433
1434     - added detection of missing HDIO_REQ support.
1435     - added sanity checking for disk parameters.
1436     - fixed BIOS code computation for SCSI disks.
1437     - command-line settings can now override /etc/lilo/config
1438     - defaults for ROOT, VGA, RAMDISK, PASSWORD and OPTIONAL can be set
1439       in the options section.
1440     - new option PROMPT to unconditionally enter the boot prompt.
1441     - new option TIMEOUT to specify an input timeout.
1442     - new flag OPTIONAL to specify that an image can be omitted if it
1443       isn't present.
1444     - new value CURRENT for ROOT to specify the "current" root device.
1445     - special characters are now correctly escaped in dumps.
1446     - temporary files are now removed on error.
1447     - updated the usage output to reflect the changes since 0.6.
1448     - added a missing closedir to device.c
1449
1450   Documentation and installation
1451   ------------------------------
1452
1453     - wrote a quick installation script.
1454     - fixed many small documentation errors.
1455     - wrote a README for the doc directory.
1456     - added descriptions of the configuration parameters passed in
1457       the boot sector and of the kernel's command-line interface.
1458     - Makefile now explicitly uses /bin/sh
1459     - changed echo \c to echo -n in the Makefile
1460     - added ability to print the name of the active partition to
1461       activate.
1462
1463
1464 Changes from version 6 to 7
1465 ---------------------------
1466
1467   Boot sector
1468   -----------
1469
1470     - supports video mode and RAM disk size settings.
1471     - loads original boot sector to make possible additional settings
1472       available.
1473     - now uses defaults from the boot sector even if the boot sector
1474       has been changed after map creation.
1475
1476   Map installer
1477   -------------
1478
1479     - new configuration based on /etc/lilo/config
1480     - can get SCSI geometry without using /etc/lilo/disktab (doesn't
1481       work with 0.98pl6)
1482     - removed support for BIOS codes (name:code)
1483     - removed support for setting the swap device.
1484     - new command-line options: -q, -C and -D
1485
1486   Documentation
1487   -------------
1488
1489     - updated to cover new-style configuration
1490     - extended the plain-ASCII README
1491
1492
1493 Changes from version 5 to 6
1494 ---------------------------
1495
1496   Boot sector
1497   -----------
1498
1499     - added command-line argument passing.
1500     - now clears BSS of traditional images too.
1501     - chain.b is now more careful about register values when invoking
1502       the boot sector of the other OS.
1503     - added an interface for externally provided command lines.
1504     - added experimental recognition of linear addresses.
1505
1506   Map installer
1507   -------------
1508
1509     - fixed opening the disktab file. (Using -f didn't work.)
1510     - fixed use of BIOS codes for the map file: the tilde is now appended
1511       before the BIOS code.
1512     - added a chdir("/") when using -r
1513     - added more sanity checks.
1514     - added generation of linear addresses.
1515
1516   Documentation
1517   -------------
1518
1519     - removed all references to swap device settings in the kernel because
1520       recent kernels don't support that any longer.
1521     - added a troubleshooting section.
1522     - several minor fixes and improvements.
1523
1524
1525 Changes from version 4 to 5
1526 ---------------------------
1527
1528   Map installer
1529   -------------
1530
1531     - added automatic boot sector backup.
1532     - fixed variable block size detection. (Didn't work with the 0.97-pl2
1533       kernel.)
1534     - added the chroot (-r) option.
1535     - made the partition table part of a foreign OS boot descriptor
1536       optional.
1537
1538   Documentation and installation
1539   ------------------------------
1540
1541     - most of README has moved into doc.tex (LaTeX)
1542     - added a utility to activate a partition.
1543     - make install  now reminds the user to update the map.
1544     - dd is now used in a more efficient way in the Makefile.
1545       (Fewer subshells, etc.)
1546
1547
1548 Changes from version 3 to 4
1549 ---------------------------
1550
1551   Boot sector
1552   -----------
1553
1554     - added a configurable delay.
1555     - added a diagnostic title message.
1556
1557   Map installer
1558   -------------
1559
1560     - fixed all known include file conflicts.
1561     - added support for variable block sizes. (Not used yet.)
1562     - added some more sanity checks.
1563     - added a tool to determine SCSI disk parameters.
1564
1565   Documentation and installation
1566   ------------------------------
1567
1568     - extended coverage of SCSI disks.
1569     - make install  now backs up chain.b and boot.b of any older LILO
1570       installation. (To say: your system remains bootable even if you
1571       forget to run /etc/lilo/install after the update or if this fails
1572       for some reason.)
1573     - moved the changes section from README into CHANGES.
1574     - a set of pre-compiled executables of lilo, boot.b, chain.b and
1575       dparam.com is available too.
1576
1577
1578 Changes from version 2 to 3
1579 ---------------------------
1580
1581   Boot sector
1582   -----------
1583
1584     - can initialize BSS of unstripped kernels.
1585     - also accepts [Tab] to show the list of known images.
1586
1587   Map installer
1588   -------------
1589
1590     - fixed parsing of the root device specification.
1591     - fixed setting of the root device when the boot image doesn't
1592       define it.
1593     - reduced the number of installable images from 19 to 16. (Because the
1594       descriptors have grown.)
1595
1596   Documentation
1597   -------------
1598
1599     - added a booting basics section.
1600     - many minor changes.
1601
1602
1603 Changes from version 1 to 2
1604 ---------------------------
1605
1606   Boot sector
1607   -----------
1608
1609     - added command-line editing.
1610     - added debugging support (-DDEBUG).
1611     - added support for compacted maps.
1612     - some cosmetic changes.
1613
1614   Map installer
1615   -------------
1616
1617     - major rewrite.
1618     - files that contain "holes" are now handled properly.
1619     - added map compaction.
1620     - devices are now created on the fly only if they can't be found in /dev.
1621     - improved sanity checking.
1622     - can now boot other operating systems.
1623     - can now boot unstripped kernel executables.
1624     - added support for a disk parameter file.
1625     - reduced the number of installable images from 21 to 19.
1626     - changed the command-line syntax.
1627     - root and boot can now be specified on the command line.
1628
1629   Documentation
1630   -------------
1631
1632     - many changes, including correction of some minor errors.
1633
1634
1635 Changes from version 0 to 1
1636 ---------------------------
1637
1638   Boot sector
1639   -----------
1640
1641     - tested as master boot record.
1642     - improved the boot prompt invocation method.
1643     - increased the number of installable images to 21.
1644     - added a help facility.
1645     - improved read error handling and error reporting in the boot loader.
1646     - added a second stage boot loader.
1647
1648   Map installer
1649   -------------
1650
1651     - fixed some minor bugs in the map installer. Removed all compiler
1652       warnings.
1653     - added labeling of images.
1654     - added version checking for the boot sector.
1655     - replaced option -r by -m. -r will be available for a while for
1656       compatibility.
1657     - added booting from device files (that have boot images written on them).
1658     - BIOS device codes can now be specified for boot image files too.
1659     - added concatenation of images. (This is a test feature that will be
1660       changed in the future.)
1661
1662   Documentation
1663   -------------
1664
1665     - some minor documentation errors have been corrected.
1666     - the README now warns that the map has to be rebuilt after the images are
1667       replaced or moved.
1668     - added a files, a hints and an examples section.