Add externs to avoid multiple definitions, and then add missing definitions.
[rrq/maintain_lilo.git] / README
1 README for project LILO
2 =======================
3
4
5 Versoin 23.1 (release) -- Joachim Wiedorn <ad_debian@joonet.de>
6 ---------------------------------------------------------------
7
8 Option 'inaccessible':
9
10   The patch in 23.0 for better support for inaccessible disks based
11   on problems with usb sticks. But this option 'inaccessible' is only 
12   usable, if hard disks can not be accessed by the BIOS, but always 
13   by linux. This option does not concern usb sticks, which will always
14   bring failures if they are named in the lilo.conf. So I have removed
15   this patch from the new version.
16
17 Computing vmlinux size:
18
19   From the compressed kernel vmlinuz the size of the uncompressed
20   file must be compute to decide whether the initrd can be copied
21   in the memory <15M. But with the newer 64bit kernels this factor
22   changed from nearly "3" to nearly "6". "6" is now default.
23
24 Working on degraded RAID device:
25
26   If the first physical device of a RAID1 array is faulty or removed, 
27   lilo fails to install. It doesn't get valid informations about the 
28   device and didn't resume with the next disk. Lilo now loop through
29   all devices to get the disk geometry.
30
31 Working with MD RAID 1.0 standard:
32
33   Turned off the error "Inconsistent Raid version information" for 
34   Version 1.0 MD RAID mirror pairs. It also corrects the error message,
35   as the version information is just incompatible not inconsistent.
36
37   No other charges are required as 1.0 devices have the same layout
38   as v0.90 devices except that they work with drives in excess of 2TB.
39   It does not update for version 1.2 raid superblocks, this would 
40   require a much more complex patch.
41
42   With the following lilo.conf the standard debian initrd and kernel 
43   boot off of an LVM logical drive on an MD RAID-1 array consisting of
44   two whole disk devices (e.g. /dev/sda & /dev/sdb). Now the array can
45   use version 1.0 superblocks, so these devices can be e.g. the new 
46   3 TByte Seagate drives.
47
48   Configuration example:
49
50        | boot=/dev/md0
51        | raid-extra-boot=mbr-only
52        | map=/boot/map
53        | delay=20
54        |
55        | default=Linux
56        | append="quiet root=/dev/mapper/vg0-root"
57        |
58        | image=/vmlinuz
59        |         label=Linux
60        |         read-only
61        |         initrd=/initrd.img
62
63
64 Versoin 23.0 (release) -- Joachim Wiedorn <ad_debian@joonet.de>
65 ---------------------------------------------------------------
66
67 Option 'small-memory':
68
69   New option to define, that kernel+initrd should always set into the
70   low memory under 15M. But if this is impossible, lilo try to use the
71   high memory above 16M for initrd and give you a warning.
72
73 Option 'large-memory':
74
75   This option enables using memory above 16Mb for the initrd (up to a
76   kernel imposed limit of around 768Mb) which is usable on nearly all
77   newer systems with post-2000 BIOSes. Details can be found in manpage
78   lilo.conf(5).
79
80 No option 'large-memory' or 'small-memory':
81
82   If no option is set in the configuration, then lilo will check the
83   needed memory space and give you some informations about the result
84   and its decision in verbose mode.
85   If you need the old behaviour, please use the option 'small-memory'.
86
87 Installation into a subdirectory:
88
89   If you want to install all lilo files into a specific directory which 
90   is not the root directory "/", then use the shell variable DESTDIR to
91   set an absolut path for installation:
92
93       make install DESTDIR=/home/myself/test/lilo/
94   or
95       make install DESTDIR=`pwd`/test/
96
97   WARNING: You always need an absolute path! This behaviour have changed 
98   since version 22.x. The old variable ROOT is obsolete for installing.
99
100 Using UUIDs for partitions:
101
102   In the configuration file of lilo all lines with 'root=' can be used
103   together with UUIDs. To extract your UUIDs let run the program blkid.
104   Here an example:
105
106       #OLD#root = /dev/hda6 = /dev/sda6
107       root  = "UUID=5472fd8e-9089-4256-bcaa-ceab4f01a439"
108
109   But then you should also use a similar expression for the 'boot=' line.
110   Unfortunately you cannot use UUIDs because devices haven't any UUIDs.
111   The solution is using the udev device names which can be found in 
112   /dev/disks/by-id/ i. e. for a PATA disk:
113   
114       boot = /dev/disk/by-id/ata-SAMSUNG_SV1604N_S01FJ10X999999
115
116   or i. e. for a SATA disk :
117
118       boot = /dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ90S999999
119