README for project LILO
=======================


Versoin 23.1 (release) -- Joachim Wiedorn <ad_debian@joonet.de>
---------------------------------------------------------------

Option 'inaccessible':

  The patch in 23.0 for better support for inaccessible disks based
  on problems with usb sticks. But this option 'inaccessible' is only 
  usable, if hard disks can not be accessed by the BIOS, but always 
  by linux. This option does not concern usb sticks, which will always
  bring failures if they are named in the lilo.conf. So I have removed
  this patch from the new version.

Computing vmlinux size:

  From the compressed kernel vmlinuz the size of the uncompressed
  file must be compute to decide whether the initrd can be copied
  in the memory <15M. But with the newer 64bit kernels this factor
  changed from nearly "3" to nearly "6". "6" is now default.

Working on degraded RAID device:

  If the first physical device of a RAID1 array is faulty or removed, 
  lilo fails to install. It doesn't get valid informations about the 
  device and didn't resume with the next disk. Lilo now loop through
  all devices to get the disk geometry.

Working with MD RAID 1.0 standard:

  Turned off the error "Inconsistent Raid version information" for 
  Version 1.0 MD RAID mirror pairs. It also corrects the error message,
  as the version information is just incompatible not inconsistent.

  No other charges are required as 1.0 devices have the same layout
  as v0.90 devices except that they work with drives in excess of 2TB.
  It does not update for version 1.2 raid superblocks, this would 
  require a much more complex patch.

  With the following lilo.conf the standard debian initrd and kernel 
  boot off of an LVM logical drive on an MD RAID-1 array consisting of
  two whole disk devices (e.g. /dev/sda & /dev/sdb). Now the array can
  use version 1.0 superblocks, so these devices can be e.g. the new 
  3 TByte Seagate drives.

  Configuration example:

       | boot=/dev/md0
       | raid-extra-boot=mbr-only
       | map=/boot/map
       | delay=20
       |
       | default=Linux
       | append="quiet root=/dev/mapper/vg0-root"
       |
       | image=/vmlinuz
       |         label=Linux
       |         read-only
       |         initrd=/initrd.img


Versoin 23.0 (release) -- Joachim Wiedorn <ad_debian@joonet.de>
---------------------------------------------------------------

Option 'small-memory':

  New option to define, that kernel+initrd should always set into the
  low memory under 15M. But if this is impossible, lilo try to use the
  high memory above 16M for initrd and give you a warning.

Option 'large-memory':

  This option enables using memory above 16Mb for the initrd (up to a
  kernel imposed limit of around 768Mb) which is usable on nearly all
  newer systems with post-2000 BIOSes. Details can be found in manpage
  lilo.conf(5).

No option 'large-memory' or 'small-memory':

  If no option is set in the configuration, then lilo will check the
  needed memory space and give you some informations about the result
  and its decision in verbose mode.
  If you need the old behaviour, please use the option 'small-memory'.

Installation into a subdirectory:

  If you want to install all lilo files into a specific directory which 
  is not the root directory "/", then use the shell variable DESTDIR to
  set an absolut path for installation:

      make install DESTDIR=/home/myself/test/lilo/
  or
      make install DESTDIR=`pwd`/test/

  WARNING: You always need an absolute path! This behaviour have changed 
  since version 22.x. The old variable ROOT is obsolete for installing.

Using UUIDs for partitions:

  In the configuration file of lilo all lines with 'root=' can be used
  together with UUIDs. To extract your UUIDs let run the program blkid.
  Here an example:

      #OLD#root = /dev/hda6 = /dev/sda6
      root  = "UUID=5472fd8e-9089-4256-bcaa-ceab4f01a439"

  But then you should also use a similar expression for the 'boot=' line.
  Unfortunately you cannot use UUIDs because devices haven't any UUIDs.
  The solution is using the udev device names which can be found in 
  /dev/disks/by-id/ i. e. for a PATA disk:
  
      boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999

  or i. e. for a SATA disk :

      boot = /dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ90S999999

