1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
5 <html xmlns="http://www.w3.org/1999/xhtml"
8 Generic boot loader for Linux
10 User’s guide</title>
11 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
12 <meta name="generator" content="Bluefish 2.2.3" />
13 <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
14 <!-- xhtml,charset=utf-8,html -->
15 <meta name="src" content="user_21-5.tex" />
16 <meta name="date" content="2013-06-07T14:16:51+0200" />
17 <link rel="stylesheet" type="text/css" href="user_21-5.css" />
20 <div class="maketitle">
24 <h2 class="titleHead">LILO<br />
25 Generic boot loader for Linux<br />
28 User’s guide</h2>
29 <div class="author" ><span
30 class="cmr-12">Werner Almesberger</span>
32 class="cmr-12">John R. Coffman</span>
34 class="cmti-12">(reconstructed by Joachim Wiedorn)</span></div>
36 <div class="date" ><span
37 class="cmr-12">July 17, 2000</span></div>
39 <h3 class="likesectionHead"><a
40 id="x1-1000"></a>Contents</h3>
41 <div class="tableofcontents">
42 <span class="sectionToc" >1 <a
43 href="#x1-20001" id="QQ2-1-2">Overview</a></span>
44 <br /> <span class="subsectionToc" >1.1 <a
45 href="#x1-30001.1" id="QQ2-1-3">Easy rules</a></span>
46 <br /> <span class="subsectionToc" >1.2 <a
47 href="#x1-40001.2" id="QQ2-1-4">System overview</a></span>
48 <br /><span class="sectionToc" >2 <a
49 href="#x1-50002" id="QQ2-1-5">Introduction</a></span>
50 <br /> <span class="subsectionToc" >2.1 <a
51 href="#x1-60002.1" id="QQ2-1-6">Disk organization</a></span>
52 <br /> <span class="subsectionToc" >2.2 <a
53 href="#x1-70002.2" id="QQ2-1-7">Booting basics</a></span>
54 <br />  <span class="subsubsectionToc" >2.2.1 <a
55 href="#x1-80002.2.1" id="QQ2-1-8">MS-DOS alone</a></span>
56 <br />  <span class="subsubsectionToc" >2.2.2 <a
57 href="#x1-90002.2.2" id="QQ2-1-9">LOADLIN</a></span>
58 <br />  <span class="subsubsectionToc" >2.2.3 <a
59 href="#x1-100002.2.3" id="QQ2-1-10">LILO started by DOS-MBR</a></span>
60 <br />  <span class="subsubsectionToc" >2.2.4 <a
61 href="#x1-110002.2.4" id="QQ2-1-11">Several alternate branches</a></span>
62 <br />  <span class="subsubsectionToc" >2.2.5 <a
63 href="#x1-120002.2.5" id="QQ2-1-12">LILO started by <span
64 class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><sup class="textsuperscript">1</sup></span></a></span>
65 <br />  <span class="subsubsectionToc" >2.2.6 <a
66 href="#x1-130002.2.6" id="QQ2-1-13">LILO alone</a></span>
67 <br />  <span class="subsubsectionToc" >2.2.7 <a
68 href="#x1-140002.2.7" id="QQ2-1-14">Names</a></span>
69 <br /> <span class="subsectionToc" >2.3 <a
70 href="#x1-150002.3" id="QQ2-1-15">Choosing the “right” boot concept</a></span>
71 <br />  <span class="subsubsectionToc" >2.3.1 <a
72 href="#x1-160002.3.1" id="QQ2-1-16">BIOS restrictions</a></span>
73 <br />  <span class="subsubsectionToc" >2.3.2 <a
74 href="#x1-170002.3.2" id="QQ2-1-17">One disk, Linux on a primary partition</a></span>
75 <br />  <span class="subsubsectionToc" >2.3.3 <a
76 href="#x1-180002.3.3" id="QQ2-1-18">One disk, Linux on a logical partition</a></span>
77 <br />  <span class="subsubsectionToc" >2.3.4 <a
78 href="#x1-190002.3.4" id="QQ2-1-19">Two disks, Linux (at least partially) on the first disk</a></span>
79 <br />  <span class="subsubsectionToc" >2.3.5 <a
80 href="#x1-200002.3.5" id="QQ2-1-20">Two disks, Linux on second disk, first disk has an extended partition</a></span>
81 <br />  <span class="subsubsectionToc" >2.3.6 <a
82 href="#x1-210002.3.6" id="QQ2-1-21">Two disks, Linux on second disk, first disk has no extended partition</a></span>
83 <br />  <span class="subsubsectionToc" >2.3.7 <a
84 href="#x1-220002.3.7" id="QQ2-1-22">More than two disks</a></span>
85 <br />  <span class="subsubsectionToc" >2.3.8 <a
86 href="#x1-230002.3.8" id="QQ2-1-23"><span
87 class="cmtt-10x-x-109">/boot </span>on a DOS partition</a></span>
88 <br /><span class="sectionToc" >3 <a
89 href="#x1-240003" id="QQ2-1-24">The boot prompt</a></span>
90 <br /> <span class="subsectionToc" >3.1 <a
91 href="#x1-250003.1" id="QQ2-1-25">Boot command-line options</a></span>
92 <br />  <span class="subsubsectionToc" >3.1.1 <a
93 href="#x1-260003.1.1" id="QQ2-1-26">Standard options</a></span>
94 <br />  <span class="subsubsectionToc" >3.1.2 <a
95 href="#x1-270003.1.2" id="QQ2-1-27">Device-specific options</a></span>
96 <br />  <span class="subsubsectionToc" >3.1.3 <a
97 href="#x1-280003.1.3" id="QQ2-1-28">Other options</a></span>
98 <br />  <span class="subsubsectionToc" >3.1.4 <a
99 href="#x1-290003.1.4" id="QQ2-1-29">Repeating options</a></span>
100 <br />  <span class="subsubsectionToc" >3.1.5 <a
101 href="#x1-300003.1.5" id="QQ2-1-30">Implicit options</a></span>
102 <br /> <span class="subsectionToc" >3.2 <a
103 href="#x1-310003.2" id="QQ2-1-31">Boot image selection</a></span>
104 <br /><span class="sectionToc" >4 <a
105 href="#x1-320004" id="QQ2-1-32">Map installer</a></span>
106 <br /> <span class="subsectionToc" >4.1 <a
107 href="#x1-330004.1" id="QQ2-1-33">Command-line options</a></span>
108 <br />  <span class="subsubsectionToc" >4.1.1 <a
109 href="#x1-340004.1.1" id="QQ2-1-34">Show current installation</a></span>
110 <br />  <span class="subsubsectionToc" >4.1.2 <a
111 href="#x1-350004.1.2" id="QQ2-1-35">Create or update map</a></span>
112 <br />  <span class="subsubsectionToc" >4.1.3 <a
113 href="#x1-360004.1.3" id="QQ2-1-36">Change default command line</a></span>
114 <br />  <span class="subsubsectionToc" >4.1.4 <a
115 href="#x1-370004.1.4" id="QQ2-1-37">Kernel name translation</a></span>
117 <br />  <span class="subsubsectionToc" >4.1.5 <a
118 href="#x1-380004.1.5" id="QQ2-1-38">De-installation</a></span>
119 <br />  <span class="subsubsectionToc" >4.1.6 <a
120 href="#x1-390004.1.6" id="QQ2-1-39">Print version number</a></span>
121 <br />  <span class="subsubsectionToc" >4.1.7 <a
122 href="#x1-400004.1.7" id="QQ2-1-40">Options corresponding to configuration variables</a></span>
123 <br /> <span class="subsectionToc" >4.2 <a
124 href="#x1-410004.2" id="QQ2-1-41">Configuration</a></span>
125 <br />  <span class="subsubsectionToc" >4.2.1 <a
126 href="#x1-420004.2.1" id="QQ2-1-42">Syntax</a></span>
127 <br />  <span class="subsubsectionToc" >4.2.2 <a
128 href="#x1-430004.2.2" id="QQ2-1-43">Global options</a></span>
129 <br />  <span class="subsubsectionToc" >4.2.3 <a
130 href="#x1-440004.2.3" id="QQ2-1-44">General per-image options</a></span>
131 <br />  <span class="subsubsectionToc" >4.2.4 <a
132 href="#x1-450004.2.4" id="QQ2-1-45">Per-image options for kernels</a></span>
133 <br /> <span class="subsectionToc" >4.3 <a
134 href="#x1-460004.3" id="QQ2-1-46">Boot image types</a></span>
135 <br />  <span class="subsubsectionToc" >4.3.1 <a
136 href="#x1-470004.3.1" id="QQ2-1-47">Booting kernel images from a file</a></span>
137 <br />  <span class="subsubsectionToc" >4.3.2 <a
138 href="#x1-480004.3.2" id="QQ2-1-48">Booting kernel images from a device</a></span>
139 <br />  <span class="subsubsectionToc" >4.3.3 <a
140 href="#x1-490004.3.3" id="QQ2-1-49">Booting a foreign operating system</a></span>
141 <br /> <span class="subsectionToc" >4.4 <a
142 href="#x1-500004.4" id="QQ2-1-50">Disk geometry</a></span>
143 <br />  <span class="subsubsectionToc" >4.4.1 <a
144 href="#x1-510004.4.1" id="QQ2-1-51">Obtaining the geometry</a></span>
145 <br />  <span class="subsubsectionToc" >4.4.2 <a
146 href="#x1-520004.4.2" id="QQ2-1-52">Specifying the geometry</a></span>
147 <br /> <span class="subsectionToc" >4.5 <a
148 href="#x1-530004.5" id="QQ2-1-53">Partition table manipulation</a></span>
149 <br />  <span class="subsubsectionToc" >4.5.1 <a
150 href="#x1-540004.5.1" id="QQ2-1-54">Partition activation</a></span>
151 <br />  <span class="subsubsectionToc" >4.5.2 <a
152 href="#x1-550004.5.2" id="QQ2-1-55">Partition type change rules</a></span>
153 <br />  <span class="subsubsectionToc" >4.5.3 <a
154 href="#x1-560004.5.3" id="QQ2-1-56">Partition type changes</a></span>
155 <br /> <span class="subsectionToc" >4.6 <a
156 href="#x1-570004.6" id="QQ2-1-57">Keyboard translation</a></span>
157 <br />  <span class="subsubsectionToc" >4.6.1 <a
158 href="#x1-580004.6.1" id="QQ2-1-58">Compiling keyboard translation tables</a></span>
159 <br />  <span class="subsubsectionToc" >4.6.2 <a
160 href="#x1-590004.6.2" id="QQ2-1-59">Using keyboard translation tables</a></span>
161 <br /><span class="sectionToc" >5 <a
162 href="#x1-600005" id="QQ2-1-60">Installation and updates</a></span>
163 <br /> <span class="subsectionToc" >5.1 <a
164 href="#x1-610005.1" id="QQ2-1-61">Installation</a></span>
165 <br />  <span class="subsubsectionToc" >5.1.1 <a
166 href="#x1-620005.1.1" id="QQ2-1-62">Compatibility</a></span>
167 <br />  <span class="subsubsectionToc" >5.1.2 <a
168 href="#x1-630005.1.2" id="QQ2-1-63">Quick installation</a></span>
169 <br />  <span class="subsubsectionToc" >5.1.3 <a
170 href="#x1-640005.1.3" id="QQ2-1-64">Files</a></span>
171 <br />  <span class="subsubsectionToc" >5.1.4 <a
172 href="#x1-650005.1.4" id="QQ2-1-65">Normal first-time installation</a></span>
173 <br />  <span class="subsubsectionToc" >5.1.5 <a
174 href="#x1-660005.1.5" id="QQ2-1-66">Build-time configuration</a></span>
175 <br />  <span class="subsubsectionToc" >5.1.6 <a
176 href="#x1-670005.1.6" id="QQ2-1-67">Floppy disk installation</a></span>
177 <br /> <span class="subsectionToc" >5.2 <a
178 href="#x1-680005.2" id="QQ2-1-68">Updates</a></span>
179 <br />  <span class="subsubsectionToc" >5.2.1 <a
180 href="#x1-690005.2.1" id="QQ2-1-69">LILO update</a></span>
181 <br />  <span class="subsubsectionToc" >5.2.2 <a
182 href="#x1-700005.2.2" id="QQ2-1-70">Kernel update</a></span>
183 <br />  <span class="subsubsectionToc" >5.2.3 <a
184 href="#x1-710005.2.3" id="QQ2-1-71">System upgrade</a></span>
185 <br /> <span class="subsectionToc" >5.3 <a
186 href="#x1-720005.3" id="QQ2-1-72">LILO de-installation</a></span>
187 <br /> <span class="subsectionToc" >5.4 <a
188 href="#x1-730005.4" id="QQ2-1-73">Installation of other operating systems</a></span>
189 <br /><span class="sectionToc" >6 <a
190 href="#x1-740006" id="QQ2-1-74">Troubleshooting</a></span>
191 <br /> <span class="subsectionToc" >6.1 <a
192 href="#x1-750006.1" id="QQ2-1-75">Map installer warnings and errors</a></span>
193 <br />  <span class="subsubsectionToc" >6.1.1 <a
194 href="#x1-760006.1.1" id="QQ2-1-76">Fatal errors</a></span>
195 <br />  <span class="subsubsectionToc" >6.1.2 <a
196 href="#x1-770006.1.2" id="QQ2-1-77">Warnings</a></span>
197 <br /> <span class="subsectionToc" >6.2 <a
198 href="#x1-780006.2" id="QQ2-1-78">Boot loader messages</a></span>
199 <br />  <span class="subsubsectionToc" >6.2.1 <a
200 href="#x1-790006.2.1" id="QQ2-1-79">LILO start message</a></span>
201 <br />  <span class="subsubsectionToc" >6.2.2 <a
202 href="#x1-800006.2.2" id="QQ2-1-80">Disk error codes</a></span>
203 <br /> <span class="subsectionToc" >6.3 <a
204 href="#x1-810006.3" id="QQ2-1-81">Other problems</a></span>
206 <!--l. 124--><p class="noindent" > <br
207 class="newline" /><span
208 class="cmbx-10x-x-109">This document has only been partially updated and does reflect the status of Linux (until</span>
210 class="cmbx-10x-x-109">2.2.16) and of LILO</span><span
211 class="cmbx-10x-x-109"> (until 21.5) in the year 2000. </span> <br
213 </p><!--l. 132--><p class="noindent" >
215 <h3 class="sectionHead"><span class="titlemark">1 </span> <a
216 id="x1-20001"></a>Overview</h3>
217 <!--l. 134--><p class="noindent" >LILO is a versatile boot loader for Linux. It does not depend on a specific file system, can boot Linux kernel
218 images from floppy disks and from hard disks and can even act as a “boot manager” for other operating
219 systems.<span class="footnote-mark"><a
220 href="user_21-52.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
223 </p><!--l. 141--><p class="noindent" >One of up to sixteen different images can be selected at boot time. Various parameters, such as the root
224 device, can be set independently for each kernel. LILO can even be used as the master boot
226 </p><!--l. 146--><p class="noindent" >This document introduces the basics of disk organization and booting, continues with an overview of
227 common boot techniques and finally describes installation and use of LILO in greater detail. The
228 troubleshooting section at the end describes diagnostic messages and contains suggestions for most problems
229 that have been observed in the past.
230 </p><!--l. 152--><p class="noindent" >Please read at least the sections about installation and configuration if you’re already using an older version
231 of LILO. This distribution is accompanied by a file named <span
232 class="cmtt-10x-x-109">INCOMPAT </span>that describes further incompatibilities
234 </p><!--l. 157--><p class="noindent" >For the impatient: there is a quick-installation script to create a simple but quite usable installation. See
236 href="#x1-630005.1.2">5.1.2<!--tex4ht:ref: quickinst --></a> for details.
238 <h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a
239 id="x1-30001.1"></a>Easy rules</h4>
240 <!--l. 164--><p class="noindent" >But wait <span
241 class="cmmi-10x-x-109">…</span> here are a few easy rules that will help you to avoid most problems people experience with
244 <ul class="itemize1">
245 <li class="itemize"><span
246 class="cmbx-10x-x-109">Don’t panic. </span>If something doesn’t work, try to find out what is wrong, try to verify your
247 assumption and only then attempt to fix it.
249 <li class="itemize">Read the documentation. Especially if what the system does doesn’t correspond to what you
252 <li class="itemize">Make sure you have an emergency boot disk, that you know how to use it, and that it is always
255 <li class="itemize">Run <span
256 class="cmtt-10x-x-109">/sbin/lilo </span><span
257 class="cmbx-10x-x-109">whenever </span>the kernel or any part of LILO, including its configuration file,
258 has changed. When in doubt, run it. You can’t run <span
259 class="cmtt-10x-x-109">/sbin/lilo </span>too many times.
261 <li class="itemize">If performing a destructive upgrade and/or erasing your Linux partitions, de-install
263 class="cmbx-10x-x-109">before </span>that if using it as the MBR.
265 <li class="itemize">Don’t trust setup scripts. Always verify the <span
266 class="cmtt-10x-x-109">/etc/lilo.conf </span>they create before booting.
268 <li class="itemize">If using a big disk, be prepared for inconveniences: you may have to use the <span
269 class="cmtt-10x-x-109">linear </span>option.</li></ul>
271 <!--l. 188--><p class="noindent" >
273 <h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a
274 id="x1-40001.2"></a>System overview</h4>
275 <!--l. 190--><p class="noindent" >LILO is a collection of several programs and other files:
276 </p><!--l. 192--><p class="noindent" >
277 </p><dl class="description"><dt class="description">
279 class="cmbx-10x-x-109">The map installer</span> </dt><dd
280 class="description">is the program you run under Linux to put all files belonging to LILO at the
281 appropriate places and to record information about the location of data needed at boot time.
282 This program normally resides in <span
283 class="cmtt-10x-x-109">/sbin/lilo</span>. It has to be run to refresh that information
284 whenever any part of the system that LILO knows about changes, e.g. after installing a new
286 </dd><dt class="description">
288 class="cmbx-10x-x-109">Various files</span> </dt><dd
289 class="description">contain data LILO needs at boot time, e.g. the boot loader. Those files normally reside
291 class="cmtt-10x-x-109">/boot</span>. The most important files are the boot loader (see below) and the map file (<span
292 class="cmtt-10x-x-109">/boot/map</span>),
293 where the map installer records the location of the kernel(s).<span class="footnote-mark"><a
294 href="user_21-53.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
296 Another important file is the configuration file, which is normally called <span
297 class="cmtt-10x-x-109">/etc/lilo.conf</span>
298 </dd><dt class="description">
300 class="cmbx-10x-x-109">The boot loader</span> </dt><dd
301 class="description">is the part of LILO that is loaded by the BIOS and that loads kernels or the
302 boot sectors of other operating systems. It also provides a simple command-line interface to
303 interactively select the item to boot and to add boot options.</dd></dl>
304 <!--l. 215--><p class="noindent" >LILO primarily accesses the following parts of the system:
305 </p><!--l. 217--><p class="noindent" >
306 </p><dl class="description"><dt class="description">
308 class="cmbx-10x-x-109">The root file system partition</span> </dt><dd
309 class="description">is important for two reasons: first, LILO sometimes has to tell
310 the kernel where to look for it. Second, it is frequently a convenient place for many other items
311 LILO uses, such as the boot sector, the <span
312 class="cmtt-10x-x-109">/boot </span>directory, and the kernels.
313 </dd><dt class="description">
315 class="cmbx-10x-x-109">The boot sector</span> </dt><dd
316 class="description">contains the first part of LILO’s boot loader. It loads the much larger second-stage
317 loader. Both loaders are typically stored in the file <span
318 class="cmtt-10x-x-109">/boot/boot.b</span>
319 </dd><dt class="description">
321 class="cmbx-10x-x-109">The kernel</span> </dt><dd
322 class="description">is loaded and started by the boot loader. Kernels typically reside in the root directory
324 class="cmtt-10x-x-109">/boot</span>.</dd></dl>
325 <!--l. 229--><p class="noindent" >Note that many of the files LILO needs at boot time have to be accessible with the BIOS. This creates
326 certain restrictions, see section <a
327 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
328 </p><!--l. 233--><p class="noindent" >
331 <h3 class="sectionHead"><span class="titlemark">2 </span> <a
332 id="x1-50002"></a>Introduction</h3>
333 <!--l. 236--><p class="noindent" >The following sections describe how PCs boot in general and what has to be known when booting Linux
334 and using LILO in particular.
335 </p><!--l. 241--><p class="noindent" >
337 <h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a
338 id="x1-60002.1"></a>Disk organization</h4>
339 <!--l. 244--><p class="noindent" >When designing a boot concept, it is important to understand some of the subtleties of how
340 PCs typically organize disks. The most simple case are floppy disks. They consist of a boot
341 sector, some administrative data (FAT or super block, etc.) and the data area. Because that
342 administrative data is irrelevant as far as booting is concerned, it is regarded as part of the data area for
344 </p><!--l. 251--><p class="noindent" >
346 <center class="math-display" >
348 src="user_21-50x.png" alt="|------------|----------------------|
353 ------------------------------------
354 " class="math-display" /></center>
355 <!--l. 271--><p class="noindent" >The entire disk appears as one device (e.g. <span
356 class="cmtt-10x-x-109">/dev/fd0</span>) on Linux.
357 </p><!--l. 273--><p class="noindent" >The MS-DOS boot sector has the following structure:
358 </p><!--l. 275--><p class="noindent" >
360 <center class="math-display" >
362 src="user_21-51x.png" alt=" 0x000 |Jump--to-the-program--code-|
363 |--------------------------|
366 |--------------------------|
371 0x1FE |-Magic-number--(0xAA55-)--|
372 ---------------------------|
373 " class="math-display" /></center>
374 <!--l. 308--><p class="noindent" >LILO uses a similar boot sector, but it does not contain the disk parameters part. This is no problem for
375 Minix, Ext2 or similar file systems, because they don’t look at the boot sector, but putting a LILO boot
376 sector on an MS-DOS file system would make it inaccessible for MS-DOS.
377 </p><!--l. 314--><p class="noindent" >Hard disks are organized in a more complex way than floppy disks. They contain several data areas called
378 partitions. Up to four so-called primary partitions can exist on an MS-DOS hard disk. If more partitions are
379 needed, one primary partition is used as an extended partition that contains several logical
381 </p><!--l. 320--><p class="noindent" >The first sector of each hard disk contains a partition table, and an extended partition and <span
382 class="cmbx-10x-x-109">each </span>logical
383 partition contains a partition table too.
384 </p><!--l. 324--><p class="noindent" >
386 <center class="math-display" >
388 src="user_21-52x.png" alt="|------------------------------------------|
389 |Partition table /dev/hda |
390 | |Partition-1-------------------/dev/hda1--|
392 | |----------------------------------------|
393 | |Partition 2 /dev/hda2 |
394 --------------------------------------------
395 " class="math-display" /></center>
396 <!--l. 347--><p class="noindent" >The entire disk can be accessed as <span
397 class="cmtt-10x-x-109">/dev/hda</span>, <span
398 class="cmtt-10x-x-109">/dev/hdb</span>, <span
399 class="cmtt-10x-x-109">/dev/sda</span>, etc. The primary partitions are
401 class="cmtt-10x-x-109">/dev/hda1</span> <span
402 class="cmmi-10x-x-109">…</span> <span
403 class="cmtt-10x-x-109">/dev/hda4</span>.
404 </p><!--l. 351--><p class="noindent" >
407 <center class="math-display" >
409 src="user_21-53x.png" alt="|------------------------------------------|
410 |Partition-table------------------/dev/hda---|
411 | |Partition 1 /dev/hda1 |
412 | |----------------------------------------|
413 | |Partition 2 /dev/hda2 |
415 | |Extended--partition------------/dev/hda3--|
416 | | |--------------------------------------|
417 | | |Extended--partition-table---------------|
418 | | |Partition 3 /dev/hda5 |
419 | | |--------------------------------------|
420 | | |Extended--partition-table---------------|
421 | | |Partition 4 /dev/hda6 |
423 --------------------------------------------
424 " class="math-display" /></center>
425 <!--l. 398--><p class="noindent" >This hard disk has two primary partitions and an extended partition that contains two logical partitions.
426 They are accessed as <span
427 class="cmtt-10x-x-109">/dev/hda5</span> <span
428 class="cmmi-10x-x-109">…</span>
429 </p><!--l. 402--><p class="noindent" >Note that the partition tables of logical partitions are not accessible as the first blocks of some devices,
430 while the main partition table, all boot sectors and the partition tables of extended partitions
432 </p><!--l. 406--><p class="noindent" >Partition tables are stored in partition boot sectors. Normally, only the partition boot sector of the entire
433 disk is used as a boot sector. It is also frequently called the master boot record (MBR). Its structure is as
435 </p><!--l. 411--><p class="noindent" >
437 <center class="math-display" >
439 src="user_21-54x.png" alt=" |------------------------|
443 |------------------------|
444 0x1BE | Partition table |
446 |------------------------|
447 0x1FE -Magic-number--(0xAA55--)--
448 " class="math-display" /></center>
449 <!--l. 438--><p class="noindent" >The LILO boot sector is designed to be usable as a partition boot sector. (I.e. there is room for the
450 partition table.) Therefore, the LILO boot sector can be stored at the following locations:
453 <ul class="itemize1">
454 <li class="itemize">boot sector of a Linux floppy disk. (<span
455 class="cmtt-10x-x-109">/dev/fd0</span>, <span
456 class="cmmi-10x-x-109">…</span>)
458 <li class="itemize">MBR of the first hard disk. (<span
459 class="cmtt-10x-x-109">/dev/hda</span>, <span
460 class="cmtt-10x-x-109">/dev/sda</span>, <span
461 class="cmmi-10x-x-109">…</span>)
463 <li class="itemize">boot sector of a primary Linux file system partition on the first hard disk. (<span
464 class="cmtt-10x-x-109">/dev/hda1</span>, <span
465 class="cmmi-10x-x-109">…</span>)
467 <li class="itemize">partition boot sector of an extended partition on the first hard disk. (<span
468 class="cmtt-10x-x-109">/dev/hda1</span>, <span
469 class="cmmi-10x-x-109">…</span>)<span class="footnote-mark"><a
470 href="user_21-54.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
471 id="x1-6001f4"></a></li></ul>
472 <!--l. 455--><p class="noindent" >It <span
473 class="cmbx-10x-x-109">can’t </span>be stored at any of the following locations:
475 <ul class="itemize1">
476 <li class="itemize">boot sector of a non-Linux floppy disk or primary partition.
478 <li class="itemize">a Linux swap partition.
480 <li class="itemize">boot sector of a logical partition in an extended partition.<span class="footnote-mark"><a
481 href="user_21-55.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
484 <li class="itemize">on the second hard disk. (Unless for backup installations, if the current first disk will be removed
485 or disabled, or if some other boot loader is used, that is capable of loading boot sectors from
486 other drives.)</li></ul>
487 <!--l. 471--><p class="noindent" >Although LILO tries to detect attempts to put its boot sector at an invalid location, you should not rely on
489 </p><!--l. 475--><p class="noindent" >
491 <h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a
492 id="x1-70002.2"></a>Booting basics</h4>
493 <!--l. 477--><p class="noindent" >When booting from a floppy disk, the first sector of the disk, the so-called boot sector, is loaded. That boot
494 sector contains a small program that loads the respective operating system. MS-DOS boot sectors also
495 contain a data area, where disk and file system parameters (cluster size, number of sectors, number of
496 heads, etc.) are stored.
497 </p><!--l. 483--><p class="noindent" >When booting from a hard disk, the very first sector of that disk, the so-called master boot
498 record (MBR) is loaded. This sector contains a loader program and the partition table of the
499 disk. The loader program usually loads the boot sector, as if the system was booting from a
502 </p><!--l. 488--><p class="noindent" >Note that there is no functional difference between the MBR and the boot sector other than that the MBR
503 contains the partition information but doesn’t contain any file system-specific information (e.g. MS-DOS
505 </p><!--l. 493--><p class="noindent" >The first 446 (0x1BE) bytes of the MBR are used by the loader program. They are followed by the partition
506 table, with a length of 64 (0x40) bytes. The last two bytes contain a magic number that is sometimes used
507 to verify that a given sector really is a boot sector.
508 </p><!--l. 498--><p class="noindent" >There is a large number of possible boot configurations. The most common ones are described in the
510 </p><!--l. 502--><p class="noindent" >
512 <h5 class="subsubsectionHead"><span class="titlemark">2.2.1 </span> <a
513 id="x1-80002.2.1"></a>MS-DOS alone</h5>
514 <!--l. 504--><p class="noindent" >
516 <center class="math-display" >
518 src="user_21-55x.png" alt="|--------------------------------------------------------|
519 |Master-Boot-Record-Boot-sector---------Operating system--|
520 -DOS--MBR--------→----MS--DOS--------→----COMMAND.COM--------
521 " class="math-display" /></center>
522 <!--l. 511--><p class="noindent" >This is what usually happens when MS-DOS boots from a hard disk: the DOS-MBR determines the active
523 partition and loads the MS-DOS boot sector. This boot sector loads MS-DOS and finally passes control to
525 class="cmtt-10x-x-109">COMMAND.COM</span>. (This is greatly simplified.)
526 </p><!--l. 517--><p class="noindent" >
528 <h5 class="subsubsectionHead"><span class="titlemark">2.2.2 </span> <a
529 id="x1-90002.2.2"></a>LOADLIN</h5>
530 <!--l. 520--><p class="noindent" >
533 <center class="math-display" >
535 src="user_21-56x.png" alt="|--------------------------------------------------------------|
536 |MasterBoot-Record-Boot--sector-------Operating-systems-----------
537 |DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
538 ---------------→---LOADLIN-------→---Linux----------------------
539 " class="math-display" /></center>
540 <!--l. 528--><p class="noindent" >A typical <span
541 class="cmss-10x-x-109">LOADLIN </span>setup: everything happens like when booting MS-DOS, but in <span
542 class="cmtt-10x-x-109">CONFIG.SYS </span>or
544 class="cmtt-10x-x-109">AUTOEXEC.BAT</span>, LOADLIN is invoked. Typically, a program like <span
545 class="cmtt-10x-x-109">BOOT.SYS </span>is used to choose among
546 configuration sections in <span
547 class="cmtt-10x-x-109">CONFIG.SYS </span>and <span
548 class="cmtt-10x-x-109">AUTOEXEC.BAT</span>. This approach has the pleasant property that no
549 boot sectors have to be altered.
550 </p><!--l. 535--><p class="noindent" >Please refer to the documentation accompanying the LOADLIN package for installation instructions and
552 </p><!--l. 539--><p class="noindent" >
554 <h5 class="subsubsectionHead"><span class="titlemark">2.2.3 </span> <a
555 id="x1-100002.2.3"></a>LILO started by DOS-MBR</h5>
556 <!--l. 542--><p class="noindent" >
558 <center class="math-display" >
560 src="user_21-57x.png" alt="|--------------------------------------------------------|
561 |Master Boot Record Boot sector Operating system |
562 |DOS---MBR-------→---LILO-----------→---Linux-------------|
564 ----------------→---other-OS-----------------------------
565 " class="math-display" /></center>
566 <!--l. 550--><p class="noindent" >This is a “safe” LILO setup: LILO is booted by the DOS-MBR. No other boot sectors have to be touched.
567 If the other OS (or one of them, if there are several other operating systems being used) should
568 be booted without using LILO, the other partition has to be marked “active” with <span
569 class="cmss-10x-x-109">fdisk </span>or
571 class="cmss-10x-x-109">activate</span>.
572 </p><!--l. 556--><p class="noindent" >Installation: </p>
573 <ul class="itemize1">
574 <li class="itemize">install LILO with its boot sector on the Linux partition.
576 <li class="itemize">use <span
577 class="cmss-10x-x-109">fdisk </span>or <span
578 class="cmss-10x-x-109">activate </span>to make that partition active.
580 <li class="itemize">reboot.</li></ul>
582 <!--l. 563--><p class="noindent" >Deinstallation: </p>
583 <ul class="itemize1">
584 <li class="itemize">make a different partition active.
586 <li class="itemize">install whatever should replace LILO and/or Linux.</li></ul>
587 <!--l. 570--><p class="noindent" >
589 <h5 class="subsubsectionHead"><span class="titlemark">2.2.4 </span> <a
590 id="x1-110002.2.4"></a>Several alternate branches</h5>
591 <!--l. 575--><p class="noindent" >
593 <center class="math-display" >
595 src="user_21-58x.png" alt="|--------------------------------------------------------------|
596 |MasterBoot-Record-Boot--sector-------Operating-systems-----------
597 |DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
598 | -→ LOADLIN ---→ Linux
599 | -→ LILO ----- --→ Linux
600 ---------------→---MS---DOS--—--⋅⋅⋅------------------------------
601 " class="math-display" /></center>
602 <!--l. 585--><p class="noindent" >An extended form of the above setup: the MBR is not changed and both branches can either boot Linux or
603 MS-DOS. (LILO could also boot other operating systems.)
604 </p><!--l. 590--><p class="noindent" >
606 <h5 class="subsubsectionHead"><span class="titlemark">2.2.5 </span> <a
607 id="x1-120002.2.5"></a>LILO started by <span
608 class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><a
609 href="user_21-56.html#fn6x0"><sup class="textsuperscript">6</sup></a></span></h5>
610 <!--l. 593--><p class="noindent" ><a
612 </p><!--l. 596--><p class="noindent" >
615 <center class="math-display" >
617 src="user_21-59x.png" alt="|--------------------------------------------------------|
618 |Master-Boot-Record-Boot-sector--------Operating-system---|
619 |BOOTACTV --→ LILO ------- -→ Linux |
620 | - → other OS
621 ---------------------------------------------------------
622 " class="math-display" /></center>
623 <!--l. 604--><p class="noindent" >Here, the MBR is replaced by <span
624 class="cmss-10x-x-109">BOOTACTV </span>(or any other interactive boot partition
625 selector) and the choice between Linux and the other operating system(s) can be made
626 at boot time. This approach should be used if LILO fails to boot the other operating
627 system(s).<span class="footnote-mark"><a
628 href="user_21-57.html#fn7x0"><sup class="textsuperscript">7</sup></a></span><a
630 </p><!--l. 612--><p class="noindent" >Installation: </p>
631 <ul class="itemize1">
632 <li class="itemize">boot Linux.
634 <li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
635 class="newline" /><span class="obeylines-h"><span class="verb"><span
636 class="cmtt-10x-x-109">dd</span><span
637 class="cmtt-10x-x-109"> if=/dev/hda</span><span
638 class="cmtt-10x-x-109"> of=/fd/MBR</span><span
639 class="cmtt-10x-x-109"> bs=512</span><span
640 class="cmtt-10x-x-109"> count=1</span></span></span>
642 <li class="itemize">install LILO with the boot sector on the Linux partition.
644 <li class="itemize">install <span
645 class="cmss-10x-x-109">BOOTACTV </span>as the MBR, e.g. <br
646 class="newline" /><span class="obeylines-h"><span class="verb"><span
647 class="cmtt-10x-x-109">dd</span><span
648 class="cmtt-10x-x-109"> if=bootactv.bin</span><span
649 class="cmtt-10x-x-109"> of=/dev/hda</span><span
650 class="cmtt-10x-x-109"> bs=446</span><span
651 class="cmtt-10x-x-109"> count=1</span></span></span>
653 <li class="itemize">reboot.</li></ul>
654 <!--l. 623--><p class="noindent" >Deinstallation: </p>
655 <ul class="itemize1">
656 <li class="itemize">boot Linux.
658 <li class="itemize">restore the old MBR, e.g. <br
659 class="newline" /><span class="obeylines-h"><span class="verb"><span
660 class="cmtt-10x-x-109">dd</span><span
661 class="cmtt-10x-x-109"> if=/MBR</span><span
662 class="cmtt-10x-x-109"> of=/dev/hda</span><span
663 class="cmtt-10x-x-109"> bs=446</span><span
664 class="cmtt-10x-x-109"> count=1</span></span></span> <br
665 class="newline" />or <span class="obeylines-h"><span class="verb"><span
666 class="cmtt-10x-x-109">FDISK</span><span
667 class="cmtt-10x-x-109"> /MBR</span></span></span> under MS-DOS.</li></ul>
668 <!--l. 631--><p class="noindent" >If replacing the MBR appears undesirable and if a second Linux partition exists (e.g. <span
669 class="cmtt-10x-x-109">/usr</span>,
671 class="cmbx-10x-x-109">not </span>a swap partition), <span
672 class="cmss-10x-x-109">BOOTACTV </span>can be merged with the partition table and stored as the
674 “boot sector” of that partition. Then, the partition can be marked active to be booted by the
676 </p><!--l. 637--><p class="noindent" >Example:
679 <div class="verbatim" id="verbatim-1">
680 # dd if=/dev/hda of=/dev/hda3 bs=512 count=1
681  <br /># dd if=bootactv.bin of=/dev/hda3 bs=446 count=1</div>
682 <!--l. 641--><p class="nopar" >
683 </p><!--l. 643--><p class="noindent" ><span
684 class="cmbx-10x-x-109">WARNING: </span>Whenever the disk is re-partitioned, the merged boot sector on that “spare” Linux partition
685 has to be updated too.
687 <h5 class="subsubsectionHead"><span class="titlemark">2.2.6 </span> <a
688 id="x1-130002.2.6"></a>LILO alone</h5>
689 <!--l. 650--><p class="noindent" >
691 <center class="math-display" >
693 src="user_21-510x.png" alt="|------------------------------------|
694 |MasterBoot-Record-Operating-system--|
695 |LILO --- -----→ Linux |
696 | -→ other OS |
697 --------------------------------------
698 " class="math-display" /></center>
699 <!--l. 658--><p class="noindent" >LILO can also take over the entire boot procedure. If installed as the MBR, LILO is responsible for either
700 booting Linux or any other OS. This approach has the disadvantage, that the old MBR is overwritten and
701 has to be restored (either from a backup copy, with <span class="obeylines-h"><span class="verb"><span
702 class="cmtt-10x-x-109">FDISK</span><span
703 class="cmtt-10x-x-109"> /MBR</span></span></span> on recent versions of MS-DOS or
704 by overwriting it with something like <span
705 class="cmss-10x-x-109">BOOTACTV</span>) if Linux should ever be removed from the
707 </p><!--l. 665--><p class="noindent" >You should verify that LILO is able to boot your other operating system(s) before relying on this
709 </p><!--l. 668--><p class="noindent" >Installation: </p>
710 <ul class="itemize1">
711 <li class="itemize">boot Linux.
713 <li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
714 class="newline" /><span class="obeylines-h"><span class="verb"><span
715 class="cmtt-10x-x-109">dd</span><span
716 class="cmtt-10x-x-109"> if=/dev/hda</span><span
717 class="cmtt-10x-x-109"> of=/fd/MBR</span><span
718 class="cmtt-10x-x-109"> bs=512</span><span
719 class="cmtt-10x-x-109"> count=1</span></span></span>
721 <li class="itemize">install LILO with its boot sector as the MBR.
724 <li class="itemize">reboot.</li></ul>
725 <!--l. 677--><p class="noindent" >Deinstallation: </p>
726 <ul class="itemize1">
727 <li class="itemize">boot Linux.
729 <li class="itemize">restore the old MBR, e.g. <br
730 class="newline" /><span class="obeylines-h"><span class="verb"><span
731 class="cmtt-10x-x-109">dd</span><span
732 class="cmtt-10x-x-109"> if=/fd/MBR</span><span
733 class="cmtt-10x-x-109"> of=/dev/hda</span><span
734 class="cmtt-10x-x-109"> bs=446</span><span
735 class="cmtt-10x-x-109"> count=1</span></span></span></li></ul>
736 <!--l. 684--><p class="noindent" >If you’ve installed LILO as the master boot record, you have to explicitly specify the boot sector
737 (configuration variable <span
738 class="cmtt-10x-x-109">boot=</span><span
739 class="cmmi-10x-x-109">…</span>) when updating the map. Otherwise, it will try to use the boot sector of
740 your current root partition, which will usually work, but it will probably leave your system
742 </p><!--l. 691--><p class="noindent" >
744 <h5 class="subsubsectionHead"><span class="titlemark">2.2.7 </span> <a
745 id="x1-140002.2.7"></a>Names</h5>
746 <!--l. 693--><p class="noindent" >The following names have been used to describe boot sectors or parts of operating systems:
747 </p><!--l. 696--><p class="noindent" >
748 </p><dl class="description"><dt class="description">
750 class="cmbx-10x-x-109">“DOS-MBR”</span> </dt><dd
751 class="description">is the original MS-DOS MBR. It scans the partition table for a partition that is
752 marked “active” and loads the boot sector of that partition. Programs like MS-DOS’ <span
753 class="cmss-10x-x-109">FDISK</span>,
755 class="cmss-10x-x-109">fdisk </span>or <span
756 class="cmss-10x-x-109">activate </span>(accompanies LILO) can change the active marker in the partition table.
757 </dd><dt class="description">
759 class="cmbx-10x-x-109">“MS-DOS”</span> </dt><dd
760 class="description">denotes the MS-DOS boot sector that loads the other parts of the system (<span
761 class="cmtt-10x-x-109">IO.SYS</span>,
763 </dd><dt class="description">
765 class="cmbx-10x-x-109">“COMMAND.COM”</span> </dt><dd
766 class="description">is the standard command interpreter of MS-DOS.
767 </dd><dt class="description">
769 class="cmbx-10x-x-109">“LOADLIN”</span> </dt><dd
770 class="description">is a program that loads a Linux kernel image from an MS-DOS partition into memory
771 and executes it. It is usually invoked from <span
772 class="cmtt-10x-x-109">CONFIG.SYS </span>and is used in combination with a
774 class="cmtt-10x-x-109">CONFIG.SYS </span>configuration switcher, like BOOT.SYS.<span class="footnote-mark"><a
775 href="user_21-58.html#fn8x0"><sup class="textsuperscript">8</sup></a></span><a
777 </dd><dt class="description">
779 class="cmbx-10x-x-109">“LILO”</span> </dt><dd
780 class="description">can either load a Linux kernel or the boot sector of any other operating system. It has a first
782 stage boot sector that loads the remaining parts of LILO from various locations.<span class="footnote-mark"><a
783 href="user_21-59.html#fn9x0"><sup class="textsuperscript">9</sup></a></span><a
785 </dd><dt class="description">
787 class="cmbx-10x-x-109">“BOOTACTV”</span> </dt><dd
788 class="description">permits interactive selection of the partition from which the boot sector should
789 be read. If no key is pressed within a given interval, the partition marked active is booted.
791 class="cmss-10x-x-109">BOOTACTV </span>is included in the <span
792 class="cmss-10x-x-109">pfdisk </span>package. There are also several similar programs, like
793 PBOOT and OS-BS.<span class="footnote-mark"><a
794 href="user_21-510.html#fn10x0"><sup class="textsuperscript">10</sup></a></span><a
795 id="x1-14003f10"></a></dd></dl>
796 <!--l. 739--><p class="noindent" >
798 <h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a
799 id="x1-150002.3"></a>Choosing the “right” boot concept</h4>
800 <!--l. 741--><p class="noindent" >Although LILO can be installed in many different ways, the choice is usually limited by the present
801 setup and therefore, typically only a small number of configurations which fit naturally into an
802 existing system remains. The following sections describe various possible cases. See also section
804 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
805 </p><!--l. 747--><p class="noindent" >The configuration file <span
806 class="cmtt-10x-x-109">/etc/lilo.conf </span>for the examples could look like this:
809 <div class="verbatim" id="verbatim-2">
810 boot = /dev/hda2
811  <br />compact
812  <br />image = /vmlinuz
813  <br />image = /vmlinuz.old
814  <br />other = /dev/hda1
815  <br />  table = /dev/hda
816  <br />  label = msdos</div>
817 <!--l. 758--><p class="nopar" >
818 </p><!--l. 760--><p class="noindent" >It installs a Linux kernel image (<span
819 class="cmtt-10x-x-109">/vmlinuz</span>), an alternate Linux kernel image (<span
820 class="cmtt-10x-x-109">/vmlinuz.old</span>) and a chain
821 loader to boot MS-DOS from <span
822 class="cmtt-10x-x-109">/dev/hda1</span>. The option <span
823 class="cmtt-10x-x-109">compact </span>on the second line instructs the map installer
825 </p><!--l. 765--><p class="noindent" >In all examples, the names of the IDE-type hard disk devices (<span
826 class="cmtt-10x-x-109">/dev/hda</span><span
827 class="cmmi-10x-x-109">…</span>) are used. Everything applies to
828 other disk types (e.g. SCSI disks; <span
829 class="cmtt-10x-x-109">/dev/sda</span><span
830 class="cmmi-10x-x-109">…</span>) too.
831 </p><!--l. 770--><p class="noindent" >
833 <h5 class="subsubsectionHead"><span class="titlemark">2.3.1 </span> <a
834 id="x1-160002.3.1"></a>BIOS restrictions</h5>
835 <!--l. 773--><p class="noindent" >Nowadays, an increasing number of systems is equipped with comparably large disks or even with
836 multiple disks. At the time the disk interface of the standard PC BIOS has been designed (about
837 16 years ago), such configurations were apparently considered to be too unlikely to be worth
839 </p><!--l. 778--><p class="noindent" >The most common BIOS restrictions that affect LILO are the limitation to two hard disks and the inability
840 to access more than 1024 cylinders per disk. LILO can detect both conditions, but in order to work around
841 the underlying problems, manual intervention is necessary.
842 </p><!--l. 783--><p class="noindent" >The drive limit does not exist in every BIOS. Some modern motherboards and disk controllers
843 are equipped with a BIOS that supports more (typically four) disk drives. When attempting
844 to access the third, fourth, etc. drive, LILO prints a warning message but continues. Unless
845 the BIOS really supports more than two drives, the system will <span
846 class="cmbx-10x-x-109">not </span>be able to boot in that
847 case.<span class="footnote-mark"><a
848 href="user_21-511.html#fn11x0"><sup class="textsuperscript">11</sup></a></span><a
849 id="x1-16001f11"></a>
850 </p><!--l. 792--><p class="noindent" >The cylinder limit is a very common problem with IDE disks. There, the number of cylinders may already
851 exceed 1024 if the drive has a capacity of more than 504 MB. Many SCSI driver BIOSes present the disk
852 geometry in a way that makes the limit occur near 1 GB. Modern disk controllers may even push
854 the limit up to about 8 GB. All cylinders beyond the 1024th are inaccessible for the BIOS.
855 LILO detects this problem and aborts the installation (unless the <span
856 class="cmtt-10x-x-109">linear </span>option is used, see section
858 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
859 </p><!--l. 801--><p class="noindent" >Note that large partitions that only partially extend into the “forbidden zone” are still in jeopardy even
860 if they appear to work at first, because the file system does not know about the restrictions
861 and may allocate disk space from the area beyond the 1024th cylinder when installing new
862 kernels. LILO therefore prints a warning message but continues as long as no imminent danger
864 </p><!--l. 808--><p class="noindent" >There are four approaches of how such problems can be solved: </p>
865 <ul class="itemize1">
866 <li class="itemize">use of a different partition which is on an accessible disk and which does not exceed the 1024
867 cylinder limit. If there is only a DOS partition which fulfills all the criteria, that partition can
868 be used to store the relevant files. (See section <a
869 href="#x1-230002.3.8">2.3.8<!--tex4ht:ref: viados --></a>.)
871 <li class="itemize">rearranging partitions and disks. This is typically a destructive operation, so extra care should
872 be taken to make good backups.
874 <li class="itemize">if the system is running DOS or Windows 95, <span
875 class="cmss-10x-x-109">LOADLIN </span>can be used instead of LILO.
877 <li class="itemize">if all else fails, installation of a more capable BIOS, a different controller or a different disk
878 configuration.</li></ul>
879 <!--l. 822--><p class="noindent" >LILO depends on the BIOS to load the following items: </p>
880 <ul class="itemize1">
881 <li class="itemize"><span
882 class="cmtt-10x-x-109">/boot/boot.b</span>
884 <li class="itemize"><span
885 class="cmtt-10x-x-109">/boot/map </span>(created when running <span
886 class="cmtt-10x-x-109">/sbin/lilo</span>)
888 <li class="itemize">all kernels
890 <li class="itemize">the boot sectors of all other operating systems it boots
892 <li class="itemize">the startup message, if one has been defined</li></ul>
893 <!--l. 831--><p class="noindent" >Normally, this implies that the Linux root file system should be in the “safe” area. However, it is already
894 sufficient to put all kernels into <span
895 class="cmtt-10x-x-109">/boot </span>and to either mount a “good” partition on <span
896 class="cmtt-10x-x-109">/boot </span>or to let <span
897 class="cmtt-10x-x-109">/boot </span>be a
898 symbolic link pointing to or into such a partition.
899 </p><!--l. 837--><p class="noindent" >See also <span
900 class="cmtt-10x-x-109">/usr/src/linux/Documentation/ide.txt </span>(or <span
901 class="cmtt-10x-x-109">/usr/src/linux/drivers/block/README.ide </span>in
902 older kernels) for a detailed description of problems with large disks.
904 <h5 class="subsubsectionHead"><span class="titlemark">2.3.2 </span> <a
905 id="x1-170002.3.2"></a>One disk, Linux on a primary partition</h5>
907 <!--l. 844--><p class="noindent" >If at least one primary partition of the first hard disk is used as a Linux file system (<span
908 class="cmtt-10x-x-109">/</span>, <span
909 class="cmtt-10x-x-109">/usr</span>, etc. but <span
910 class="cmbx-10x-x-109">not </span>as
911 a swap partition), the LILO boot sector should be stored on that partition and it should be booted by the
912 original master boot record or by a program like <span
913 class="cmss-10x-x-109">BOOTACTV</span>.
914 </p><!--l. 851--><p class="noindent" >
916 <center class="math-display" >
918 src="user_21-511x.png" alt=" |------------------------|
919 |MBR----------/dev/hda---|
920 | |MS--DOS----/dev/hda1--|
921 → ---Linux-/----/dev/hda2---
922 " class="math-display" /></center>
923 <!--l. 870--><p class="noindent" >In this example, the <span
924 class="cmtt-10x-x-109">boot </span>variable could be omitted, because the boot sector is on the root
926 </p><!--l. 874--><p class="noindent" >
928 <h5 class="subsubsectionHead"><span class="titlemark">2.3.3 </span> <a
929 id="x1-180002.3.3"></a>One disk, Linux on a logical partition</h5>
930 <!--l. 876--><p class="noindent" >If no primary partition is available for Linux, but at least one logical partition of an extended partition on
931 the first hard disk contains a Linux file system, the LILO boot sector should be stored in the partition
932 sector of the extended partition and it should be booted by the original master boot record or by a program
934 class="cmss-10x-x-109">BOOTACTV</span>.
935 </p><!--l. 882--><p class="noindent" >
937 <center class="math-display" >
939 src="user_21-512x.png" alt=" |------------------------|
940 |MBR----------/dev/hda---|
941 | |MS -DOS /dev/hda1 |
942 → | |Extended---/dev/hda2--|
943 | | |Linux---/dev/hda5--|
944 | | |-------------------|
945 ------...-----/dev/hda6---
946 " class="math-display" /></center>
948 <!--l. 909--><p class="noindent" >Because many disk partitioning programs refuse to make an extended partition (in our example <span
949 class="cmtt-10x-x-109">/dev/hda2</span>)
950 active, you might have to use <span
951 class="cmss-10x-x-109">activate</span>, which comes with the LILO distribution.
952 </p><!--l. 913--><p class="noindent" >OS/2 BootManager should be able to boot LILO boot sectors from logical partitions. The installation on
953 the extended partition itself is not necessary in this case.
954 </p><!--l. 918--><p class="noindent" >
956 <h5 class="subsubsectionHead"><span class="titlemark">2.3.4 </span> <a
957 id="x1-190002.3.4"></a>Two disks, Linux (at least partially) on the first disk</h5>
958 <!--l. 920--><p class="noindent" >This case is equivalent to the configurations where only one disk is in the system. The Linux boot sector
959 resides on the first hard disk and the second disk is used later in the boot process.
960 </p><!--l. 924--><p class="noindent" >Only the location of the boot sector matters – everything else (<span
961 class="cmtt-10x-x-109">/boot/boot.b</span>, <span
962 class="cmtt-10x-x-109">/boot/map</span>, the root file
963 system, a swap partition, other Linux file systems, etc.) can be located anywhere on the second disk,
964 provided that the constraints described in section <a
965 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> are met.
966 </p><!--l. 932--><p class="noindent" >
968 <h5 class="subsubsectionHead"><span class="titlemark">2.3.5 </span> <a
969 id="x1-200002.3.5"></a>Two disks, Linux on second disk, first disk has an extended partition</h5>
970 <!--l. 934--><p class="noindent" >If there is no Linux partition on the first disk, but there is an extended partition, the LILO boot sector can
971 be stored in the partition sector of the extended partition and it should be booted by the original master
972 boot record or by a program like <span
973 class="cmss-10x-x-109">BOOTACTV</span>.
974 </p><!--l. 939--><p class="noindent" >
976 <center class="math-display" >
978 src="user_21-513x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
979 |MBR /dev/hda | |MBR /dev/hdb |
980 | |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
981 → | |Extended--/dev/hda2--| | |...--------/dev/hdb2--|
982 | | |-------------------| | | |
983 | | |...-----/dev/hda5--| | | |
984 ------...-----/dev/hda6--- --------------------------
985 " class="math-display" /></center>
986 <!--l. 974--><p class="noindent" >The program <span
987 class="cmss-10x-x-109">activate</span>, that accompanies LILO, may have to be used to set the active marker on an extended
988 partition, because MS-DOS’ <span
989 class="cmss-10x-x-109">FDISK </span>and some older version of Linux <span
990 class="cmss-10x-x-109">fdisk </span>refuse to do that. (Which is
991 generally a good idea.)
993 </p><!--l. 981--><p class="noindent" >
995 <h5 class="subsubsectionHead"><span class="titlemark">2.3.6 </span> <a
996 id="x1-210002.3.6"></a>Two disks, Linux on second disk, first disk has no extended partition</h5>
997 <!--l. 983--><p class="noindent" >If there is neither a Linux partition nor an extended partition on the first disk, then there’s only one place
998 left, where a LILO boot sector could be stored: the master boot record.
999 </p><!--l. 987--><p class="noindent" >In this configuration, LILO is responsible for booting all other operating systems too.
1000 </p><!--l. 991--><p class="noindent" >
1002 <center class="math-display" >
1004 src="user_21-514x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
1005 → |MBR----------/dev/hda---| |MBR----------/dev/hdb---|
1006 | |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
1007 ----...-------/dev/hda2--- ---...--------/dev/hdb2---
1008 " class="math-display" /></center>
1009 <!--l. 1019--><p class="noindent" >You should back up your old MBR before installing LILO and verify that LILO is able to boot your other
1010 operating system(s) before relying on this approach.
1011 </p><!--l. 1023--><p class="noindent" >The line <span class="obeylines-h"><span class="verb"><span
1012 class="cmtt-10x-x-109">boot</span><span
1013 class="cmtt-10x-x-109"> =</span><span
1014 class="cmtt-10x-x-109"> /dev/hda2</span></span></span> in <span
1015 class="cmtt-10x-x-109">/etc/lilo.conf </span>would have to be changed to <span class="obeylines-h"><span class="verb"><span
1016 class="cmtt-10x-x-109">boot</span><span
1017 class="cmtt-10x-x-109"> =</span><span
1018 class="cmtt-10x-x-109"> /dev/hda</span></span></span> in this
1020 </p><!--l. 1027--><p class="noindent" >
1022 <h5 class="subsubsectionHead"><span class="titlemark">2.3.7 </span> <a
1023 id="x1-220002.3.7"></a>More than two disks</h5>
1024 <!--l. 1029--><p class="noindent" >On systems with more than two disks, typically only the first two can be accessed. The configuration choices
1025 are therefore the same as with two disks.
1026 </p><!--l. 1033--><p class="noindent" >When attempting to access one of the extra disks, LILO displays a warning message (<span
1027 class="cmtt-10x-x-109">Warning: BIOS</span>
1029 class="cmtt-10x-x-109">drive 0x</span><span
1030 class="cmti-10x-x-109">number </span><span
1031 class="cmtt-10x-x-109">may not be accessible</span>) but does not abort. This is done in order to allow the lucky
1032 few whose BIOS (or controller-BIOS) does support more than two drives to make use of this feature. By all
1033 others, this warning should be considered a fatal error.
1034 </p><!--l. 1040--><p class="noindent" >Note that the two disks restriction is only imposed by the BIOS. Linux normally has no problems using all
1035 disks once it is booted.
1037 </p><!--l. 1044--><p class="noindent" >
1039 <h5 class="subsubsectionHead"><span class="titlemark">2.3.8 </span> <a
1040 id="x1-230002.3.8"></a><span
1041 class="cmtt-10x-x-109">/boot </span>on a DOS partition</h5>
1042 <!--l. 1047--><p class="noindent" >Recent kernels support all the functions LILO needs to map files also on MS-DOS (or UMSDOS) file
1043 systems. Since DOS partitions tend to occupy exactly the places where BIOS restrictions (see section <a
1044 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>)
1045 are invisible, they’re an ideal location for <span
1046 class="cmtt-10x-x-109">/boot </span>if the native Linux file systems can’t be used because of
1048 </p><!--l. 1053--><p class="noindent" >In order to accomplish this, the DOS partition is mounted read-write, a directory (e.g. <span
1049 class="cmtt-10x-x-109">/dos/linux</span>) is
1050 created, all files from <span
1051 class="cmtt-10x-x-109">/boot </span>are moved to that directory, <span
1052 class="cmtt-10x-x-109">/boot </span>is replaced by a symbolic link to it, the
1053 kernels are also moved to the new directory, their new location is recorded in <span
1054 class="cmtt-10x-x-109">/etc/lilo.conf</span>, and finally
1056 class="cmtt-10x-x-109">/sbin/lilo </span>is run.
1057 </p><!--l. 1060--><p class="noindent" >From then on, new kernels must always be copied into that directory on the DOS partition
1058 before running <span
1059 class="cmtt-10x-x-109">/sbin/lilo</span>, e.g. when recompiling a kernel, the standard procedure changes
1063 <div class="verbatim" id="verbatim-3">
1064 # make zlilo</div>
1065 <!--l. 1066--><p class="nopar" >
1066 </p><!--l. 1068--><p class="noindent" >to
1069 <div class="verbatim" id="verbatim-4">
1070 # make zImage
1071  <br /># mv /dos/linux/vmlinuz /dos/linux/vmlinuz.old
1072  <br /># mv arch/i386/boot/zImage /dos/linux/vmlinuz
1073  <br /># /sbin/lilo</div>
1074 <!--l. 1075--><p class="nopar" >
1075 </p><!--l. 1077--><p class="noindent" ><span
1076 class="cmbx-10x-x-109">WARNING: </span>De-fragmenting such a DOS partition is likely to make Linux or even the whole
1077 system unbootable. Therefore, the DOS partition should either not be de-fragmented, or a Linux
1078 boot disk should be prepared (and tested) to bring up Linux and to run <span
1079 class="cmtt-10x-x-109">/sbin/lilo </span>after the
1080 de-fragmentation.<span class="footnote-mark"><a
1081 href="user_21-512.html#fn12x0"><sup class="textsuperscript">12</sup></a></span><a
1082 id="x1-23001f12"></a>
1083 </p><!--l. 1087--><p class="noindent" >
1086 <h3 class="sectionHead"><span class="titlemark">3 </span> <a
1087 id="x1-240003"></a>The boot prompt</h3>
1088 <!--l. 1091--><p class="noindent" >Immediately after it’s loaded, LILO checks whether one of the following is happening:
1090 <ul class="itemize1">
1091 <li class="itemize">any of the [Shift], [Control] or [Alt] keys is pressed.
1093 <li class="itemize">[CapsLock] or [ScrollLock] is set.</li></ul>
1094 <!--l. 1100--><p class="noindent" >If this is the case, LILO displays the <span class="obeylines-h"><span class="verb"><span
1095 class="cmtt-10x-x-109">boot:</span></span></span> prompt and waits for the name of a boot
1096 image (i.e. Linux kernel or other operating system). Otherwise, it boots the default boot
1097 image<span class="footnote-mark"><a
1098 href="user_21-513.html#fn13x0"><sup class="textsuperscript">13</sup></a></span><a
1099 id="x1-24001f13"></a>
1100 or – if a delay has been specified – waits for one of the listed activities until that amount of time has
1102 </p><!--l. 1110--><p class="noindent" >At the boot prompt, the name of the image to boot can be entered. Typing errors can be corrected with
1103 [BackSpace], [Delete], [Ctrl U] and [Ctrl X]. A list of known images can be obtained by pressing [?] or
1105 </p><!--l. 1115--><p class="noindent" >If [Enter] is pressed and no file name has been entered, the default image is booted.
1107 <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
1108 id="x1-250003.1"></a>Boot command-line options</h4>
1109 <!--l. 1121--><p class="noindent" >LILO is also able to pass command-line options to the kernel. Command-line options are words that follow
1110 the name of the boot image and that are separated by spaces.
1111 </p><!--l. 1125--><p class="noindent" >Example:
1114 <div class="verbatim" id="verbatim-5">
1115 boot: linux single root=200</div>
1116 <!--l. 1128--><p class="nopar" >
1117 </p><!--l. 1130--><p class="noindent" >This document only gives an overview of boot options. Please consult Paul Gortmaker’s BootPrompt-HOWTO
1118 for a more complete and more up to date list. You can get it from
1119 </p><!--l. 1134--><p class="noindent" ><span
1120 class="cmtt-10x-x-109">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/BootPrompt-HOWTO.gz</span>
1121 </p><!--l. 1136--><p class="noindent" >or from one of the many mirror sites.
1122 </p><!--l. 1139--><p class="noindent" >
1124 <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a
1125 id="x1-260003.1.1"></a>Standard options</h5>
1126 <!--l. 1141--><p class="noindent" >Recent kernels recognize a large number of options, among them are <span
1127 class="cmtt-10x-x-109">debug</span>, <span
1128 class="cmtt-10x-x-109">no387</span>, <span
1129 class="cmtt-10x-x-109">no-hlt</span>, <span
1130 class="cmtt-10x-x-109">ramdisk=</span><span
1131 class="cmti-10x-x-109">size</span>,
1133 class="cmtt-10x-x-109">reserve=</span><span
1134 class="cmti-10x-x-109">base</span><span
1135 class="cmtt-10x-x-109">,</span><span
1136 class="cmti-10x-x-109">size</span><span
1137 class="cmtt-10x-x-109">,</span><span
1138 class="cmmi-10x-x-109">…</span>, <span
1139 class="cmtt-10x-x-109">root=</span><span
1140 class="cmti-10x-x-109">device</span>, <span
1141 class="cmtt-10x-x-109">ro</span>, and <span
1142 class="cmtt-10x-x-109">rw</span>. All current <span
1143 class="cmss-10x-x-109">init </span>programs also recognize the option <span
1144 class="cmtt-10x-x-109">single</span>.
1146 class="cmtt-10x-x-109">lock </span>and <span
1147 class="cmtt-10x-x-109">vga </span>are processed by the boot loader itself. Boot command-line options are always
1149 </p><!--l. 1149--><p class="noindent" ><span
1150 class="cmtt-10x-x-109">single </span>boots the system in single-user mode. This bypasses most system initialization procedures and
1151 directly starts a root shell on the console. Multi-user mode can typically be entered by exiting the
1152 single-user shell or by rebooting.
1153 </p><!--l. 1154--><p class="noindent" ><span
1154 class="cmtt-10x-x-109">root=</span><span
1155 class="cmti-10x-x-109">device </span>changes the root device. This overrides settings that may have been made in the
1156 boot image and on the LILO command line. <span
1157 class="cmti-10x-x-109">device </span>is either the hexadecimal device number
1158 <span class="footnote-mark"><a
1159 href="user_21-514.html#fn14x0"><sup class="textsuperscript">14</sup></a></span><a
1160 id="x1-26001f14"></a> or the full path name of
1161 the device, e.g. <span class="obeylines-h"><span class="verb"><span
1162 class="cmtt-10x-x-109">/dev/hda3</span></span></span>.<span class="footnote-mark"><a
1163 href="user_21-515.html#fn15x0"><sup class="textsuperscript">15</sup></a></span><a
1164 id="x1-26002f15"></a>
1166 </p><!--l. 1175--><p class="noindent" ><span
1167 class="cmtt-10x-x-109">reserve=</span><span
1168 class="cmti-10x-x-109">base</span><span
1169 class="cmtt-10x-x-109">,</span><span
1170 class="cmti-10x-x-109">size</span><span
1171 class="cmtt-10x-x-109">,</span><span
1172 class="cmmi-10x-x-109">…</span> reserves IO port regions. This can be used to prevent device drivers from auto-probing
1173 addresses where other devices are located, which get confused by the probing.
1174 </p><!--l. 1179--><p class="noindent" ><span
1175 class="cmtt-10x-x-109">ro </span>instructs the kernel to mount the root file system read-only. <span
1176 class="cmtt-10x-x-109">rw </span>mounts it read-write. If neither <span
1177 class="cmtt-10x-x-109">ro </span>nor <span
1178 class="cmtt-10x-x-109">rw</span>
1179 is specified, the setting from the boot image is used.
1180 </p><!--l. 1183--><p class="noindent" ><span
1181 class="cmtt-10x-x-109">no-hlt </span>avoids executing a <span
1182 class="cmtt-10x-x-109">HLT </span>instructions whenever the system is idle. <span
1183 class="cmtt-10x-x-109">HLT </span>normally significantly reduces
1184 power consumption and therefore also heat dissipation of the CPU, but may not work properly with some
1186 class="cmtt-10x-x-109">no387 </span>disables using the hardware FPU even if one is present.
1187 </p><!--l. 1189--><p class="noindent" ><span
1188 class="cmtt-10x-x-109">debug </span>enables more verbose console logging.
1189 </p><!--l. 1191--><p class="noindent" >Recent kernels also accept the options <span
1190 class="cmtt-10x-x-109">init=</span><span
1191 class="cmti-10x-x-109">name </span>and <span
1192 class="cmtt-10x-x-109">noinitrd</span>. <span
1193 class="cmtt-10x-x-109">init </span>specifies the name of the <span
1194 class="cmss-10x-x-109">init</span>
1195 program to execute. Therefore, if single mode cannot be entered because <span
1196 class="cmss-10x-x-109">init </span>is mis-configured, one may still
1197 be able to reach a shell using <span class="obeylines-h"><span class="verb"><span
1198 class="cmtt-10x-x-109">init=/bin/sh</span></span></span>. <span
1199 class="cmtt-10x-x-109">noinitrd </span>disables automatic loading of the initial RAM disk.
1200 Instead, its content is then available on <span
1201 class="cmtt-10x-x-109">/dev/initrd</span>.
1202 </p><!--l. 1198--><p class="noindent" ><span
1203 class="cmtt-10x-x-109">vga=</span><span
1204 class="cmti-10x-x-109">mode </span>alters the VGA mode set at startup. The values <span
1205 class="cmtt-10x-x-109">normal</span>, <span
1206 class="cmtt-10x-x-109">extended</span>, <span
1207 class="cmtt-10x-x-109">ask </span>or a decimal number are
1208 recognized. (See also page <span class="pageref"><a
1209 href="#x1-450004.2.4"><span
1210 class="tcrm-1095">§</span></a></span>.)
1211 </p><!--l. 1202--><p class="noindent" ><span
1212 class="cmtt-10x-x-109">kbd=</span><span
1213 class="cmti-10x-x-109">code</span><span
1214 class="cmtt-10x-x-109">,</span><span
1215 class="cmmi-10x-x-109">…</span> preloads a sequence of keystrokes in the BIOS keyboard buffer. The keystrokes have to be
1216 entered as 16 bit hexadecimal numbers, with the upper byte containing the scan code and the lower byte
1217 containing the ASCII code. Note that most programs only use the ASCII code, so the scan code can
1218 frequently be omitted. Scan code tables can be found in many books on PC hardware. Note that scan codes
1219 depend on the keyboard layout.
1220 </p><!--l. 1210--><p class="noindent" >Finally, <span
1221 class="cmtt-10x-x-109">lock </span>stores the current command-line as the default command-line, so that LILO boots the same
1222 image with the same options (including <span
1223 class="cmtt-10x-x-109">lock</span>) when invoked the next time.
1225 <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a
1226 id="x1-270003.1.2"></a>Device-specific options</h5>
1227 <!--l. 1217--><p class="noindent" >There is also a plethora of options to specify certain characteristics (e.g. IO and memory addresses) of
1228 devices. Some common ones are <span
1229 class="cmtt-10x-x-109">ether</span>, <span
1230 class="cmtt-10x-x-109">floppy</span>, <span
1231 class="cmtt-10x-x-109">hd</span>, <span
1232 class="cmtt-10x-x-109">bmouse</span>, and <span
1233 class="cmtt-10x-x-109">sound</span>. The usage of these options is
1235 class="cmti-10x-x-109">option</span><span
1236 class="cmtt-10x-x-109">=</span><span
1237 class="cmti-10x-x-109">number</span><span
1238 class="cmtt-10x-x-109">,</span><span
1239 class="cmmi-10x-x-109">…</span>. Please consult the corresponding FAQs and HOWTOs for details. For an overview of all
1240 available options, consult the file <span
1241 class="cmtt-10x-x-109">init/main.c </span>in the kernel source tree.
1242 </p><!--l. 1226--><p class="noindent" >
1244 <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a
1245 id="x1-280003.1.3"></a>Other options</h5>
1246 <!--l. 1228--><p class="noindent" >Options of the type <span
1247 class="cmti-10x-x-109">variable</span><span
1248 class="cmtt-10x-x-109">=</span><span
1249 class="cmti-10x-x-109">value </span>which are neither standard options nor device-specific options, cause the
1250 respective variables to be set in the environment passed to <span
1251 class="cmss-10x-x-109">init</span>. The case of the variable name is preserved,
1252 i.e. it isn’t automatically converted to upper case.
1253 </p><!--l. 1234--><p class="noindent" >Note that environment variables passed to <span
1254 class="cmss-10x-x-109">init </span>are typically available in system initialization scripts (e.g.
1256 class="cmtt-10x-x-109">/etc/rc.local</span>), but they’re not visible from ordinary login sessions, because the <span
1257 class="cmss-10x-x-109">login </span>program removes
1258 them from the user’s environment.
1260 </p><!--l. 1240--><p class="noindent" >
1262 <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a
1263 id="x1-290003.1.4"></a>Repeating options</h5>
1264 <!--l. 1242--><p class="noindent" >The effect of repeating boot command-line options depends on the
1265 options.<span class="footnote-mark"><a
1266 href="#fn16x0"><sup class="textsuperscript">16</sup></a></span><a
1267 id="x1-29001f16"></a>
1268 There are three possible behaviours:
1269 </p><!--l. 1252--><p class="noindent" >Options that only enable or disable a certain functionality can be repeated any number of times. <span
1270 class="cmtt-10x-x-109">debug</span>,
1272 class="cmtt-10x-x-109">lock</span>, <span
1273 class="cmtt-10x-x-109">no-hlt</span>, and <span
1274 class="cmtt-10x-x-109">no387 </span>fall into this category.
1275 </p><!--l. 1256--><p class="noindent" >Other options change a global setting whenever they appear, so only the value or presence of the last option
1276 matters. The antagonists <span
1277 class="cmtt-10x-x-109">ro </span>and <span
1278 class="cmtt-10x-x-109">rw </span>are such options. Also, <span
1279 class="cmtt-10x-x-109">ramdisk</span>, <span
1280 class="cmtt-10x-x-109">root</span>, and <span
1281 class="cmtt-10x-x-109">vga </span>work this way.
1283 class="cmtt-10x-x-109">ro rw </span>would mount the root file system read-write.
1284 </p><!--l. 1262--><p class="noindent" >Finally, when <span
1285 class="cmtt-10x-x-109">reserve </span>and many device-specific options are repeated, each occurrence has its own meaning,
1287 </p><!--l. 1265--><p class="noindent" ><span
1288 class="cmtt-10x-x-109">hd=</span><span
1289 class="cmmi-10x-x-109">…</span> <span
1290 class="cmtt-10x-x-109">hd=</span><span
1291 class="cmmi-10x-x-109">…</span> would configure two hard disks, and
1292 </p><!--l. 1267--><p class="noindent" ><span
1293 class="cmtt-10x-x-109">reserve=0x300,8 reserve=0x5f0,16 </span>would reserve the ranges 0x300 to 0x307 and 0x5f0 to 0x5ff (which is
1294 equivalent to writing <span
1295 class="cmtt-10x-x-109">reserve=0x300,8,0x5f0,16</span>).
1297 <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a
1298 id="x1-300003.1.5"></a>Implicit options</h5>
1299 <!--l. 1274--><p class="noindent" >LILO always passes the string <span
1300 class="cmtt-10x-x-109">BOOT</span><span
1301 class="cmtt-10x-x-109">_IMAGE=</span><span
1302 class="cmti-10x-x-109">name </span>to the kernel, where <span
1303 class="cmti-10x-x-109">name </span>is the name by which the
1304 kernel is identified (e.g. the label). This variable can be used in <span
1305 class="cmtt-10x-x-109">/etc/rc </span>to select a different behaviour,
1306 depending on the kernel.
1307 </p><!--l. 1279--><p class="noindent" >When booting automatically, i.e. without human intervention, the word <span
1308 class="cmtt-10x-x-109">auto </span>is also passed
1309 on the command line. This can be used by <span
1310 class="cmss-10x-x-109">init </span>to suppress interactive prompts in the boot
1312 </p><!--l. 1285--><p class="noindent" >
1314 <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
1315 id="x1-310003.2"></a>Boot image selection</h4>
1316 <!--l. 1288--><p class="noindent" >The details of selecting the boot image are somewhat complicated. The following tables illustrate them.
1317 First, if neither <span
1318 class="cmtt-10x-x-109">prompt </span>is set nor a shift key is being pressed:
1319 </p><!--l. 1292--><p class="noindent" >
1322 <center class="math-display" >
1324 src="user_21-520x.png" alt=" |
1325 Externally Command | Auto- Booted image
1326 provided line in | matic
1327 cmd. line17 map file18 |boot19
1328 -----No----------No-----|--Yes---Default-image--------------- 17Externally provided command lines could be used to add front- ends to LILO. They would pass the respective 18This command line is set by invoking the map installer with the -R option, by using the boot command -line option
1329 Yes — | Yes Specified by external command string to LILO, which would then interpret it like keyboard input. This feature is currently not used. lock, or if a fallback command line is set (with fallback). 19I.e. the keyword auto is a
1332 No Yes | Yes Specified by command line
1334 " class="math-display" /></center>
1335 <!--l. 1320--><p class="noindent" >If <span
1336 class="cmtt-10x-x-109">prompt </span>is not set and a shift key is being pressed:
1338 <center class="math-display" >
1340 src="user_21-521x.png" alt=" |
1341 Input Empty Extern. Cmd.l. |Auto- Booted image
1342 timeout cmd.l. cmd.l. in map |matic
1344 ----No------No-------—--------—-----|-No----Specified-by-the-user-
1346 No Yes — — | No Default image
1347 Yes n/a — — | Yes Default image
1348 " class="math-display" /></center>
1349 <!--l. 1333--><p class="noindent" >Finally, if the configuration variable <span
1350 class="cmtt-10x-x-109">prompt </span>is set:
1352 <center class="math-display" >
1354 src="user_21-522x.png" alt=" Input Empty Extern. Cmd.l. |Auto - Booted image
1356 timeout cmd.l. cmd.l. in map |matic
1357 ------------------------------file---|-boot------------------------
1358 No No No No | No Specified by the user
1359 No Yes No No | No Default image
1360 Yes n/a No No | Yes Default image
1361 n/a n/a Yes — | Yes Specified by external
1364 n/a n/a No Yes | Yes Specified by command
1366 " class="math-display" /></center>
1367 <!--l. 1350--><p class="noindent" >Note that LILO pauses for the amount of time specified in <span
1368 class="cmtt-10x-x-109">delay </span>when at the end of a default command
1369 line. The automatic boot can then be interrupted by pressing a modifier key ([Shift], [Ctrl],
1371 </p><!--l. 1354--><p class="noindent" >The default image is the first image in the map file or the image specified with the <span
1372 class="cmtt-10x-x-109">default</span>
1373 variable. However, after an unsuccessful boot attempt, the respective image becomes the default
1375 </p><!--l. 1360--><p class="noindent" >
1378 <h3 class="sectionHead"><span class="titlemark">4 </span> <a
1379 id="x1-320004"></a>Map installer</h3>
1380 <!--l. 1363--><p class="noindent" >The map installer program <span
1381 class="cmtt-10x-x-109">/sbin/lilo </span>updates the boot sector and creates the map file. If the map
1382 installer detects an error, it terminates immediately and does not touch the boot sector and the map
1384 </p><!--l. 1367--><p class="noindent" >Whenever the map installer updates a boot sector, the original boot sector is copied to <br
1385 class="newline" /><span
1386 class="cmtt-10x-x-109">/boot/boot.</span><span
1387 class="cmti-10x-x-109">number </span><br
1388 class="newline" />where <span
1389 class="cmti-10x-x-109">number </span>is the hexadecimal device number. If such a file already exists, no backup copy is made.
1390 Similarly, a file <br
1391 class="newline" /><span
1392 class="cmtt-10x-x-109">/boot/part.</span><span
1393 class="cmti-10x-x-109">number </span><br
1394 class="newline" />is created if LILO modifies the partition table. (See page <span class="pageref"><a
1395 href="#x1-430004.2.2"><span
1396 class="tcrm-1095">§</span></a></span>.)
1397 </p><!--l. 1377--><p class="noindent" >
1399 <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
1400 id="x1-330004.1"></a>Command-line options</h4>
1401 <!--l. 1379--><p class="noindent" >The LILO map installer can be invoked in the following ways:
1402 </p><!--l. 1387--><p class="noindent" >
1404 <h5 class="subsubsectionHead"><span class="titlemark">4.1.1 </span> <a
1405 id="x1-340004.1.1"></a>Show current installation</h5>
1406 <!--l. 1390--><p class="noindent" >The currently mapped files are listed. With <span
1407 class="cmtt-10x-x-109">-v</span>, also many parameters are shown.
1409 <p class="indent" ><span
1410 class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
1411 class="cmtt-10x-x-109">-C </span><span
1412 class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
1413 class="cmtt-10x-x-109">-q</span> <span class="big">[</span> <span
1414 class="cmtt-10x-x-109">-m </span><span
1415 class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
1416 class="cmtt-10x-x-109">-v</span> <span
1417 class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
1418 class="cmtt-10x-x-109"> </span>
1419 </p><!--l. 1401--><p class="noindent" >
1420 </p><dl class="description"><dt class="description">
1422 class="cmtt-10x-x-109">-C </span><span
1423 class="cmti-10x-x-109">config</span><span
1424 class="cmti-10x-x-109">_file</span> </dt><dd
1425 class="description"> <br
1426 class="newline" />Specifies the configuration file that is used by the map installer (see section <a
1427 href="#x1-410004.2">4.2<!--tex4ht:ref: config --></a>). If <span
1428 class="cmtt-10x-x-109">-C </span>is omitted,
1430 class="cmtt-10x-x-109">/etc/lilo.conf </span>is used.
1431 </dd><dt class="description">
1433 class="cmtt-10x-x-109">-m </span><span
1434 class="cmti-10x-x-109">map</span><span
1435 class="cmti-10x-x-109">_file</span> </dt><dd
1436 class="description"> <br
1437 class="newline" />Specifies an alternate map file. See also sections <a
1438 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1439 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1440 </dd><dt class="description">
1442 class="cmtt-10x-x-109">-q</span> </dt><dd
1443 class="description">  <br
1444 class="newline" />Lists the currently mapped files.
1445 </dd><dt class="description">
1447 class="cmtt-10x-x-109">-v</span> <span
1448 class="cmmi-10x-x-109">…</span> </dt><dd
1449 class="description"> <br
1450 class="newline" />Increase verbosity. See also sections <a
1451 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1452 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
1454 <!--l. 1415--><p class="noindent" >
1456 <h5 class="subsubsectionHead"><span class="titlemark">4.1.2 </span> <a
1457 id="x1-350004.1.2"></a>Create or update map</h5>
1458 <!--l. 1418--><p class="noindent" >A new map is created for the images described in the configuration file <span
1459 class="cmtt-10x-x-109">/etc/lilo.conf </span>and they are
1460 registered in the boot sector.
1462 <p class="indent" ><span
1463 class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big"><img
1464 src="user_21-529x.png" alt="[" class="left" align="middle" /></span> <span
1465 class="cmtt-10x-x-109">-C </span><span
1466 class="cmti-10x-x-109">config_file</span> <span class="big">] [ <span
1467 class="cmtt-10x-x-109">-b </span><span
1468 class="cmti-10x-x-109">boot_device</span> <span class="big">] [</span> <span
1469 class="cmtt-10x-x-109">-c</span> <span class="big">] [</span> <span
1470 class="cmtt-10x-x-109">-l</span> <span class="big">] [</span> <span
1471 class="cmtt-10x-x-109">-i </span><span
1472 class="cmti-10x-x-109">boot_sector</span> <span class="big">]</span> <br
1473 class="newline" /><span class="big"> [</span> <span
1474 class="cmtt-10x-x-109">-f </span><span
1475 class="cmti-10x-x-109">disk_tab</span> <span class="big">] [</span> <span
1476 class="cmtt-10x-x-109">-m </span><span
1477 class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
1478 class="cmtt-10x-x-109">-d </span><span
1479 class="cmti-10x-x-109">delay</span> <span class="big">] [</span> <span
1480 class="cmtt-10x-x-109">-v</span> <span
1481 class="cmmi-10x-x-109">…</span> <span class="big">] [</span> <span
1482 class="cmtt-10x-x-109">-t</span> <span class="big">] [</span> <span
1483 class="cmtt-10x-x-109">-s </span><span
1484 class="cmti-10x-x-109">save_file</span> <span class="big"> | </span> <br
1485 class="newline" /><span class="big"> </span> <span
1486 class="cmtt-10x-x-109">-S </span><span
1487 class="cmti-10x-x-109">save</span><span
1488 class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
1489 class="cmtt-10x-x-109">-P fix</span> <span class="big"> | </span> <span
1490 class="cmtt-10x-x-109">-P ignore</span> <span class="big">] [</span> <span
1491 class="cmtt-10x-x-109">-r </span><span
1492 class="cmti-10x-x-109">root</span><span
1493 class="cmti-10x-x-109">_dir</span> <span class="big">]</span> <span
1494 class="cmtt-10x-x-109"> </span>
1495 </p><!--l. 1440--><p class="noindent" >
1496 </p><dl class="description"><dt class="description">
1498 class="cmtt-10x-x-109">-b </span><span
1499 class="cmti-10x-x-109">boot<_device</span> </dt><dd
1500 class="description"> <br
1501 class="newline" />Specifies the boot device. See also sections <a
1502 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1503 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1504 </dd><dt class="description">
1506 class="cmtt-10x-x-109">-c</span> </dt><dd
1507 class="description"> <br
1508 class="newline" />Enables map compaction. See also sections <a
1509 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1510 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1511 </dd><dt class="description">
1513 class="cmtt-10x-x-109">-C </span><span
1514 class="cmti-10x-x-109">config</span><span
1515 class="cmti-10x-x-109">_file</span> </dt><dd
1516 class="description"> <br
1517 class="newline" />Specifies an alternate configuration file. See also section <a
1518 href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
1519 </dd><dt class="description">
1521 class="cmtt-10x-x-109">-d </span><span
1522 class="cmti-10x-x-109">delay</span> </dt><dd
1523 class="description"> <br
1524 class="newline" />Sets the delay before LILO boots the default image. Note that the delay is specified in <span
1525 class="cmbx-10x-x-109">tenths</span>
1526 of a second. See also sections <a
1527 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1528 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1529 </dd><dt class="description">
1531 class="cmtt-10x-x-109">-D </span><span
1532 class="cmti-10x-x-109">name</span> </dt><dd
1533 class="description"> <br
1534 class="newline" />Specifies the default image. See also sections <a
1535 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1536 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1537 </dd><dt class="description">
1539 class="cmtt-10x-x-109">-f </span><span
1540 class="cmti-10x-x-109">disk</span><span
1541 class="cmti-10x-x-109">_tab</span> </dt><dd
1542 class="description"> <br
1543 class="newline" />Specifies a disk parameter table file. See also sections <a
1544 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1545 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1546 </dd><dt class="description">
1548 class="cmtt-10x-x-109">-i </span><span
1549 class="cmti-10x-x-109">boot</span><span
1550 class="cmti-10x-x-109">_sector</span> </dt><dd
1551 class="description"> <br
1552 class="newline" />Specifies an alternate boot file. See also sections <a
1553 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1554 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1555 </dd><dt class="description">
1557 class="cmtt-10x-x-109">-L</span> </dt><dd
1558 class="description"> <br
1559 class="newline" />Enables lba32 sector addresses. See also sections <a
1560 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1561 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1562 </dd><dt class="description">
1564 class="cmtt-10x-x-109">-l</span> </dt><dd
1565 class="description"> <br
1566 class="newline" />Enables linear sector addresses. See also sections <a
1567 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1568 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1570 </dd><dt class="description">
1572 class="cmtt-10x-x-109">-m </span><span
1573 class="cmti-10x-x-109">map</span><span
1574 class="cmti-10x-x-109">_file</span> </dt><dd
1575 class="description"> <br
1576 class="newline" />Specifies an alternate map file. See also sections <a
1577 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1578 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1579 </dd><dt class="description">
1581 class="cmtt-10x-x-109">-P </span><span
1582 class="cmti-10x-x-109">mode</span> </dt><dd
1583 class="description"> <br
1584 class="newline" />Specifies how invalid partition table entries should be handled. See also sections <a
1585 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1586 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1587 </dd><dt class="description">
1589 class="cmtt-10x-x-109">-r </span><span
1590 class="cmti-10x-x-109">root</span><span
1591 class="cmti-10x-x-109">_directory</span> </dt><dd
1592 class="description">  <br
1593 class="newline" />Chroots to the specified directory before doing anything else. This is useful when running the
1594 map installer while the normal root file system is mounted somewhere else, e.g. when recovering
1595 from an installation failure with a recovery disk. The <span
1596 class="cmtt-10x-x-109">-r </span>option is implied if the environment
1598 class="cmtt-10x-x-109">ROOT </span>is set.<span class="footnote-mark"><a
1599 href="user_21-516.html#fn20x0"><sup class="textsuperscript">20</sup></a></span><a
1600 id="x1-35001f20"></a>
1601 The current directory is changed to the new root directory, so using relative paths may not
1603 </dd><dt class="description">
1605 class="cmtt-10x-x-109">-s </span><span
1606 class="cmti-10x-x-109">save</span><span
1607 class="cmti-10x-x-109">_file</span> </dt><dd
1608 class="description"> <br
1609 class="newline" />Specifies an alternate boot sector save file. See also sections <a
1610 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1611 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1612 </dd><dt class="description">
1614 class="cmtt-10x-x-109">-S </span><span
1615 class="cmti-10x-x-109">save</span><span
1616 class="cmti-10x-x-109">_file</span> </dt><dd
1617 class="description"> <br
1618 class="newline" />Like <span
1619 class="cmtt-10x-x-109">-s</span>, but overwrites old save files.
1620 </dd><dt class="description">
1622 class="cmtt-10x-x-109">-t</span> </dt><dd
1623 class="description">  <br
1624 class="newline" />Test only. This performs the entire installation procedure except replacing the map file, writing
1625 the modified boot sector and fixing partition tables. This can be used in conjunction with the
1627 class="cmtt-10x-x-109">-v </span>option to verify that LILO will use sane values.
1628 </dd><dt class="description">
1630 class="cmtt-10x-x-109">-v</span> <span
1631 class="cmmi-10x-x-109">…</span> </dt><dd
1632 class="description"> <br
1633 class="newline" />Increase verbosity. See also sections <a
1634 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1635 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
1636 <!--l. 1489--><p class="noindent" >
1638 <h5 class="subsubsectionHead"><span class="titlemark">4.1.3 </span> <a
1639 id="x1-360004.1.3"></a>Change default command line</h5>
1640 <!--l. 1492--><p class="noindent" >Changes LILO’s default command line. See also section <a
1641 href="#x1-310003.2">3.2<!--tex4ht:ref: bootsel --></a>.
1643 <p class="indent" ><span
1644 class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
1645 class="cmtt-10x-x-109">-C </span><span
1646 class="cmti-10x-x-109">config</span><span
1647 class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
1648 class="cmtt-10x-x-109">-m </span><span
1649 class="cmti-10x-x-109">map</span><span
1650 class="cmti-10x-x-109">_file</span> <span class="big">]</span> <span
1651 class="cmtt-10x-x-109">-R</span> <span class="big">[</span> <span
1652 class="cmti-10x-x-109">word</span> <span
1653 class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
1654 class="cmtt-10x-x-109"> </span>
1655 </p><!--l. 1501--><p class="noindent" >
1656 </p><dl class="description"><dt class="description">
1658 class="cmtt-10x-x-109">-C </span><span
1659 class="cmti-10x-x-109">config</span><span
1660 class="cmti-10x-x-109">_file</span> </dt><dd
1661 class="description"> <br
1662 class="newline" />Specifies an alternate configuration file. See also section <a
1663 href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
1665 </dd><dt class="description">
1667 class="cmtt-10x-x-109">-m </span><span
1668 class="cmti-10x-x-109">map</span><span
1669 class="cmti-10x-x-109">_file</span> </dt><dd
1670 class="description"> <br
1671 class="newline" />Specifies an alternate map file. See also sections <a
1672 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1673 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1674 </dd><dt class="description">
1676 class="cmtt-10x-x-109">-R </span><span
1677 class="cmti-10x-x-109">word</span> <span
1678 class="cmmi-10x-x-109">…</span> </dt><dd
1679 class="description">  <br
1680 class="newline" />Stores the specified words in the map file. The boot loader uses those words as the default
1681 command line when booting the next time. That command line is removed from the map file by
1682 the boot loader by overwriting the sector immediately after reading it. The first word has to be
1683 the name of a boot image. If <span
1684 class="cmtt-10x-x-109">-R </span>is not followed by any words, the current default command line in
1685 the map file is erased.<span class="footnote-mark"><a
1686 href="user_21-517.html#fn21x0"><sup class="textsuperscript">21</sup></a></span><a
1687 id="x1-36001f21"></a>
1688 If the command line isn’t valid, the map installer issues an error message and returns a non-zero
1689 exit code.</dd></dl>
1690 <!--l. 1523--><p class="noindent" >
1692 <h5 class="subsubsectionHead"><span class="titlemark">4.1.4 </span> <a
1693 id="x1-370004.1.4"></a>Kernel name translation</h5>
1694 <!--l. 1525--><p class="noindent" >Determines the path of the kernel.
1695 </p><!--l. 1527--><p class="indent" ><span
1696 class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
1697 class="cmtt-10x-x-109">-C </span><span
1698 class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
1699 class="cmtt-10x-x-109">-I </span><span
1700 class="cmti-10x-x-109">name</span> <span class="big">[</span> <span
1701 class="cmti-10x-x-109">options</span> <span class="big">]</span> <span
1702 class="cmtt-10x-x-109"> </span>
1703 </p><!--l. 1534--><p class="noindent" >
1704 </p><dl class="description"><dt class="description">
1706 class="cmtt-10x-x-109">-C </span><span
1707 class="cmti-10x-x-109">config</span><span
1708 class="cmti-10x-x-109">_file</span> </dt><dd
1709 class="description"> <br
1710 class="newline" />Specifies an alternate configuration file. See also section <a
1711 href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
1712 </dd><dt class="description">
1714 class="cmtt-10x-x-109">-I </span><span
1715 class="cmti-10x-x-109">name </span>[ <span
1716 class="cmti-10x-x-109">options </span>] </dt><dd
1717 class="description">  <br
1718 class="newline" />Translates the specified label name to the path of the corresponding kernel image and prints that
1719 path on standard output. This can be used to synchronize files that depend on the kernel (e.g.
1721 class="cmss-10x-x-109">ps </span>database). The image name can be obtained from the environment variable <span
1722 class="cmtt-10x-x-109">BOOT</span><span
1723 class="cmtt-10x-x-109">_IMAGE</span>.
1724 An error message is issued and a non-zero exit code is returned if no matching label name can
1725 be found. The existence of the image file is verified if the option character <span
1726 class="cmtt-10x-x-109">v </span>is added.</dd></dl>
1727 <!--l. 1549--><p class="noindent" >
1729 <h5 class="subsubsectionHead"><span class="titlemark">4.1.5 </span> <a
1730 id="x1-380004.1.5"></a>De-installation</h5>
1731 <!--l. 1551--><p class="noindent" >Restores the boot sector that was used before the installation of LILO. Note that this option only works
1732 properly if LILO’s directories (e.g. <span
1733 class="cmtt-10x-x-109">/boot</span>) have not been touched since the first installation. See also section
1736 href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a>.
1737 </p><!--l. 1556--><p class="indent" ><span
1738 class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
1739 class="cmtt-10x-x-109">-C </span><span
1740 class="cmti-10x-x-109">config_file</span> <span class="big">] [</span> <span
1741 class="cmtt-10x-x-109">-s </span><span
1742 class="cmti-10x-x-109">save_file</span> <span class="big">]</span> <span
1743 class="cmtt-10x-x-109">-u</span> <span class="big"> | </span> <span
1744 class="cmtt-10x-x-109">-U</span> <span class="big">[</span> <span
1745 class="cmti-10x-x-109">boot_device</span> <span class="big">]</span> <span
1746 class="cmtt-10x-x-109"> </span>
1747 </p><!--l. 1564--><p class="noindent" >
1748 </p><dl class="description"><dt class="description">
1750 class="cmtt-10x-x-109">-C </span><span
1751 class="cmti-10x-x-109">config</span><span
1752 class="cmti-10x-x-109">_file</span> </dt><dd
1753 class="description"> <br
1754 class="newline" />Specifies an alternate configuration file. See also section <a
1755 href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
1756 </dd><dt class="description">
1758 class="cmtt-10x-x-109">-s </span><span
1759 class="cmti-10x-x-109">save</span><span
1760 class="cmti-10x-x-109">_file</span> </dt><dd
1761 class="description"> <br
1762 class="newline" />Specifies an alternate boot sector save file. See also sections <a
1763 href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
1764 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
1765 </dd><dt class="description">
1767 class="cmtt-10x-x-109">-u </span>[ <span
1768 class="cmti-10x-x-109">device_name </span>] </dt><dd
1769 class="description">  <br
1770 class="newline" />Restores the backup copy of the specified boot sector. If no device is specified, the value of the
1771 <span class="obeylines-h"><span class="verb"><span
1772 class="cmtt-10x-x-109">boot</span></span></span> variable is used. If this one is also unavailable, LILO uses the current root device. The
1773 name of the backup copy is derived from the device name. The <span class="obeylines-h"><span class="verb"><span
1774 class="cmtt-10x-x-109">-s</span></span></span> option or the <span class="obeylines-h"><span class="verb"><span
1775 class="cmtt-10x-x-109">backup</span></span></span> variable
1776 can be used to override this. LILO validates the backup copy by checking a time stamp.
1777 </dd><dt class="description">
1779 class="cmtt-10x-x-109">-U </span>[ <span
1780 class="cmti-10x-x-109">device_name </span>] </dt><dd
1781 class="description">  <br
1782 class="newline" />Like <span class="obeylines-h"><span class="verb"><span
1783 class="cmtt-10x-x-109">-u</span></span></span>, but does not check the time stamp.</dd></dl>
1784 <!--l. 1581--><p class="noindent" >
1786 <h5 class="subsubsectionHead"><span class="titlemark">4.1.6 </span> <a
1787 id="x1-390004.1.6"></a>Print version number</h5>
1788 <!--l. 1583--><p class="indent" ><span
1789 class="cmtt-10x-x-109">/sbin/lilo -V </span><span
1790 class="cmtt-10x-x-109"> </span>
1791 </p><!--l. 1587--><p class="noindent" >
1792 </p><dl class="description"><dt class="description">
1794 class="cmtt-10x-x-109">-V</span> </dt><dd
1795 class="description">  <br
1796 class="newline" />Print the version number and exit.</dd></dl>
1797 <!--l. 1593--><p class="noindent" >
1799 <h5 class="subsubsectionHead"><span class="titlemark">4.1.7 </span> <a
1800 id="x1-400004.1.7"></a>Options corresponding to configuration variables</h5>
1801 <!--l. 1596--><p class="noindent" >There are also many command-line options that correspond to configuration variables. See section <a
1802 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a> for
1804 </p><!--l. 1599--><p class="noindent" >
1807 <center class="math-display" >
1809 src="user_21-574x.png" alt=" |
1810 -Command----line option|Con-figuration-variable-----
1811 -b bootxdevice |boot=bootxdevice
1813 -d tsecs |delay=tsecs
1815 -D name |default=name
1816 -i bootxsector |install=bootxsector
1819 -m mapxfile |map=mapx file
1821 -P ignore |ignore -table
1823 -s backupx file |backup=backupx file
1824 -S backupx file |force -backup=backupx file
1825 -v ... |verbose=level
1826 " class="math-display" /></center>
1827 <!--l. 1620--><p class="noindent" >
1829 <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
1830 id="x1-410004.2"></a>Configuration</h4>
1831 <!--l. 1623--><p class="noindent" >The configuration information is stored in the file <span
1832 class="cmtt-10x-x-109">/etc/lilo.conf </span>and consists of variable
1834 </p><!--l. 1627--><p class="noindent" >
1836 <h5 class="subsubsectionHead"><span class="titlemark">4.2.1 </span> <a
1837 id="x1-420004.2.1"></a>Syntax</h5>
1838 <!--l. 1630--><p class="noindent" >The following syntax rules apply:
1840 <ul class="itemize1">
1841 <li class="itemize">flag variables consist of a single word and are followed by whitespace or the end of the file.
1843 <li class="itemize">string variables consist of the variable name, optional whitespace, an equal sign, optional
1844 whitespace, the value and required whitespace, or the end of the file.
1847 <li class="itemize">a non-empty sequence of blanks, tabs, newlines and comments counts as whitespace.
1849 <li class="itemize">variable names are case-insensitive. Values are usually case-sensitive, but there are a few
1850 exceptions. (See below.)
1852 <li class="itemize">tabs and newlines are special characters and may not be part of a variable name or a value.
1853 The use of other control characters and non-ASCII characters is discouraged.
1855 <li class="itemize">blanks and equal signs may only be part of a variable name or a value if they are escaped by
1856 a backslash or if the value is embedded in double quotes. An equal sign may not be the only
1857 character in a name or value.
1859 <li class="itemize">an escaped tab is converted to an escaped blank. An escaped newline is removed from the input
1860 stream. An escaped backslash (i.e. two backslashes) is converted to a backslash. Inside quoted
1861 strings, only double quotes, backslashes, dollar signs, and newlines can be escaped.
1863 <li class="itemize">quoted strings can be continued over several lines by ending each incomplete line with a
1864 backslash. A single space is inserted in the string for the line end and all spaces or tabs that
1865 follow immediately on the next line.
1867 <li class="itemize">environment variables can be used by specifying them in the form <span class="obeylines-h"><span class="verb"><span
1868 class="cmtt-10x-x-109">$</span></span></span><span
1869 class="cmti-10x-x-109">name </span>or <span class="obeylines-h"><span class="verb"><span
1870 class="cmtt-10x-x-109">${</span></span></span><span
1871 class="cmti-10x-x-109">name</span><span class="obeylines-h"><span class="verb"><span
1872 class="cmtt-10x-x-109">}</span></span></span>. Dollar
1873 signs can be escaped.
1875 <li class="itemize">comments begin with a number sign and end with the next newline. All characters (including
1876 backslashes) until the newline are ignored.</li></ul>
1877 <!--l. 1664--><p class="noindent" >Example:
1880 <div class="verbatim" id="verbatim-6">
1881 boot = $FD
1882  <br />install = $MNT/boot.b
1883  <br />map = $MNT/map
1884  <br />compact
1885  <br />read-only
1886  <br />append = "nfsroot=/home/linux-install/root \
1887  <br />  nfsaddrs=128.178.156.28:128.178.156.24::255.255.255.0:lrcinst"
1888  <br />image = $MNT/zImage</div>
1889 <!--l. 1674--><p class="nopar" >
1890 </p><!--l. 1677--><p class="noindent" >
1892 <h5 class="subsubsectionHead"><span class="titlemark">4.2.2 </span> <a
1893 id="x1-430004.2.2"></a>Global options</h5>
1894 <!--l. 1680--><p class="noindent" ><span
1895 class="cmtt-10x-x-109">/etc/lilo.conf </span>begins with a possibly empty global options section. Many global options can also be
1896 set from the command line, but storing permanent options in the configuration file is more
1898 </p><!--l. 1684--><p class="noindent" >The following global options are recognized:
1899 </p><!--l. 1686--><p class="noindent" >
1900 </p><dl class="description"><dt class="description">
1902 class="cmtt-10x-x-109">backup=</span><span
1903 class="cmti-10x-x-109">backup</span><span
1904 class="cmti-10x-x-109">_file</span> </dt><dd
1905 class="description">Copy the original boot sector to <span
1906 class="cmti-10x-x-109">backup</span><span
1907 class="cmti-10x-x-109">_file </span>(which may also be a device, e.g.
1909 class="cmtt-10x-x-109">/dev/null</span>) instead of <span
1910 class="cmtt-10x-x-109">/boot/boot.</span><span
1911 class="cmti-10x-x-109">number</span>
1912 </dd><dt class="description">
1914 class="cmtt-10x-x-109">boot=</span><span
1915 class="cmti-10x-x-109">boot</span><span
1916 class="cmti-10x-x-109">_device</span> </dt><dd
1917 class="description">Sets the name of the device (e.g. a hard disk partition) that contains the boot
1919 class="cmtt-10x-x-109">boot </span>is omitted, the boot sector is read from (and possibly written to) the device that
1920 is currently mounted as root.
1921 </dd><dt class="description">
1923 class="cmtt-10x-x-109">change-rules</span> </dt><dd
1924 class="description">Defines partition type numbers. See section <a
1925 href="#x1-550004.5.2">4.5.2<!--tex4ht:ref: ptcr --></a> for details.
1926 </dd><dt class="description">
1928 class="cmtt-10x-x-109">compact</span> </dt><dd
1929 class="description">Tries to merge read requests for adjacent sectors into a single read request. This drastically
1930 reduces load time and keeps the map smaller. Using <span
1931 class="cmtt-10x-x-109">compact </span>is especially recommended when
1932 booting from a floppy disk. <span
1933 class="cmtt-10x-x-109">compact </span>may conflict with <span
1934 class="cmtt-10x-x-109">linear </span>or <span
1935 class="cmtt-10x-x-109">lba32</span>, see section <a
1936 href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
1937 </dd><dt class="description">
1939 class="cmtt-10x-x-109">default=</span><span
1940 class="cmti-10x-x-109">name</span> </dt><dd
1941 class="description">Uses the specified image as the default boot image. If <span
1942 class="cmtt-10x-x-109">default </span>is omitted, the image
1943 appearing first in the configuration file is used.
1944 </dd><dt class="description">
1946 class="cmtt-10x-x-109">delay=</span><span
1947 class="cmti-10x-x-109">tsecs</span> </dt><dd
1948 class="description">Specifies the number of <span
1949 class="cmbx-10x-x-109">tenths </span>of a second LILO should wait before booting the first
1951 image. This is useful on systems that immediately boot from the hard disk after enabling the
1952 keyboard. LILO doesn’t wait if <span
1953 class="cmtt-10x-x-109">delay </span>is omitted or if <span
1954 class="cmtt-10x-x-109">delay </span>is set to zero.
1955 </dd><dt class="description">
1957 class="cmtt-10x-x-109">disk=</span><span
1958 class="cmti-10x-x-109">device</span><span
1959 class="cmti-10x-x-109">_name</span> </dt><dd
1960 class="description">Defines non-standard parameters for the specified disk. See section <a
1961 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details.
1962 </dd><dt class="description">
1964 class="cmtt-10x-x-109">fix-table</span> </dt><dd
1965 class="description">Allows LILO to adjust 3D addresses in partition tables. Each partition entry contains
1966 a 3D (sector/head/cylinder) and a linear 32-bit address of the first and the last sector of
1967 the partition. If a partition is not track-aligned and if certain other operating systems (e.g.
1968 PC/MS-DOS or OS/2) are using the same disk, they may change the 3D address. LILO can
1969 store its boot sector only on partitions where both address types correspond. LILO re-adjusts
1970 incorrect 3D start addresses if <span
1971 class="cmtt-10x-x-109">fix-table </span>is set.
1972 <!--l. 1724--><p class="noindent" ><span
1973 class="cmbx-10x-x-109">WARNING: </span>This does not guarantee that other operating systems may not attempt to reset
1974 the address later. It is also possible that this change has other, unexpected side-effects. The
1975 correct fix is to re-partition the drive with a program that does align partitions to tracks. Also,
1976 with some disks (e.g. some large EIDE disks with address translation enabled), under some
1977 circumstances, it may even be unavoidable to have conflicting partition table entries.
1978 </p></dd><dt class="description">
1980 class="cmtt-10x-x-109">force-backup=</span><span
1981 class="cmti-10x-x-109">backup</span><span
1982 class="cmti-10x-x-109">_file</span> </dt><dd
1983 class="description">Like <span
1984 class="cmtt-10x-x-109">backup</span>, but overwrite an old backup copy if it exists. <br
1985 class="newline" /><span
1986 class="cmtt-10x-x-109">backup=</span><span
1987 class="cmti-10x-x-109">backup</span><span
1988 class="cmti-10x-x-109">_file </span>is ignored if <span
1989 class="cmtt-10x-x-109">force-backup </span>appears in the same configuration file.
1990 </dd><dt class="description">
1992 class="cmtt-10x-x-109">ignore-table</span> </dt><dd
1993 class="description">Tells LILO to ignore corrupt partition tables and to put the boot sector even on
1994 partitions that appear to be unsuitable for that.
1995 </dd><dt class="description">
1997 class="cmtt-10x-x-109">install=</span><span
1998 class="cmti-10x-x-109">boot</span><span
1999 class="cmti-10x-x-109">_sector</span> </dt><dd
2000 class="description">Install the specified file as the new boot sector. If <span
2001 class="cmtt-10x-x-109">install </span>is omitted, <br
2002 class="newline" /><span
2003 class="cmtt-10x-x-109">/boot/boot.b </span>is used as the default.
2004 </dd><dt class="description">
2006 class="cmtt-10x-x-109">keytable=</span><span
2007 class="cmti-10x-x-109">table</span><span
2008 class="cmti-10x-x-109">_file</span> </dt><dd
2009 class="description">Re-map the keyboard as specified in this file. See section <a
2010 href="#x1-570004.6">4.6<!--tex4ht:ref: keytab --></a> for details.
2011 </dd><dt class="description">
2013 class="cmtt-10x-x-109">lba32</span> </dt><dd
2014 class="description">Generate 32-bit Logical Block Addresses instead of sector/head/cylinder addresses. If the
2015 BIOS supports packet addressing, then packet calls will be used to access the disk. This allows
2016 booting from any partition on disks with more than 1024 cylinders. If the BIOS does not
2017 support packet addressing, then <span
2018 class="cmtt-10x-x-109">lba32 </span>addresses are translated to C:H:S, just as for <span
2019 class="cmtt-10x-x-109">linear</span>.
2020 All floppy disk references are retained in C:H:S form. Use of <span
2021 class="cmtt-10x-x-109">lba32 </span>is recommended on all
2022 post-1998 systems. <span
2023 class="cmtt-10x-x-109">lba32 </span>may conflict with <span
2024 class="cmtt-10x-x-109">compact</span>, see section <a
2025 href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
2026 </dd><dt class="description">
2028 class="cmtt-10x-x-109">linear</span> </dt><dd
2029 class="description">Generate linear sector addresses instead of sector/head/cylinder addresses. Linear addresses
2030 are translated at run time and do not depend on disk geometry. Note that boot disks may
2031 not be portable if <span
2032 class="cmtt-10x-x-109">linear </span>is used, because the BIOS service to determine the disk geometry
2033 does not work reliably for floppy disks. When using <span
2034 class="cmtt-10x-x-109">linear </span>with large disks, <span
2035 class="cmtt-10x-x-109">/sbin/lilo </span>may
2036 generate references to inaccessible disk areas (see section <a
2037 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>), because 3D sector addresses
2038 are not known before boot time. <span
2039 class="cmtt-10x-x-109">linear </span>may conflict with <span
2040 class="cmtt-10x-x-109">compact</span>, see section <a
2041 href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
2042 </dd><dt class="description">
2044 class="cmtt-10x-x-109">map=</span><span
2045 class="cmti-10x-x-109">map</span><span
2046 class="cmti-10x-x-109">_file</span> </dt><dd
2047 class="description">Specifies the location of the map file. If <span
2048 class="cmtt-10x-x-109">map </span>is omitted, a file <span
2049 class="cmtt-10x-x-109">/boot/map </span>is used.
2050 </dd><dt class="description">
2053 class="cmtt-10x-x-109">message=</span><span
2054 class="cmti-10x-x-109">message</span><span
2055 class="cmti-10x-x-109">_file</span> </dt><dd
2056 class="description">Specifies a file containing a message that is displayed before the boot prompt.
2057 No message is displayed while waiting for a modifier key ([Shift], etc.) after printing “LILO ”.
2058 In the message, the <span
2059 class="cmtt-10x-x-109">FF </span>character ([Ctrl L]) clears the local screen. The size of the message file
2060 is limited to 65535 bytes. The map file has to be rebuilt if the message file is changed or moved.
2061 </dd><dt class="description">
2063 class="cmtt-10x-x-109">nowarn</span> </dt><dd
2064 class="description">Disables warnings about possible future dangers.
2065 </dd><dt class="description">
2067 class="cmtt-10x-x-109">prompt</span> </dt><dd
2068 class="description">Forces entering the boot prompt without expecting any prior key-presses. Unattended
2069 reboots are impossible if <span
2070 class="cmtt-10x-x-109">prompt </span>is set and <span
2071 class="cmtt-10x-x-109">timeout </span>isn’t.
2072 </dd><dt class="description">
2074 class="cmtt-10x-x-109">serial=</span><span
2075 class="cmti-10x-x-109">parameters</span> </dt><dd
2076 class="description">Enables control from a serial line. The specified serial port is initialized and LILO is
2077 accepting input from it and from the PC’s keyboard. Sending a break on the serial line corresponds
2078 to pressing a shift key on the console in order to get LILO’s attention. All boot images
2079 should be password-protected if the serial access is less secure than access to the console,
2080 e.g. if the line is connected to a modem. The parameter string has the following syntax:
2082 class="newline" /><span
2083 class="cmti-10x-x-109">port</span><span
2084 class="cmtt-10x-x-109">,</span><span
2085 class="cmti-10x-x-109">bps parity bits </span><br
2086 class="newline" />The components <span
2087 class="cmti-10x-x-109">bps</span>, <span
2088 class="cmti-10x-x-109">parity </span>and <span
2089 class="cmti-10x-x-109">bits </span>can be omitted. If a component is omitted, all following
2090 components have to be omitted too. Additionally, the comma has to be omitted if only the port
2091 number is specified.
2092 <dl class="description"><dt class="description">
2094 class="cmti-10x-x-109">port</span> </dt><dd
2095 class="description">the number of the serial port, zero-based. 0 corresponds to <span
2096 class="cmtt-10x-x-109">COM1 </span>alias <span
2097 class="cmtt-10x-x-109">/dev/ttyS0</span>, etc.
2098 All four ports can be used (if present).
2099 </dd><dt class="description">
2101 class="cmti-10x-x-109">bps</span> </dt><dd
2102 class="description">the baud rate of the serial port. The following baud rates are supported: 110, 300, 1200,
2103 2400, 4800, 9600, 19200, and 38400 bps. Default is 2400 bps.
2104 </dd><dt class="description">
2106 class="cmti-10x-x-109">parity</span> </dt><dd
2107 class="description">the parity used on the serial line. LILO ignores input parity and strips the 8th bit. The
2108 following (upper or lower case) characters are used to describe the parity: <span
2109 class="cmtt-10x-x-109">n </span>for no parity,
2111 class="cmtt-10x-x-109">e </span>for even parity and <span
2112 class="cmtt-10x-x-109">o </span>for odd parity.
2113 </dd><dt class="description">
2115 class="cmti-10x-x-109">bits</span> </dt><dd
2116 class="description">the number of bits in a character. Only 7 and 8 bits are supported. Default is 8 if parity
2117 is “none”, 7 if parity is “even” or “odd”.</dd></dl>
2118 <!--l. 1803--><p class="noindent" >If <span
2119 class="cmtt-10x-x-109">serial </span>is set, the value of <span
2120 class="cmtt-10x-x-109">delay </span>is automatically raised to 20.
2121 </p><!--l. 1806--><p class="noindent" >Example: <span class="obeylines-h"><span class="verb"><span
2122 class="cmtt-10x-x-109">serial=0,2400n8</span></span></span> initializes <span
2123 class="cmtt-10x-x-109">COM1 </span>with the default parameters.
2124 </p></dd><dt class="description">
2126 class="cmtt-10x-x-109">timeout=</span><span
2127 class="cmti-10x-x-109">tsecs</span> </dt><dd
2128 class="description">Sets a timeout (in tenths of a second) for keyboard input. If no key is pressed for the
2129 specified time, the first image is automatically booted. Similarly, password input is aborted if the user
2130 is idle for too long. The default timeout is infinite.
2131 </dd><dt class="description">
2133 class="cmtt-10x-x-109">verbose=</span><span
2134 class="cmti-10x-x-109">level</span> </dt><dd
2135 class="description">Turns on lots of progress reporting. Higher numbers give more verbose output. If <span
2136 class="cmtt-10x-x-109">-v </span>is
2137 additionally specified on the command line, <span
2138 class="cmti-10x-x-109">level </span>is increased accordingly. The following verbosity
2141 <dl class="description"><dt class="description">
2143 class="cmmi-10x-x-109"><</span><span
2144 class="cmbx-10x-x-109">0</span> </dt><dd
2145 class="description">only warnings and errors are shown
2146 </dd><dt class="description">
2148 class="cmbx-10x-x-109">0</span> </dt><dd
2149 class="description">prints one line for each added or skipped image
2150 </dd><dt class="description">
2152 class="cmbx-10x-x-109">1</span> </dt><dd
2153 class="description">mentions names of important files and devices and why they are accessed. Also displays
2154 informational messages for exceptional but harmless conditions and prints the version
2156 </dd><dt class="description">
2158 class="cmbx-10x-x-109">2</span> </dt><dd
2159 class="description">displays statistics and processing of temporary files and devices
2160 </dd><dt class="description">
2162 class="cmbx-10x-x-109">3</span> </dt><dd
2163 class="description">displays disk geometry information and partition table change rules
2164 </dd><dt class="description">
2166 class="cmbx-10x-x-109">4</span> </dt><dd
2167 class="description">lists sector mappings as they are written into the map file (i.e. after compaction, in a format
2168 suitable to pass it to the BIOS)
2169 </dd><dt class="description">
2171 class="cmbx-10x-x-109">5</span> </dt><dd
2172 class="description">lists the mapping of each sector (i.e. before compaction, raw)</dd></dl>
2173 <!--l. 1830--><p class="noindent" >When using the <span
2174 class="cmtt-10x-x-109">-q </span>option, the levels have a slightly different meaning:
2175 </p><dl class="description"><dt class="description">
2177 class="cmbx-10x-x-109">0</span> </dt><dd
2178 class="description">displays only image names
2179 </dd><dt class="description">
2181 class="cmbx-10x-x-109">1</span> </dt><dd
2182 class="description">also displays all global and per-image settings
2183 </dd><dt class="description">
2185 class="cmbx-10x-x-109">2</span> </dt><dd
2186 class="description">displays the address of the first map sector</dd></dl>
2188 <!--l. 1839--><p class="noindent" >Additionally, the kernel configuration parameters <span
2189 class="cmtt-10x-x-109">append</span>, <span
2190 class="cmtt-10x-x-109">initrd</span>, <span
2191 class="cmtt-10x-x-109">ramdisk</span>, <span
2192 class="cmtt-10x-x-109">read-only</span>, <span
2193 class="cmtt-10x-x-109">read-write</span>, <span
2194 class="cmtt-10x-x-109">root</span>
2196 class="cmtt-10x-x-109">vga</span>, and the general per-image options <span
2197 class="cmtt-10x-x-109">fallback</span>, <span
2198 class="cmtt-10x-x-109">lock</span>, <span
2199 class="cmtt-10x-x-109">optional</span>, <span
2200 class="cmtt-10x-x-109">password</span>, <span
2201 class="cmtt-10x-x-109">restricted</span>, and
2203 class="cmtt-10x-x-109">single-key </span>can be set in the global options section. They are used as defaults if they aren’t specified in the
2204 configuration sections of the respective images. See below for a description.
2205 </p><!--l. 1848--><p class="noindent" >The plethora of options may be intimidating at first, but in “normal” configurations, hardly any options but
2207 class="cmtt-10x-x-109">boot</span>, <span
2208 class="cmtt-10x-x-109">compact</span>, <span
2209 class="cmtt-10x-x-109">delay</span>, <span
2210 class="cmtt-10x-x-109">root</span>, and <span
2211 class="cmtt-10x-x-109">vga </span>are used.
2212 </p><!--l. 1853--><p class="noindent" >
2214 <h5 class="subsubsectionHead"><span class="titlemark">4.2.3 </span> <a
2215 id="x1-440004.2.3"></a>General per-image options</h5>
2216 <!--l. 1856--><p class="noindent" >The following options can be specified for all images, independent of their type:
2217 </p><dl class="description"><dt class="description">
2219 class="cmtt-10x-x-109">alias=</span><span
2220 class="cmti-10x-x-109">name</span> </dt><dd
2221 class="description">Specifies a second name for the current entry.
2223 </dd><dt class="description">
2225 class="cmtt-10x-x-109">fallback=</span><span
2226 class="cmti-10x-x-109">command</span><span
2227 class="cmti-10x-x-109">_line</span> </dt><dd
2228 class="description">Specifies a string that is stored as the default command line if the current
2229 image is booted. This is useful when experimenting with kernels which may crash before allowing
2230 interaction with the system. If using the <span
2231 class="cmtt-10x-x-109">fallback </span>option, the next reboot (e.g. triggered
2232 by a manual reset or by a watchdog timer) will load a different (supposedly stable) kernel.
2233 The command line by the fallback mechanism is cleared by removing or changing the default
2234 command line with the <span
2235 class="cmtt-10x-x-109">-R </span>option, see <a
2236 href="#x1-360004.1.3">4.1.3<!--tex4ht:ref: invcmd --></a>.
2237 </dd><dt class="description">
2239 class="cmtt-10x-x-109">label=</span><span
2240 class="cmti-10x-x-109">name</span> </dt><dd
2241 class="description">By default, LILO uses the main file name (without its path) of each image specification
2242 to identify that image. A different name can be used by setting the variable <span
2243 class="cmtt-10x-x-109">label</span>.
2244 </dd><dt class="description">
2246 class="cmtt-10x-x-109">lock</span> </dt><dd
2247 class="description">Enables automatic recording of boot command lines as the defaults for the following boots.
2248 This way, LILO “locks” on a choice until it is manually overridden.
2249 </dd><dt class="description">
2251 class="cmtt-10x-x-109">optional</span> </dt><dd
2252 class="description">Omit this image if its main file is not available at map creation time. This is useful to
2253 specify test kernels that are not always present.
2254 </dd><dt class="description">
2256 class="cmtt-10x-x-109">password=</span><span
2257 class="cmti-10x-x-109">password</span> </dt><dd
2258 class="description">Ask the user for a password when trying to load this image. Because the
2259 configuration file contains unencrypted passwords when using this option, it should only be
2260 readable for the super-user. Passwords are always case-sensitive.
2261 </dd><dt class="description">
2263 class="cmtt-10x-x-109">restricted</span> </dt><dd
2264 class="description">Relaxes the password protection by requiring a password only if parameters are specified
2265 on the command line (e.g. <span class="obeylines-h"><span class="verb"><span
2266 class="cmtt-10x-x-109">single</span></span></span>). <span
2267 class="cmtt-10x-x-109">restricted </span>can only be used together with <span
2268 class="cmtt-10x-x-109">password</span>.
2269 </dd><dt class="description">
2271 class="cmtt-10x-x-109">single-key</span> </dt><dd
2272 class="description">Enables booting the image by hitting a single key, without the need to press [Enter]
2274 class="cmtt-10x-x-109">single-key </span>requires that either the image’s label or its alias (or both) is a single
2275 character. Furthermore, no other image label or alias may start with that character, e.g. an
2276 entry specifying a label <span
2277 class="cmtt-10x-x-109">linux </span>and an alias <span
2278 class="cmtt-10x-x-109">l </span>is not allowed with <span
2279 class="cmtt-10x-x-109">single-key</span>. Note that you
2280 can’t specify command-line parameters for an entry for which only <span
2281 class="cmtt-10x-x-109">single-key</span>ed names exist.</dd></dl>
2282 <!--l. 1898--><p class="noindent" >All general per-image options, with the exception of <span
2283 class="cmtt-10x-x-109">label </span>and <span
2284 class="cmtt-10x-x-109">alias</span>, can also be set in the global options
2285 section as defaults for all images.
2286 </p><!--l. 1902--><p class="noindent" >Example:
2289 <div class="verbatim" id="verbatim-7">
2290 password = Geheim
2291  <br />single-key
2292  <br />image = /vmlinuz
2293  <br />  label = linux
2294  <br />  alias = 1
2295  <br />  restricted
2296  <br />other = /dev/hda1
2297  <br />  label = dos
2298  <br />  alias = 2</div>
2299 <!--l. 1913--><p class="nopar" >
2300 </p><!--l. 1916--><p class="noindent" >
2302 <h5 class="subsubsectionHead"><span class="titlemark">4.2.4 </span> <a
2303 id="x1-450004.2.4"></a>Per-image options for kernels</h5>
2304 <!--l. 1919--><p class="noindent" >Each (kernel or non-kernel) image description begins with a special variable (see section <a
2305 href="#x1-460004.3">4.3<!--tex4ht:ref: bootimg --></a>) which is
2306 followed by optional variables. The following variables can be used for all image descriptions that describe a
2308 </p><!--l. 1926--><p class="noindent" >
2309 </p><dl class="description"><dt class="description">
2311 class="cmtt-10x-x-109">append=</span><span
2312 class="cmti-10x-x-109">string</span> </dt><dd
2313 class="description">Appends the options specified in <span
2314 class="cmti-10x-x-109">string </span>to the parameter line passed to the kernel.
2315 This is typically used to specify parameters of hardware that can’t be entirely auto-detected,
2317 class="newline" /><span class="obeylines-h"><span class="verb"><span
2318 class="cmtt-10x-x-109">append</span><span
2319 class="cmtt-10x-x-109"> =</span><span
2320 class="cmtt-10x-x-109"> "aha152x=0x140,11"</span></span></span>
2321 </dd><dt class="description">
2323 class="cmtt-10x-x-109">initrd=</span><span
2324 class="cmti-10x-x-109">name</span> </dt><dd
2325 class="description">Specifies the file that will be loaded at boot time as the initial RAM disk.
2326 </dd><dt class="description">
2328 class="cmtt-10x-x-109">literal=</span><span
2329 class="cmti-10x-x-109">string</span> </dt><dd
2330 class="description">like <span
2331 class="cmtt-10x-x-109">append</span>, but removes all other options (e.g. setting of the root device). Because
2332 vital options can be removed unintentionally with <span
2333 class="cmtt-10x-x-109">literal</span>, this option cannot be set in the
2334 global options section.
2335 </dd><dt class="description">
2337 class="cmtt-10x-x-109">ramdisk=</span><span
2338 class="cmti-10x-x-109">size</span> </dt><dd
2339 class="description">Specifies the size of the optional RAM disk. A value of zero indicates that no RAM
2340 disk should be created. If this variable is omitted, the RAM disk size configured into the boot
2342 </dd><dt class="description">
2344 class="cmtt-10x-x-109">read-only</span> </dt><dd
2345 class="description">Specifies that the root file system should be mounted read-only. Typically, the system
2346 startup procedure re-mounts the root file system read-write later (e.g. after fsck’ing it).
2348 </dd><dt class="description">
2350 class="cmtt-10x-x-109">read-write</span> </dt><dd
2351 class="description">specifies that the root file system should be mounted read-write.
2352 </dd><dt class="description">
2354 class="cmtt-10x-x-109">root=</span><span
2355 class="cmti-10x-x-109">root</span><span
2356 class="cmti-10x-x-109">_device</span> </dt><dd
2357 class="description">Specifies the device that should be mounted as root. If the special name <span
2358 class="cmtt-10x-x-109">current</span>
2359 is used, the root device is set to the device on which the root file system is currently mounted.
2360 If the root has been changed with <span
2361 class="cmtt-10x-x-109">-r</span>, the respective device is used. If the variable <span
2362 class="cmtt-10x-x-109">root </span>is
2363 omitted, the root device setting contained in the kernel image is used. It can be changed with
2365 class="cmss-10x-x-109">rdev </span>program.
2366 </dd><dt class="description">
2368 class="cmtt-10x-x-109">vga=</span><span
2369 class="cmti-10x-x-109">mode</span> </dt><dd
2370 class="description"> Specifies the VGA text mode that should be selected when booting. The following values are
2371 recognized (case is ignored):
2372 <dl class="description"><dt class="description">
2374 class="cmtt-10x-x-109">normal</span> </dt><dd
2375 class="description">select normal 80x25 text mode.
2376 </dd><dt class="description">
2378 class="cmtt-10x-x-109">extended</span> </dt><dd
2379 class="description">select 80x50 text mode. The word <span
2380 class="cmtt-10x-x-109">extended </span>can be abbreviated to <span
2381 class="cmtt-10x-x-109">ext</span>.
2382 </dd><dt class="description">
2384 class="cmtt-10x-x-109">ask</span> </dt><dd
2385 class="description">stop and ask for user input (at boot time).
2386 </dd><dt class="description">
2388 class="cmti-10x-x-109">number</span> </dt><dd
2389 class="description">use the corresponding text mode. A list of available modes can be obtained by booting
2391 class="cmtt-10x-x-109">vga=ask </span>and pressing [Enter].</dd></dl>
2392 <!--l. 1966--><p class="noindent" >If this variable is omitted, the VGA mode setting contained in the kernel image is used. <span
2393 class="cmss-10x-x-109">rdev </span>supports
2394 manipulation of the VGA text mode setting in the kernel image.</p></dd></dl>
2395 <!--l. 1971--><p class="noindent" >All kernel per-image options but <span
2396 class="cmtt-10x-x-109">literal </span>can also be set in the global options section as defaults for all
2398 </p><!--l. 1974--><p class="noindent" >If one of <span
2399 class="cmtt-10x-x-109">ramdisk</span>, <span
2400 class="cmtt-10x-x-109">read-only</span>, <span
2401 class="cmtt-10x-x-109">read-write</span>, <span
2402 class="cmtt-10x-x-109">root</span>, or <span
2403 class="cmtt-10x-x-109">vga </span>is omitted in the configuration file and
2404 the corresponding value in the kernel image is changed, LILO or the kernel will use the new
2406 </p><!--l. 1979--><p class="noindent" >It is perfectly valid to use different settings for the same image, because LILO stores them in the image
2407 descriptors and not in the images themselves.
2408 </p><!--l. 1983--><p class="noindent" >Example:
2411 <div class="verbatim" id="verbatim-8">
2412 image = /vmlinuz
2413  <br />  label = lin-hd
2414  <br />  root = /dev/hda2
2415  <br />image = /vmlinuz
2416  <br />  label = lin-fd
2417  <br />  root = /dev/fd0</div>
2418 <!--l. 1991--><p class="nopar" >
2419 </p><!--l. 1994--><p class="noindent" >
2421 <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a
2422 id="x1-460004.3"></a>Boot image types</h4>
2423 <!--l. 1997--><p class="noindent" >LILO can boot the following types of images: </p>
2424 <ul class="itemize1">
2425 <li class="itemize">kernel images from a file.
2427 <li class="itemize">kernel images from a block device. (E.g. a floppy disk.)
2429 <li class="itemize">the boot sector of some other operating system.</li></ul>
2430 <!--l. 2004--><p class="noindent" >The image type is determined by the name of the initial variable of the configuration section.
2431 </p><!--l. 2007--><p class="noindent" >The image files can reside on any media that is accessible at boot time. There’s no need to put them on the
2432 root device, although this certainly doesn’t hurt.
2433 </p><!--l. 2012--><p class="noindent" >
2435 <h5 class="subsubsectionHead"><span class="titlemark">4.3.1 </span> <a
2436 id="x1-470004.3.1"></a>Booting kernel images from a file</h5>
2437 <!--l. 2014--><p class="noindent" >The image is specified as follows: <span
2438 class="cmtt-10x-x-109">image=</span><span
2439 class="cmti-10x-x-109">name</span>
2440 </p><!--l. 2016--><p class="noindent" >Example:
2443 <div class="verbatim" id="verbatim-9">
2444 image = /linux</div>
2445 <!--l. 2019--><p class="nopar" >
2446 </p><!--l. 2021--><p class="noindent" >See sections <a
2447 href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a> and <a
2448 href="#x1-450004.2.4">4.2.4<!--tex4ht:ref: cfgkern --></a> for the options that can be added in a kernel image section.
2449 </p><!--l. 2025--><p class="noindent" >
2451 <h5 class="subsubsectionHead"><span class="titlemark">4.3.2 </span> <a
2452 id="x1-480004.3.2"></a>Booting kernel images from a device</h5>
2453 <!--l. 2027--><p class="noindent" >The range of sectors that should be mapped has to be specified. Either a range (<span
2454 class="cmti-10x-x-109">start</span><span
2455 class="cmtt-10x-x-109">-</span><span
2456 class="cmti-10x-x-109">end</span>) or a start and a
2458 class="cmti-10x-x-109">start</span><span
2459 class="cmtt-10x-x-109">+</span><span
2460 class="cmti-10x-x-109">number</span>) have to be specified. <span
2461 class="cmti-10x-x-109">start </span>and <span
2462 class="cmti-10x-x-109">end </span>are zero-based. If only the start is specified,
2463 only that sector is mapped.
2464 </p><!--l. 2034--><p class="noindent" >The image is specified as follows: <span
2465 class="cmtt-10x-x-109">image=</span><span
2466 class="cmti-10x-x-109">device</span><span
2467 class="cmti-10x-x-109">_name </span>Additionally, the <span
2468 class="cmtt-10x-x-109">range </span>variable must be
2470 </p><!--l. 2037--><p class="noindent" >Example:
2473 <div class="verbatim" id="verbatim-10">
2474 image = /dev/fd0
2475  <br />  range = 1+512</div>
2476 <!--l. 2041--><p class="nopar" >
2477 </p><!--l. 2043--><p class="noindent" >All kernel options can also be used when booting the kernel from a device.
2478 </p><!--l. 2046--><p class="noindent" >
2480 <h5 class="subsubsectionHead"><span class="titlemark">4.3.3 </span> <a
2481 id="x1-490004.3.3"></a>Booting a foreign operating system</h5>
2482 <!--l. 2049--><p class="noindent" >LILO can even boot other operating systems, i.e. MS-DOS. To boot an other operating system, the name of
2483 a loader program, the device or file that contains the boot sector and the device that contains the partition
2484 table have to be specified.
2485 </p><!--l. 2055--><p class="noindent" >The boot sector is merged with the partition table and stored in the map file.
2486 </p><!--l. 2057--><p class="noindent" >Currently, the loaders <span
2487 class="cmtt-10x-x-109">chain.b </span>and <span
2488 class="cmtt-10x-x-109">os2</span><span
2489 class="cmtt-10x-x-109">_d.b </span>exist. <span
2490 class="cmtt-10x-x-109">chain.b </span>simply starts the specified boot
2491 sector.<span class="footnote-mark"><a
2492 href="user_21-518.html#fn22x0"><sup class="textsuperscript">22</sup></a></span><a
2493 id="x1-49001f22"></a>
2495 class="cmtt-10x-x-109">os2</span><span
2496 class="cmtt-10x-x-109">_d.b </span>it a variant of <span
2497 class="cmtt-10x-x-109">chain.b </span>that can boot OS/2 from the second hard disk. The <span
2498 class="cmtt-10x-x-109">map-drive </span>option has
2499 to be used with <span
2500 class="cmtt-10x-x-109">os2</span><span
2501 class="cmtt-10x-x-109">_d.b </span>to actually swap the drives.
2502 </p><!--l. 2065--><p class="noindent" >The image is specified as follows: <span
2503 class="cmtt-10x-x-109">other=</span><span
2504 class="cmti-10x-x-109">device</span><span
2505 class="cmti-10x-x-109">_name </span>or <span
2506 class="cmtt-10x-x-109">other=</span><span
2507 class="cmti-10x-x-109">file</span><span
2508 class="cmti-10x-x-109">_name</span>
2509 </p><!--l. 2068--><p class="noindent" >In addition to the options listen in section <a
2510 href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a>, the following variables are recognized:
2511 </p><dl class="description"><dt class="description">
2513 class="cmtt-10x-x-109">change</span> </dt><dd
2514 class="description">Change the partition table according to the rules specified in this <span
2515 class="cmtt-10x-x-109">change </span>section. This option
2516 is intended for booting systems which find their partitions by examining the partition table.
2518 href="#x1-560004.5.3">4.5.3<!--tex4ht:ref: ptch --></a> for details.
2519 </dd><dt class="description">
2521 class="cmtt-10x-x-109">loader=</span><span
2522 class="cmti-10x-x-109">chain</span><span
2523 class="cmti-10x-x-109">_loader</span> </dt><dd
2524 class="description">Specifies the chain loader that should be used. If it is omitted, <span
2525 class="cmtt-10x-x-109">/boot/chain.b</span>
2527 </dd><dt class="description">
2529 class="cmtt-10x-x-109">map-drive=</span><span
2530 class="cmti-10x-x-109">bios</span><span
2531 class="cmti-10x-x-109">_device</span><span
2532 class="cmti-10x-x-109">_code</span> </dt><dd
2533 class="description">Instructs <span
2534 class="cmtt-10x-x-109">chain.b </span>to installs a resident driver that re-maps the floppy
2535 or hard disk drives. This way, one can boot any operating system from a hard disk different
2536 from the first one, as long as that operating system uses <span
2537 class="cmbx-10x-x-109">only </span>the BIOS to access that hard
2539 disk.<span class="footnote-mark"><a
2540 href="user_21-519.html#fn23x0"><sup class="textsuperscript">23</sup></a></span><a
2541 id="x1-49002f23"></a>
2542 This is known to work for PC/MS-DOS.
2543 <!--l. 2089--><p class="noindent" ><span
2544 class="cmtt-10x-x-109">map-drive </span>is followed by the variable <span
2545 class="cmtt-10x-x-109">to=</span><span
2546 class="cmti-10x-x-109">bios</span><span
2547 class="cmti-10x-x-109">_device</span><span
2548 class="cmti-10x-x-109">_code </span>which specifies the drive that should
2549 effectively be accessed instead of the original one. The list of mappings is only searched until
2550 the first match is found. It is therefore possible to “swap” drives, see the second example below.
2551 </p></dd><dt class="description">
2553 class="cmtt-10x-x-109">table=</span><span
2554 class="cmti-10x-x-109">device</span> </dt><dd
2555 class="description">Specifies the device that contains the partition table. LILO does not pass partition
2556 information to the booted operating system if this variable is omitted. (Some operating systems
2557 have other means to determine from which partition they have been booted. E.g. MS-DOS
2558 usually stores the geometry of the boot disk or partition in its boot sector.) Note that
2560 class="cmtt-10x-x-109">/sbin/lilo </span>must be re-run if a partition table mapped referenced with <span
2561 class="cmtt-10x-x-109">table </span>is modified.
2562 </dd><dt class="description">
2564 class="cmtt-10x-x-109">unsafe</span> </dt><dd
2565 class="description">Do not access the boot sector at map creation time. This disables some sanity checks,
2566 including a partition table check. If the boot sector is on a fixed-format floppy disk device, using
2568 class="cmtt-10x-x-109">unsafe </span>avoids the need to put a readable disk into the drive when running the map installer.
2570 class="cmtt-10x-x-109">unsafe </span>and <span
2571 class="cmtt-10x-x-109">table </span>are mutually incompatible.</dd></dl>
2572 <!--l. 2109--><p class="noindent" >None of these options can be set in the global options section.
2573 </p><!--l. 2111--><p class="noindent" >Examples:
2576 <div class="verbatim" id="verbatim-11">
2577 other = /dev/hda2
2578  <br />  label = dos
2579  <br />  table = /dev/hda</div>
2580 <!--l. 2116--><p class="nopar" >
2583 <div class="verbatim" id="verbatim-12">
2584 other = /dev/hdb2
2585  <br />  label = os2
2586  <br />  loader = /boot/os2_d.b
2587  <br />  map-drive = 0x80
2588  <br />    to = 0x81
2589  <br />  map-drive = 0x81
2590  <br />    to = 0x80</div>
2591 <!--l. 2126--><p class="nopar" >
2593 <h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a
2594 id="x1-500004.4"></a>Disk geometry</h4>
2595 <!--l. 2132--><p class="noindent" >For floppies and most hard disks, LILO can obtain the disk geometry information from the kernel.
2596 Unfortunately, there are some exotic disks or adapters which may either not supply this information or
2597 which may even return incorrect information.
2598 </p><!--l. 2137--><p class="noindent" >If no geometry information is available, LILO reports either the error <br
2599 class="newline" /><span
2600 class="cmtt-10x-x-109">geo</span><span
2601 class="cmtt-10x-x-109">_query</span><span
2602 class="cmtt-10x-x-109">_dev HDIO</span><span
2603 class="cmtt-10x-x-109">_GETGEO (dev 0x</span><span
2604 class="cmti-10x-x-109">number</span><span
2605 class="cmtt-10x-x-109">) </span><br
2606 class="newline" />or <br
2607 class="newline" /><span
2608 class="cmtt-10x-x-109">Device 0x</span><span
2609 class="cmti-10x-x-109">number</span><span
2610 class="cmtt-10x-x-109">: Got bad geometry </span><span
2611 class="cmti-10x-x-109">sec</span><span
2612 class="cmtt-10x-x-109">/</span><span
2613 class="cmti-10x-x-109">hd</span><span
2614 class="cmtt-10x-x-109">/</span><span
2615 class="cmti-10x-x-109">cyl</span>
2616 </p><!--l. 2143--><p class="noindent" >If incorrect information is returned, booting may fail in several ways, typically with a partial “LILO”
2617 banner message. In this document, that is called a “geometry mismatch”.
2618 </p><!--l. 2147--><p class="noindent" >The next step should be to attempt setting the <span
2619 class="cmtt-10x-x-109">lba32 </span>or <span
2620 class="cmtt-10x-x-109">linear </span>configuration variable or the <span
2621 class="cmtt-10x-x-109">-L </span>or <span
2622 class="cmtt-10x-x-109">-l</span>
2623 command-line option. If this doesn’t help, the entire disk geometry has to be specified explicitly. Note that
2625 class="cmtt-10x-x-109">linear </span>doesn’t always work with floppy disks.
2626 </p><!--l. 2152--><p class="noindent" >Another common use of disk sections is if an (E)IDE and a SCSI drive are used in the same system and the
2627 BIOS is configured to use the SCSI drive as the first drive. (Normally, the (E)IDE drive would be the first
2628 drive and the SCSI drive would be the second one.) Since LILO doesn’t know how the BIOS
2629 is configured, it needs to be told explicitly about this arrangement. (See the second example
2631 </p><!--l. 2160--><p class="noindent" >
2633 <h5 class="subsubsectionHead"><span class="titlemark">4.4.1 </span> <a
2634 id="x1-510004.4.1"></a>Obtaining the geometry</h5>
2635 <!--l. 2162--><p class="noindent" >The disk geometry parameters can be obtained by booting MS-DOS and running the program <span
2636 class="cmtt-10x-x-109">DPARAM.COM</span>
2637 with the hexadecimal BIOS code of the drive as its argument, e.g. <span class="obeylines-h"><span class="verb"><span
2638 class="cmtt-10x-x-109">dparam</span><span
2639 class="cmtt-10x-x-109"> 0x80</span></span></span> for the first hard disk. It
2640 displays the number of sectors per track, the number of heads per cylinder and the number of cylinders. All
2641 three numbers are one-based.
2643 </p><!--l. 2169--><p class="noindent" >Alternatively, the geometry may also be determined by reading the information presented by the “setup”
2644 section of the ROM-BIOS or by using certain disk utilities under operating systems accessing the disk
2646 </p><!--l. 2174--><p class="noindent" >
2648 <h5 class="subsubsectionHead"><span class="titlemark">4.4.2 </span> <a
2649 id="x1-520004.4.2"></a>Specifying the geometry</h5>
2650 <!--l. 2177--><p class="noindent" >Disk geometry parameters are specified in the options section of the configuration file. Each disk parameter
2651 section begins with <span
2652 class="cmtt-10x-x-109">disk=</span><span
2653 class="cmti-10x-x-109">disk</span><span
2654 class="cmti-10x-x-109">_device</span>, similar to the way how boot images are specified. It is suggested to
2655 group disk parameter sections together, preferably at the beginning or the end of the options
2657 </p><!--l. 2184--><p class="noindent" >For each disk, the following variables can be specified:
2658 </p><dl class="description"><dt class="description">
2660 class="cmtt-10x-x-109">bios=</span><span
2661 class="cmti-10x-x-109">bios</span><span
2662 class="cmti-10x-x-109">_device</span><span
2663 class="cmti-10x-x-109">_code</span> </dt><dd
2664 class="description">Is the number the BIOS uses to refer to that device. Normally, it’s <span
2665 class="cmtt-10x-x-109">0x80 </span>for
2666 the first hard disk and <span
2667 class="cmtt-10x-x-109">0x81 </span>for the second hard disk. Note that hexadecimal numbers have to
2668 begin with “0x”. If <span
2669 class="cmtt-10x-x-109">bios </span>is omitted, LILO tries to “guess” that number.
2670 </dd><dt class="description">
2672 class="cmtt-10x-x-109">sectors=</span><span
2673 class="cmti-10x-x-109">sectors</span> </dt><dd
2674 class="description">and
2675 </dd><dt class="description">
2677 class="cmtt-10x-x-109">heads=</span><span
2678 class="cmti-10x-x-109">heads</span> </dt><dd
2679 class="description">specify the number of sectors per track and the number of heads, i.e. the number of
2680 tracks per cylinder. Both parameters have to be either specified together or they have to be
2681 entirely omitted. If omitted, LILO tries to obtain that geometry information from the kernel.
2682 </dd><dt class="description">
2684 class="cmtt-10x-x-109">cylinders=</span><span
2685 class="cmti-10x-x-109">cylinders</span> </dt><dd
2686 class="description">Specifies the number of cylinders. This value is only used for sanity checks.
2688 class="cmtt-10x-x-109">cylinders </span>is omitted, LILO uses the information obtained from the kernel if geometry
2689 information had to be requested in order to determine some other parameter. Otherwise,<span class="footnote-mark"><a
2690 href="user_21-520.html#fn24x0"><sup class="textsuperscript">24</sup></a></span><a
2691 id="x1-52001f24"></a>
2692 it just assumes the number of cylinders to be 1024, which is the cylinder limit imposed by the
2694 </dd><dt class="description">
2696 class="cmtt-10x-x-109">inaccessible</span> </dt><dd
2697 class="description">Marks the device as inaccessible (for the BIOS). This is useful if some disks on
2698 the system can’t be read by the BIOS, although LILO “thinks” they can. If one accidentally
2699 tries to use files located on such disks for booting, the map installer won’t notice and the
2700 system becomes unbootable. The most likely use of <span
2701 class="cmtt-10x-x-109">inaccessible </span>is to prevent repetition after
2702 experiencing such a situation once. No other variables may be specified if a device is configured
2704 class="cmtt-10x-x-109">inaccessible</span>.</dd></dl>
2705 <!--l. 2217--><p class="noindent" >Additionally, partition subsections can be added with <span
2706 class="cmtt-10x-x-109">partition=</span><span
2707 class="cmti-10x-x-109">partition</span><span
2708 class="cmti-10x-x-109">_device</span>. Each partition section
2709 can contain only one variable:
2710 </p><dl class="description"><dt class="description">
2712 class="cmtt-10x-x-109">start=</span><span
2713 class="cmti-10x-x-109">partition</span><span
2714 class="cmti-10x-x-109">_offset</span> </dt><dd
2715 class="description">Specifies the zero-based number of the start sector of that partition. The
2717 whole disk always has a partition offset of zero. The partition offset is only necessary when
2718 using devices for which the kernel does not provide that information, e.g. CD-ROMs.</dd></dl>
2719 <!--l. 2228--><p class="noindent" >Examples:
2722 <div class="verbatim" id="verbatim-13">
2723 disk = /dev/sda
2724  <br />  bios = 0x80
2725  <br />  sectors = 32
2726  <br />  heads = 64
2727  <br />  cylinders = 632
2728  <br />  partition = /dev/sda1
2729  <br />    start = 2048
2730  <br />  partition = /dev/sda2
2731  <br />    start = 204800
2732  <br />  partition = /dev/sda3
2733  <br />    start = 500000
2734  <br />  partition = /dev/sda4
2735  <br />    start = 900000</div>
2736 <!--l. 2243--><p class="nopar" >
2739 <div class="verbatim" id="verbatim-14">
2740 disk = /dev/sda
2741  <br />  bios = 0x80
2742  <br />disk = /dev/hda
2743  <br />  bios = 0x81</div>
2744 <!--l. 2250--><p class="nopar" >
2745 </p><!--l. 2253--><p class="noindent" >
2747 <h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a
2748 id="x1-530004.5"></a>Partition table manipulation</h4>
2749 <!--l. 2256--><p class="noindent" >Some non-Linux operating systems obtain information about their partitions (e.g. their equivalent of the
2750 root file system) from the partition table. If more than one such operating system is installed on a PC,
2751 they may have conflicting interpretations of the content of the partition table. Those problems
2752 can be avoided by changing the partition table, depending on which operating system is being
2754 </p><!--l. 2263--><p class="noindent" >Partition table changes are specified in a <span
2755 class="cmtt-10x-x-109">change </span>section in the configuration file section describing the
2756 foreign operating system. Note that <span
2757 class="cmtt-10x-x-109">change </span>sections are only accepted if the build-time option
2759 class="cmtt-10x-x-109">REWRITE</span><span
2760 class="cmtt-10x-x-109">_TABLE </span>is set.
2761 </p><!--l. 2268--><p class="noindent" >The <span
2762 class="cmtt-10x-x-109">change </span>section contains subsections for each partition whose table entry needs to be modified.
2763 Partitions are specified with <span
2764 class="cmtt-10x-x-109">partition=</span><span
2765 class="cmti-10x-x-109">device</span><span
2766 class="cmti-10x-x-109">_name</span>
2767 </p><!--l. 2272--><p class="noindent" >Changes are applied in the sequence in which they appear in the configuration file. Configurations
2768 containing changes that are redundant either by repeating a previous change or by changing its result
2769 further are invalid and refused by the map installer.
2770 </p><!--l. 2277--><p class="noindent" >Internally, all changes are expressed as rules which specify the location (disk and offset in the
2771 partition table), the value this location must contain before the change, and the value that
2772 has to be stored. As a safety measure, the rule is ignored if the previous value is found to be
2774 </p><!--l. 2284--><p class="noindent" >
2776 <h5 class="subsubsectionHead"><span class="titlemark">4.5.1 </span> <a
2777 id="x1-540004.5.1"></a>Partition activation</h5>
2778 <!--l. 2286--><p class="noindent" >This option is intended for booting systems which determine their boot partition by examining the active
2779 flag in the partition table. The flag is enabled with <span
2780 class="cmtt-10x-x-109">activate </span>and disabled with <span
2781 class="cmtt-10x-x-109">deactivate</span>.
2782 Note that only the current partition is affected. LILO does not automatically change the active
2783 flags of other partitions and it also allows more than one partition to be active at the same
2786 </p><!--l. 2293--><p class="noindent" >Example:
2789 <div class="verbatim" id="verbatim-15">
2790 other = /dev/sda4
2791  <br />  label = sco
2792  <br />  change
2793  <br />    partition = /dev/sda4
2794  <br />      activate
2795  <br />    partition = /dev/sda3
2796  <br />      deactivate</div>
2797 <!--l. 2303--><p class="nopar" >
2798 </p><!--l. 2306--><p class="noindent" >
2800 <h5 class="subsubsectionHead"><span class="titlemark">4.5.2 </span> <a
2801 id="x1-550004.5.2"></a>Partition type change rules</h5>
2802 <!--l. 2309--><p class="noindent" >Partition type changes are normally a transition between two possible values, e.g. a typical convention is to
2803 set the lowest bit in the upper nibble of the partition type (i.e. 0x10) in order to “hide”, and to clear it to
2804 “unhide” a partition. LILO performs these changes based on a set of rules. Each rule defines
2805 the name of a partition type, its normal value, and the value when hidden. Those rules are
2806 defined in the options section of the configuration file. The section defining them begins with
2808 class="cmtt-10x-x-109">change-rules</span>.
2809 </p><!--l. 2318--><p class="noindent" >The following options and variables can appear in the section:
2810 </p><dl class="description"><dt class="description">
2812 class="cmtt-10x-x-109">reset</span> </dt><dd
2813 class="description">Removes all previously defined rules. This is needed if a user doesn’t wish to use the pre-defined
2815 </dd><dt class="description">
2817 class="cmtt-10x-x-109">type=</span><span
2818 class="cmti-10x-x-109">name</span> </dt><dd
2819 class="description">Adds a rule for the type with the specified name. Type names are case-insensitive. The
2820 values are defined with <span
2821 class="cmtt-10x-x-109">normal=</span><span
2822 class="cmti-10x-x-109">byte </span>and <span
2823 class="cmtt-10x-x-109">hidden=</span><span
2824 class="cmti-10x-x-109">byte</span>. Values can be specified as decimal or as
2825 hexadecimal numbers with a leading <span
2826 class="cmtt-10x-x-109">0x</span>. If only one of the values is present, the other value is
2827 assumed to be the same number, but with the most significant bit inverted.</dd></dl>
2828 <!--l. 2331--><p class="noindent" >LILO pre-defines rules for the three partition types of DOS partitions. The following example removes the
2829 pre-defined rules and creates them again:
2832 <div class="verbatim" id="verbatim-16">
2834  <br />  reset
2835  <br />  type = DOS12
2836  <br />    normal = 0x01
2837  <br />    hidden = 0x11
2838  <br />  type = DOS16_small
2839  <br />    normal = 4 # hidden is 0x14
2840  <br />  type = DOS16_big
2841  <br />    hidden = 0x16</div>
2842 <!--l. 2344--><p class="nopar" >
2843 </p><!--l. 2347--><p class="noindent" >
2845 <h5 class="subsubsectionHead"><span class="titlemark">4.5.3 </span> <a
2846 id="x1-560004.5.3"></a>Partition type changes</h5>
2847 <!--l. 2350--><p class="noindent" >Partition type changes are specified in the partition section as <span
2848 class="cmtt-10x-x-109">set=</span><span
2849 class="cmti-10x-x-109">name</span><span
2850 class="cmtt-10x-x-109">_</span><span
2851 class="cmti-10x-x-109">state</span>, where <span
2852 class="cmti-10x-x-109">name </span>is the name of
2853 the partition type, and <span
2854 class="cmti-10x-x-109">state </span>is its state, i.e. <span
2855 class="cmtt-10x-x-109">normal </span>or <span
2856 class="cmtt-10x-x-109">hidden</span>.
2857 </p><!--l. 2355--><p class="noindent" >Example:
2860 <div class="verbatim" id="verbatim-17">
2861 other = /dev/sda3
2862  <br />  label = dos
2863  <br />  change
2864  <br />    partition = /dev/sda2
2865  <br />      set = dos16_big_normal
2866  <br />    partition = /dev/sda3
2867  <br />      activate
2868  <br />      set = DOS16_big_normal</div>
2869 <!--l. 2366--><p class="nopar" >
2870 </p><!--l. 2368--><p class="noindent" >Only one <span
2871 class="cmtt-10x-x-109">set </span>variable is allowed per partition section. In the rare event that more than one <span
2872 class="cmtt-10x-x-109">set </span>variable is
2873 needed, further partition sections can be used.
2874 </p><!--l. 2373--><p class="noindent" >
2876 <h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a
2877 id="x1-570004.6"></a>Keyboard translation</h4>
2878 <!--l. 2376--><p class="noindent" >The PC keyboard emits so-called scan codes, which are basically key numbers. The BIOS then translates
2879 those scan codes to the character codes of the characters printed on the key-caps. By default, the BIOS
2880 normally assumes that the keyboard has a US layout. Once an operating system is loaded, this operating
2881 system can use a different mapping.
2882 </p><!--l. 2382--><p class="noindent" >At boot time, LILO only has access to the basic services provided by the BIOS and therefore receives the character
2883 codes for an US keyboard. It provides a simple mechanism to re-map the character codes to what is appropriate for the
2884 actual layout.<span class="footnote-mark"><a
2885 href="user_21-521.html#fn25x0"><sup class="textsuperscript">25</sup></a></span><a
2886 id="x1-57001f25"></a>
2888 <h5 class="subsubsectionHead"><span class="titlemark">4.6.1 </span> <a
2889 id="x1-580004.6.1"></a>Compiling keyboard translation tables</h5>
2890 <!--l. 2394--><p class="noindent" >LILO obtains layout information from the keyboard translation tables Linux uses for the text
2891 console. They are usually stored in <span
2892 class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>. LILO comes with a program
2894 class="cmss-10x-x-109">keytab-lilo.pl </span>that reads those tables and generates a table suitable for use by the map installer.
2896 class="cmss-10x-x-109">keytab-lilo.pl </span>invokes the program <span
2897 class="cmss-10x-x-109">loadkeys </span>to print the tables in a format that is easy to parse.
2898 <span class="footnote-mark"><a href="user_21-522.html#fn26x0"><sup class="textsuperscript">26</sup></a>
2900 </p><!--l. 2404--><p class="noindent" ><span
2901 class="cmss-10x-x-109">keytab-lilo.pl </span>is used as follows:
2902 </p><!--l. 2406--><p class="indent" ><span
2903 class="cmtt-10x-x-109">keytab-lilo.pl</span> <span class="big">[</span> <span
2904 class="cmtt-10x-x-109">-p </span><span
2905 class="cmti-10x-x-109">old_code</span><span
2906 class="cmtt-10x-x-109">=</span><span
2907 class="cmti-10x-x-109">new_code</span> <span class="big">]</span> <span
2908 class="cmmi-10x-x-109">…</span> <span class="big">[</span><span
2909 class="cmti-10x-x-109">path</span><span class="big">]</span><span
2910 class="cmti-10x-x-109">default_layout</span><span class="big">[</span><span
2911 class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <br
2912 class="newline" /><span class="big"> [</span><span
2913 class="cmti-10x-x-109">path</span><span class="big">]</span><span
2914 class="cmti-10x-x-109">kbd_layout</span><span class="big">[</span><span
2915 class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <span
2916 class="cmtt-10x-x-109"> </span>
2917 </p><dl class="description"><dt class="description">
2919 class="cmtt-10x-x-109">-p </span><span
2920 class="cmti-10x-x-109">old_code</span><span
2921 class="cmtt-10x-x-109">=</span><span
2922 class="cmti-10x-x-109">new_code</span> </dt><dd
2923 class="description"> <br
2924 class="newline" />Specifies corrections (“patches”) to the mapping obtained from the translation table files. E.g.
2925 if pressing the upper case “A” should yield an at sign, <span class="obeylines-h"><span class="verb"><span
2926 class="cmtt-10x-x-109">-p</span><span
2927 class="cmtt-10x-x-109"> 65=64</span></span></span> would be used. The <span
2928 class="cmtt-10x-x-109">-p </span>option
2929 can be repeated any number of times. The codes can also be given as hexadecimal or as octal
2930 numbers if they are prefixed with <span class="obeylines-h"><span class="verb"><span
2931 class="cmtt-10x-x-109">0x</span></span></span> or <span class="obeylines-h"><span class="verb"><span
2932 class="cmtt-10x-x-109">0</span></span></span>, respectively.
2933 </dd><dt class="description">
2935 class="cmti-10x-x-109">path</span> </dt><dd
2936 class="description">The directory in which the file resides. The default path is <span
2937 class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>.
2938 </dd><dt class="description">
2940 class="cmti-10x-x-109">extension</span> </dt><dd
2941 class="description">Usually the trailing <span
2942 class="cmtt-10x-x-109">.map</span>, which is automatically added if the file name doesn’t contain dots.
2943 </dd><dt class="description">
2945 class="cmti-10x-x-109">default_layout</span> </dt><dd
2946 class="description">Is the layout which specifies the translation by the BIOS. If none is specified, <span
2947 class="cmtt-10x-x-109">us </span>is assumed.
2948 </dd><dt class="description">
2950 class="cmti-10x-x-109">kbd_layout</span> </dt><dd
2951 class="description">Is the actual layout of the keyboard.</dd></dl>
2952 <!--l. 2430--><p class="noindent" ><span
2953 class="cmss-10x-x-109">keytab-lilo.pl </span>writes the resulting translation table as a binary string to standard output. Such tables can be
2954 stored anywhere with any name, but the suggested naming convention is <span
2955 class="cmtt-10x-x-109">/boot/</span><span
2956 class="cmti-10x-x-109">kbd</span><span
2957 class="cmtt-10x-x-109">.ktl </span>(“<span class="underline">K</span>eyboard <span class="underline">T</span>able
2958 for <span class="underline">L</span>ilo”), where <span
2959 class="cmti-10x-x-109">kbd </span>is the name of the keyboard layout.
2960 </p><!--l. 2436--><p class="noindent" >Example:
2963 <div class="verbatim" id="verbatim-18">
2964 keytab-lilo.pl de >/boot/de.ktl</div>
2965 <!--l. 2439--><p class="nopar" >
2967 <h5 class="subsubsectionHead"><span class="titlemark">4.6.2 </span> <a
2968 id="x1-590004.6.2"></a>Using keyboard translation tables</h5>
2969 <!--l. 2444--><p class="noindent" >The keyboard translation table file is specified with the global configuration option <span
2970 class="cmtt-10x-x-109">keytable=</span><span
2971 class="cmti-10x-x-109">table</span><span
2972 class="cmti-10x-x-109">_file</span>. The
2973 complete name of the file has to be given.
2974 </p><!--l. 2448--><p class="noindent" >Example:
2977 <div class="verbatim" id="verbatim-19">
2978 keytable = /boot/de.klt</div>
2979 <!--l. 2451--><p class="nopar" >
2980 </p><!--l. 2454--><p class="noindent" >
2983 <h3 class="sectionHead"><span class="titlemark">5 </span> <a
2984 id="x1-600005"></a>Installation and updates</h3>
2985 <!--l. 2458--><p class="noindent" >
2987 <h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
2988 id="x1-610005.1"></a>Installation</h4>
2989 <!--l. 2460--><p class="noindent" >This section describes the installation of LILO. See section <a
2990 href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for how to uninstall LILO.
2991 </p><!--l. 2464--><p class="noindent" >
2993 <h5 class="subsubsectionHead"><span class="titlemark">5.1.1 </span> <a
2994 id="x1-620005.1.1"></a>Compatibility</h5>
2995 <!--l. 2466--><p class="noindent" >The kernel header files have to be in <span
2996 class="cmtt-10x-x-109">/usr/include/linux </span>and the kernel usually has to be configured by
2998 class="cmtt-10x-x-109">make config </span>before LILO can be compiled.
2999 </p><!--l. 2470--><p class="noindent" ><span
3000 class="cmtt-10x-x-109">/bin/sh </span>has to be a real Bourne shell. <span
3001 class="cmss-10x-x-109">bash </span>is sufficiently compatible, but some <span
3002 class="cmss-10x-x-109">ksh </span>clones may cause
3004 </p><!--l. 2473--><p class="noindent" >A file named <span
3005 class="cmtt-10x-x-109">INCOMPAT </span>is included in the distribution. It describes incompatibilities to older versions of
3006 LILO and may also contain further compatibility notes.
3007 </p><!--l. 2478--><p class="noindent" >
3009 <h5 class="subsubsectionHead"><span class="titlemark">5.1.2 </span> <a
3010 id="x1-630005.1.2"></a>Quick installation</h5>
3011 <!--l. 2481--><p class="noindent" >If you want to install LILO on your hard disk and if you don’t want to use all its features, you can use the
3012 quick installation script. Read <span
3013 class="cmtt-10x-x-109">QuickInst </span>for details.
3014 </p><!--l. 2485--><p class="noindent" ><span
3015 class="cmss-10x-x-109">QuickInst </span>can only be used for first-time installations or to entirely replace an existing installation, <span
3016 class="cmbx-10x-x-109">not </span>to
3017 update or modify an existing installation of LILO. Be sure you’ve extracted LILO into a directory that
3018 doesn’t contain any files of other LILO installations.
3019 </p><!--l. 2492--><p class="noindent" >
3021 <h5 class="subsubsectionHead"><span class="titlemark">5.1.3 </span> <a
3022 id="x1-640005.1.3"></a>Files</h5>
3023 <!--l. 2494--><p class="noindent" >Some of the files contained in <span
3024 class="cmtt-10x-x-109">lilo-21.tar.gz</span>:
3025 </p><!--l. 2496--><p class="noindent" >
3027 </p><dl class="description"><dt class="description">
3029 class="cmtt-10x-x-109">lilo/README</span> </dt><dd
3030 class="description"> <br
3031 class="newline" />This documentation in plain ASCII format. Some sections containing complex tables are only
3032 included in the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3033 class="E">E</span>X</span></span> version in <span
3034 class="cmtt-10x-x-109">doc/user.tex</span>
3035 </dd><dt class="description">
3037 class="cmtt-10x-x-109">lilo/INCOMPAT</span> </dt><dd
3038 class="description"> <br
3039 class="newline" />List of incompatibilities to previous versions of LILO.
3040 </dd><dt class="description">
3042 class="cmtt-10x-x-109">lilo/CHANGES</span> </dt><dd
3043 class="description"> <br
3044 class="newline" />Change history.
3045 </dd><dt class="description">
3047 class="cmtt-10x-x-109">lilo/VERSION</span> </dt><dd
3048 class="description"> <br
3049 class="newline" />The version number of the respective release.
3050 </dd><dt class="description">
3052 class="cmtt-10x-x-109">lilo/QuickInst</span> </dt><dd
3053 class="description"> <br
3054 class="newline" />Quick installation script.
3055 </dd><dt class="description">
3057 class="cmtt-10x-x-109">lilo/lilo-</span><span
3058 class="cmti-10x-x-109">version</span><span
3059 class="cmtt-10x-x-109">.lsm</span> </dt><dd
3060 class="description"> <br
3061 class="newline" />The LSM (“<span class="underline">L</span>inux <span class="underline">S</span>oftware <span class="underline">M</span>ap”) entry of the respective LILO release.
3062 </dd><dt class="description">
3064 class="cmtt-10x-x-109">lilo/Makefile</span> </dt><dd
3065 class="description"> <br
3066 class="newline" />Makefile to generate everything else.
3067 </dd><dt class="description">
3069 class="cmtt-10x-x-109">lilo/*.c</span><span
3070 class="cmbx-10x-x-109">, </span><span
3071 class="cmtt-10x-x-109">lilo/*.h</span> </dt><dd
3072 class="description"> <br
3073 class="newline" />LILO map installer C source and common header files.
3074 </dd><dt class="description">
3076 class="cmtt-10x-x-109">lilo/*.S</span> </dt><dd
3077 class="description"> <br
3078 class="newline" />LILO boot loader assembler source.
3079 </dd><dt class="description">
3081 class="cmtt-10x-x-109">lilo/activate.c</span> </dt><dd
3082 class="description"> <br
3083 class="newline" />C source of a simple boot partition setter.
3084 </dd><dt class="description">
3086 class="cmtt-10x-x-109">lilo/dparam.s</span> </dt><dd
3087 class="description"> <br
3088 class="newline" />Assembler source of a disk parameter dumper.
3089 </dd><dt class="description">
3091 class="cmtt-10x-x-109">lilo/mkdist</span> </dt><dd
3092 class="description"> <br
3093 class="newline" />Shell script used to create the current LILO distribution.
3094 </dd><dt class="description">
3096 class="cmtt-10x-x-109">lilo/keytab-lilo.pl</span> </dt><dd
3097 class="description"> <br
3098 class="newline" />Perl script to generate keyboard translation tables.
3099 </dd><dt class="description">
3101 class="cmtt-10x-x-109">lilo/doc/README</span> </dt><dd
3102 class="description"> <br
3103 class="newline" />Description of how to generate the documentation.
3105 </dd><dt class="description">
3107 class="cmtt-10x-x-109">lilo/doc/Makefile</span> </dt><dd
3108 class="description"> <br
3109 class="newline" />Makefile used to convert the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3110 class="E">E</span>X</span></span> source into either DVI output or the plain ASCII
3112 </dd><dt class="description">
3114 class="cmtt-10x-x-109">lilo/doc/user.tex</span> </dt><dd
3115 class="description"> <br
3116 class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3117 class="E">E</span>X</span></span> source of LILO’s user’s guide (this document).
3118 </dd><dt class="description">
3120 class="cmtt-10x-x-109">lilo/doc/tech.tex</span> </dt><dd
3121 class="description"> <br
3122 class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3123 class="E">E</span>X</span></span> source of LILO’s technical overview.
3124 </dd><dt class="description">
3126 class="cmtt-10x-x-109">lilo/doc/*.fig</span> </dt><dd
3127 class="description"> <br
3128 class="newline" />Various <span
3129 class="cmss-10x-x-109">xfig </span>pictures used in the technical overview.
3130 </dd><dt class="description">
3132 class="cmtt-10x-x-109">lilo/doc/fullpage.sty</span> </dt><dd
3133 class="description"> <br
3134 class="newline" />Style file to save a few square miles of forest.
3135 </dd><dt class="description">
3137 class="cmtt-10x-x-109">lilo/doc/rlatex</span> </dt><dd
3138 class="description"> <br
3139 class="newline" />Shell script that invokes <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3140 class="E">E</span>X</span></span> repeatedly until all references have settled.
3141 </dd><dt class="description">
3143 class="cmtt-10x-x-109">lilo/doc/t2a.pl</span> </dt><dd
3144 class="description"> <br
3145 class="newline" /><span
3146 class="cmss-10x-x-109">Perl </span>script to convert the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
3147 class="E">E</span>X</span></span> source of the user’s guide to plain ASCII.</dd></dl>
3148 <!--l. 2547--><p class="noindent" >Files created after <span
3149 class="cmtt-10x-x-109">make </span>in <span
3150 class="cmtt-10x-x-109">lilo/ </span>(among others):
3151 </p><!--l. 2549--><p class="noindent" >
3152 </p><dl class="description"><dt class="description">
3154 class="cmtt-10x-x-109">lilo/boot.b</span> </dt><dd
3155 class="description"> <br
3156 class="newline" />Combined boot sector. <span
3157 class="cmtt-10x-x-109">make install </span>puts this file into <span
3158 class="cmtt-10x-x-109">/boot</span>
3159 </dd><dt class="description">
3161 class="cmtt-10x-x-109">lilo/chain.b</span> </dt><dd
3162 class="description"> <br
3163 class="newline" />Generic chain loader. <span
3164 class="cmtt-10x-x-109">make install </span>puts this file into <span
3165 class="cmtt-10x-x-109">/boot</span>
3166 </dd><dt class="description">
3168 class="cmtt-10x-x-109">lilo/os2</span><span
3169 class="cmtt-10x-x-109">_d.b</span> </dt><dd
3170 class="description"> <br
3171 class="newline" />Chain loader to load <span
3172 class="cmss-10x-x-109">OS/2 </span>from the second hard disk. <span
3173 class="cmtt-10x-x-109">make install </span>puts this file into <span
3174 class="cmtt-10x-x-109">/boot</span>
3175 </dd><dt class="description">
3177 class="cmtt-10x-x-109">lilo/lilo</span> </dt><dd
3178 class="description"> <br
3179 class="newline" />LILO (map) installer. <span
3180 class="cmtt-10x-x-109">make install </span>puts this file into <span
3181 class="cmtt-10x-x-109">/sbin</span>
3182 </dd><dt class="description">
3184 class="cmtt-10x-x-109">lilo/activate</span> </dt><dd
3185 class="description"> <br
3186 class="newline" />Simple boot partition setter.
3187 </dd><dt class="description">
3189 class="cmtt-10x-x-109">lilo/dparam.com</span> </dt><dd
3190 class="description"> <br
3191 class="newline" />MS-DOS executable of the disk parameter dumper.</dd></dl>
3193 <!--l. 2566--><p class="noindent" >
3195 <h5 class="subsubsectionHead"><span class="titlemark">5.1.4 </span> <a
3196 id="x1-650005.1.4"></a>Normal first-time installation</h5>
3197 <!--l. 2569--><p class="noindent" >First, you have to install the LILO files:
3199 <ul class="itemize1">
3200 <li class="itemize">extract all files from <span
3201 class="cmtt-10x-x-109">lilo-</span><span
3202 class="cmti-10x-x-109">version</span><span
3203 class="cmtt-10x-x-109">.tar.gz </span>in a new directory.<span class="footnote-mark"><a
3204 href="user_21-523.html#fn27x0"><sup class="textsuperscript">27</sup></a></span><a
3205 id="x1-65001f27"></a>
3207 <li class="itemize">configure the <span
3208 class="cmtt-10x-x-109">Makefile </span>(see section <a
3209 href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>)
3211 <li class="itemize">run <span
3212 class="cmtt-10x-x-109">make </span>to compile and assemble all parts.
3214 <li class="itemize">run <span
3215 class="cmtt-10x-x-109">make install </span>to copy all LILO files to the directories where they’re installed. <span
3216 class="cmtt-10x-x-109">/sbin</span>
3217 should now contain the file <span
3218 class="cmtt-10x-x-109">lilo</span>, <span
3219 class="cmtt-10x-x-109">/usr/sbin </span>should contain <span
3220 class="cmtt-10x-x-109">keytab-lilo.pl</span>, and <span
3221 class="cmtt-10x-x-109">/boot </span>should
3223 class="cmtt-10x-x-109">boot.b</span>, <span
3224 class="cmtt-10x-x-109">chain.b</span>, and <span
3225 class="cmtt-10x-x-109">os2</span><span
3226 class="cmtt-10x-x-109">_d.b</span>.</li></ul>
3227 <!--l. 2584--><p class="noindent" >If you want to use LILO on a non-standard disk, you might have to determine the parameters of your
3228 disk(s) and specify them in the configuration file. See section <a
3229 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details. If you’re using
3230 such a non-standard system, the next step is to test LILO with the boot sector on a floppy
3233 <ul class="itemize1">
3234 <li class="itemize">insert a blank (but low-level formatted) floppy disk into <span
3235 class="cmtt-10x-x-109">/dev/fd0</span>.
3237 <li class="itemize">run <span
3238 class="cmtt-10x-x-109">echo image=</span><span
3239 class="cmti-10x-x-109">kernel</span><span
3240 class="cmti-10x-x-109">_image</span><span class="obeylines-h"><span class="verb"><span
3241 class="cmtt-10x-x-109"> |</span></span></span><br
3242 class="newline" /><span
3243 class="cmtt-10x-x-109">/sbin/lilo -C - -b /dev/fd0 -v -v -v </span><br
3244 class="newline" />If you’ve already installed LILO on your system, you might not want to overwrite your old
3245 map file. Use the <span
3246 class="cmtt-10x-x-109">-m </span>option to specify an alternate map file name.
3248 <li class="itemize">reboot. LILO should now load its boot loaders from the floppy disk and then continue loading
3249 the kernel from the hard disk.</li></ul>
3250 <!--l. 2602--><p class="noindent" >Now, you have to decide, which boot concept you want to use. Let’s assume you have a Linux partition on
3252 class="cmtt-10x-x-109">/dev/hda2 </span>and you want to install your LILO boot sector there. The DOS-MBR loads the LILO boot
3256 <ul class="itemize1">
3257 <li class="itemize">get a working boot disk, e.g. an install or recovery disk. Verify that you can boot with this
3258 setup and that you can mount your Linux partition(s) with it.
3260 <li class="itemize">if the boot sector you want to overwrite with LILO is of any value (e.g. it’s the MBR or if
3261 it contains a boot loader you might want to use if you encounter problems with LILO), you
3262 should mount your boot disk and make a backup copy of your boot sector to a file on that
3263 floppy, e.g. <span class="obeylines-h"><span class="verb"><span
3264 class="cmtt-10x-x-109">dd</span><span
3265 class="cmtt-10x-x-109"> if=/dev/hda</span><span
3266 class="cmtt-10x-x-109"> of=/fd/boot_sector</span><span
3267 class="cmtt-10x-x-109"> bs=512</span><span
3268 class="cmtt-10x-x-109"> count=1</span></span></span>
3270 <li class="itemize">create the configuration file <span
3271 class="cmtt-10x-x-109">/etc/lilo.conf</span>, e.g. <br
3272 class="newline" /><span
3273 class="cmti-10x-x-109">global settings </span><br
3274 class="newline" /><span
3275 class="cmti-10x-x-109">image specification </span><br
3276 class="newline" /><span class="obeylines-h"><span class="verb"><span
3277 class="cmtt-10x-x-109"> </span><span
3278 class="cmtt-10x-x-109"> </span></span></span><span
3279 class="cmti-10x-x-109">per-image options </span><br
3280 class="newline" /><span
3281 class="cmmi-10x-x-109">…</span> <br
3282 class="newline" />Be sure to use absolute paths for all files. Relative paths may cause unexpected behaviour when
3284 class="cmtt-10x-x-109">-r </span>option.
3286 <li class="itemize">now, you can check what LILO would do if you were about to install it on your hard disk: <br
3287 class="newline" /><span class="obeylines-h"><span class="verb"><span
3288 class="cmtt-10x-x-109">/sbin/lilo</span><span
3289 class="cmtt-10x-x-109"> -v</span><span
3290 class="cmtt-10x-x-109"> -v</span><span
3291 class="cmtt-10x-x-109"> -v</span><span
3292 class="cmtt-10x-x-109"> -t</span></span></span>
3294 <li class="itemize">if you need some additional boot utility (i.e. <span
3295 class="cmss-10x-x-109">BOOTACTV</span>), you should install that now
3297 <li class="itemize">run <span
3298 class="cmtt-10x-x-109">/sbin/lilo </span>to install LILO on your hard disk
3300 <li class="itemize">if you have to change the active partition, use <span
3301 class="cmss-10x-x-109">fdisk </span>or <span
3302 class="cmss-10x-x-109">activate </span>to do that
3304 <li class="itemize">reboot</li></ul>
3305 <!--l. 2634--><p class="noindent" >
3307 <h5 class="subsubsectionHead"><span class="titlemark">5.1.5 </span> <a
3308 id="x1-660005.1.5"></a>Build-time configuration</h5>
3309 <!--l. 2637--><p class="noindent" >Certain build-time parameters can be configured. They can either be edited in the top-level <span
3310 class="cmtt-10x-x-109">Makefile </span>or
3311 they can be stored in a file <span
3312 class="cmtt-10x-x-109">/etc/lilo.defines</span>. Settings in the <span
3313 class="cmtt-10x-x-109">Makefile </span>are ignored if that file
3315 </p><!--l. 2642--><p class="noindent" >The following items can be configured:
3316 </p><dl class="description"><dt class="description">
3318 class="cmtt-10x-x-109">BEEP</span> </dt><dd
3319 class="description">Enables beeping after displaying “LILO”. This is useful on machines which don’t beep at the
3320 right time when booting and when working over a serial console. This option is disabled by
3322 </dd><dt class="description">
3324 class="cmtt-10x-x-109">IGNORECASE</span> </dt><dd
3325 class="description">Makes image name matching case-insensitive, i.e. “linux” and “Linux” are identical.
3327 This option is enabled by default. Note that password matching is always case-sensitive.
3328 </dd><dt class="description">
3330 class="cmtt-10x-x-109">LARGE</span><span
3331 class="cmtt-10x-x-109">_EBDA</span> </dt><dd
3332 class="description">Loads LILO at a lower address in order to leave more space for the EBDA (Extended
3333 BIOS Data Area). This is necessary on some recent MP systems. Note that enabling <span
3334 class="cmtt-10x-x-109">LARGE</span><span
3335 class="cmtt-10x-x-109">_EBDA</span>
3336 reduces the maximum size of “small” images (e.g. “Image” or “zImage”).
3337 </dd><dt class="description">
3339 class="cmtt-10x-x-109">NO1STDIAG</span> </dt><dd
3340 class="description">Do not generate diagnostics on read errors in the first stage boot loader. This avoids
3341 possibly irritating error codes if the disk controller has transient read problems. This option is
3342 disabled by default.
3343 </dd><dt class="description">
3345 class="cmtt-10x-x-109">NODRAIN</span> </dt><dd
3346 class="description">The boot loader empties the keyboard buffer when starting, because it may contain garbage
3347 on some systems. Draining the keyboard buffer can be disabled by setting the <span
3348 class="cmtt-10x-x-109">NODRAIN </span>option.
3350 class="cmtt-10x-x-109">NODRAIN </span>is disabled by default.
3351 </dd><dt class="description">
3353 class="cmtt-10x-x-109">NOINSTDEF</span> </dt><dd
3354 class="description">If the option <span
3355 class="cmtt-10x-x-109">install </span>is omitted, don’t install a new boot sector, but try to modify the
3356 old boot sector instead. This option is disabled by default.
3357 </dd><dt class="description">
3359 class="cmtt-10x-x-109">ONE</span><span
3360 class="cmtt-10x-x-109">_SHOT</span> </dt><dd
3361 class="description">Disables the command-line timeout (configuration variable <span
3362 class="cmtt-10x-x-109">timeout</span>) if any key is pressed.
3363 This way, very short timeouts can be used if <span
3364 class="cmtt-10x-x-109">prompt </span>is set. <span
3365 class="cmtt-10x-x-109">ONE</span><span
3366 class="cmtt-10x-x-109">_SHOT </span>is disabled by default.
3367 </dd><dt class="description">
3369 class="cmtt-10x-x-109">READONLY</span> </dt><dd
3370 class="description">Disallows overwriting the default command line sector of the map file. This way, command
3371 lines set with <span
3372 class="cmtt-10x-x-109">-R </span>stay in effect until they are explicitly removed. <span
3373 class="cmtt-10x-x-109">READONLY </span>also disables <span
3374 class="cmtt-10x-x-109">lock</span>,
3376 class="cmtt-10x-x-109">fallback</span>, and everything enabled by <span
3377 class="cmtt-10x-x-109">REWRITE</span><span
3378 class="cmtt-10x-x-109">_TABLE</span>. This option is disabled by default.
3379 </dd><dt class="description">
3381 class="cmtt-10x-x-109">REWRITE</span><span
3382 class="cmtt-10x-x-109">_TABLE</span> </dt><dd
3383 class="description">Enables rewriting the partition table at boot time. This may be necessary to boot
3384 certain operating systems who expect the active flag to be set on their partition or who need
3385 changes in partition types. See also section <a
3386 href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>. This option is <span
3387 class="cmbx-10x-x-109">dangerous </span>and it is disabled by
3389 </dd><dt class="description">
3391 class="cmtt-10x-x-109">USE</span><span
3392 class="cmtt-10x-x-109">_TMPDIR</span> </dt><dd
3393 class="description">Use the directory indicated in the <span
3394 class="cmtt-10x-x-109">TMPDIR </span>environment variable when creating temporary
3395 device files. If <span
3396 class="cmtt-10x-x-109">TMPDIR </span>is not set or if LILO is compiled without <span
3397 class="cmtt-10x-x-109">USE</span><span
3398 class="cmtt-10x-x-109">_TMPDIR</span>, temporary device
3399 files are created in <span
3400 class="cmtt-10x-x-109">/tmp</span>.<span class="footnote-mark"><a
3401 href="user_21-524.html#fn28x0"><sup class="textsuperscript">28</sup></a></span><a
3402 id="x1-66001f28"></a>
3403 This option is disabled by default.
3404 </dd><dt class="description">
3406 class="cmtt-10x-x-109">VARSETUP</span> </dt><dd
3407 class="description">Enables the use of variable-size setup segments. This option is enabled by default and is
3408 only provided to fall back to fixed-size setup segments in the unlikely case of problems when
3409 using prehistoric kernels.
3410 </dd><dt class="description">
3412 class="cmtt-10x-x-109">XL</span><span
3413 class="cmtt-10x-x-109">_SECS=</span><span
3414 class="cmti-10x-x-109">sectors</span> </dt><dd
3415 class="description">Enable support for extra large (non-standard) floppy disks. The number of sectors
3416 is set in the BIOS disk parameter table to the specified value. Note that this hack may yield
3417 incorrect behaviour on some systems. This option is disabled by default.</dd></dl>
3419 <!--l. 2701--><p class="noindent" ><span
3420 class="cmtt-10x-x-109">/etc/lilo.defines </span>should be used if one wishes to make permanent configuration changes. The usual
3421 installation procedures don’t touch that file. Example:
3424 <div class="verbatim" id="verbatim-20">
3425 -DIGNORECASE -DONE_SHOT</div>
3426 <!--l. 2707--><p class="nopar" >
3427 </p><!--l. 2709--><p class="noindent" >After changing the build-time configuration, LILO has to be recompiled with the following
3431 <div class="verbatim" id="verbatim-21">
3432 make spotless
3433  <br />make</div>
3434 <!--l. 2715--><p class="nopar" >
3435 </p><!--l. 2718--><p class="noindent" >
3437 <h5 class="subsubsectionHead"><span class="titlemark">5.1.6 </span> <a
3438 id="x1-670005.1.6"></a>Floppy disk installation</h5>
3439 <!--l. 2720--><p class="noindent" >In some cases<span class="footnote-mark"><a
3440 href="user_21-525.html#fn29x0"><sup class="textsuperscript">29</sup></a></span><a
3441 id="x1-67001f29"></a>,
3442 it may be desirable to install LILO on a floppy disk in a way that it can boot a kernel without accessing the
3444 </p><!--l. 2724--><p class="noindent" >The basic procedure is quite straightforward (see also section <a
3445 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>): </p>
3446 <ul class="itemize1">
3447 <li class="itemize">a file system has to be created on the file system
3449 <li class="itemize">the kernel and <span
3450 class="cmtt-10x-x-109">boot.b </span>have to be copied to the floppy disk
3452 <li class="itemize"><span
3453 class="cmtt-10x-x-109">/sbin/lilo </span>has to be run to create the map file</li></ul>
3454 <!--l. 2731--><p class="noindent" >This can be as easy as
3457 <div class="verbatim" id="verbatim-22">
3458 /sbin/mke2fs /dev/fd0
3459  <br />[ -d /fd ] || mkdir /fd
3460  <br />mount /dev/fd0 /fd
3461  <br />cp /boot/boot.b /fd
3462  <br />cp /zImage /fd
3463  <br />echo image=/fd/zImage label=linux |
3464  <br />  /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c -m /fd/map
3465  <br />umount /fd</div>
3466 <!--l. 2741--><p class="nopar" >
3467 </p><!--l. 2743--><p class="noindent" >The command line of <span
3468 class="cmtt-10x-x-109">/sbin/lilo </span>is a little tricky. <span
3469 class="cmtt-10x-x-109">-C - </span>takes the configuration from standard input
3470 (naturally, one could also write the configuration into a file), <span
3471 class="cmtt-10x-x-109">-b /dev/fd0 </span>specifies that the boot
3472 sector is written to the floppy disk, <span
3473 class="cmtt-10x-x-109">-i /fd/boot.b </span>takes the first and second stage loaders from
3475 class="cmtt-10x-x-109">-c </span>speeds up the load process, and <span
3476 class="cmtt-10x-x-109">-m /fd/map </span>puts the map file on the floppy
3479 <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
3480 id="x1-680005.2"></a>Updates</h4>
3481 <!--l. 2753--><p class="noindent" >LILO is affected by updates of kernels, the whole system and (trivially) of LILO itself. Typically, only
3483 class="cmtt-10x-x-109">/sbin/lilo </span>has to be run after any of those updates and everything will be well again (at least as far as
3484 LILO is concerned).
3485 </p><!--l. 2759--><p class="noindent" >
3487 <h5 class="subsubsectionHead"><span class="titlemark">5.2.1 </span> <a
3488 id="x1-690005.2.1"></a>LILO update</h5>
3489 <!--l. 2762--><p class="noindent" >Before updating to a new version of LILO, you should read at least the file <span
3490 class="cmtt-10x-x-109">INCOMPAT </span>which describes
3491 incompatibilities with previous releases.
3492 </p><!--l. 2766--><p class="noindent" >After that, the initial steps are the same as for a first time installation: extract all files, configure the
3494 class="cmtt-10x-x-109">Makefile</span>, run <span
3495 class="cmtt-10x-x-109">make </span>to build the executables and run <span
3496 class="cmtt-10x-x-109">make install </span>to install the files.
3497 </p><!--l. 2771--><p class="noindent" >The old versions of <span
3498 class="cmtt-10x-x-109">boot.b</span>, <span
3499 class="cmtt-10x-x-109">chain.b</span>, etc. are automatically renamed to <span
3500 class="cmtt-10x-x-109">boot.old</span>, <span
3501 class="cmtt-10x-x-109">chain.old</span>, etc. This is
3502 done to ensure that you can boot even if the installation procedure does not finish. <span
3503 class="cmtt-10x-x-109">boot.old</span>, <span
3504 class="cmtt-10x-x-109">chain.old</span>,
3505 etc. can be deleted after the map file is rebuilt.
3506 </p><!--l. 2777--><p class="noindent" >Because the locations of <span
3507 class="cmtt-10x-x-109">boot.b</span>, <span
3508 class="cmtt-10x-x-109">chain.b</span>, etc. have changed and because the map file format may be
3509 different too, you have to update the boot sector and the map file. Run <span
3510 class="cmtt-10x-x-109">/sbin/lilo </span>to do
3513 </p><!--l. 2782--><p class="noindent" >
3515 <h5 class="subsubsectionHead"><span class="titlemark">5.2.2 </span> <a
3516 id="x1-700005.2.2"></a>Kernel update</h5>
3517 <!--l. 2785--><p class="noindent" >Whenever any of the kernel files that are accessed by LILO is moved or overwritten, the map has to be
3518 re-built.<span class="footnote-mark"><a
3519 href="user_21-526.html#fn30x0"><sup class="textsuperscript">30</sup></a></span><a
3520 id="x1-70001f30"></a>
3522 class="cmtt-10x-x-109">/sbin/lilo </span>to do this.
3523 </p><!--l. 2791--><p class="noindent" >The kernel has a make target “zlilo” that copies the kernel to <span
3524 class="cmtt-10x-x-109">/vmlinuz </span>and runs <span
3525 class="cmtt-10x-x-109">/sbin/lilo</span>.
3527 <h5 class="subsubsectionHead"><span class="titlemark">5.2.3 </span> <a
3528 id="x1-710005.2.3"></a>System upgrade</h5>
3529 <!--l. 2797--><p class="noindent" >Normally, system upgrades (i.e. installation or removal of packages, possibly replacement of a large part of
3530 the installed binaries) do not affect LILO. Of course, if a new kernel is installed in the process, the normal
3531 kernel update procedure has to be followed (see section <a
3532 href="#x1-700005.2.2">5.2.2<!--tex4ht:ref: kernupd --></a>). Also, if kernels are removed or added, it may
3533 be necessary to update the configuration file.
3534 </p><!--l. 2804--><p class="noindent" >If LILO is updated by this system upgrade, <span
3535 class="cmtt-10x-x-109">/sbin/lilo </span>should be run before booting the upgraded system.
3536 It is generally a good idea not to rely on the upgrade procedure to perform this essential step
3538 </p><!--l. 2808--><p class="noindent" >However, system upgrades which involve removal and re-creation of entire partitions (e.g. <span
3539 class="cmtt-10x-x-109">/</span>, <span
3540 class="cmtt-10x-x-109">/usr</span>, etc.) are
3541 different. First, they should be avoided, because they bear a high risk of losing other critical files, e.g. the
3543 class="cmtt-10x-x-109">/etc/XF86Config </span>you’ve spent the last week fiddling with. If an upgrade really has to be performed in such
3544 a brute-force way, this is equal with total removal of LILO, followed by a new installation. Therefore, the
3545 procedures described in the sections <a
3546 href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> and <a
3547 href="#x1-690005.2.1">5.2.1<!--tex4ht:ref: liloupd --></a> have to be performed. If you’ve forgotten to make a
3548 backup copy of <span
3549 class="cmtt-10x-x-109">/etc/lilo.conf </span>before the destructive upgrade, you might also have to go through section
3551 href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a> again.
3552 </p><!--l. 2820--><p class="noindent" >
3554 <h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
3555 id="x1-720005.3"></a>LILO de-installation</h4>
3556 <!--l. 2823--><p class="noindent" >In order to stop LILO from being invoked when the system boots, its boot sector has to be either removed
3557 or disabled. All other files belonging to LILO can be deleted <span
3558 class="cmbx-10x-x-109">after </span>removing the boot sector, if
3560 desired.<span class="footnote-mark"><a
3561 href="user_21-527.html#fn31x0"><sup class="textsuperscript">31</sup></a></span><a
3562 id="x1-72001f31"></a>
3563 </p><!--l. 2830--><p class="noindent" >Again, <span
3564 class="cmbx-10x-x-109">when removing Linux, LILO</span><span
3565 class="cmbx-10x-x-109"> must be de-installed before (!) its files (</span><span
3566 class="cmtt-10x-x-109">/boot</span><span
3567 class="cmbx-10x-x-109">, etc.) are</span>
3569 class="cmbx-10x-x-109">deleted. </span>This is especially important if LILO is operating as the MBR.
3570 </p><!--l. 2834--><p class="noindent" >LILO 14 (and newer) can be de-installed with <span class="obeylines-h"><span class="verb"><span
3571 class="cmtt-10x-x-109">lilo</span><span
3572 class="cmtt-10x-x-109"> -u</span></span></span>. If LILO 14 or newer is currently installed, but the
3573 first version of LILO installed was older than 14, <span class="obeylines-h"><span class="verb"><span
3574 class="cmtt-10x-x-109">lilo</span><span
3575 class="cmtt-10x-x-109"> -U</span></span></span> may work. When using <span class="obeylines-h"><span class="verb"><span
3576 class="cmtt-10x-x-109">-U</span></span></span>, the warning at the
3577 end of this section applies.
3578 </p><!--l. 2839--><p class="noindent" >If LILO’s boot sector has been installed on a primary partition and is booted by the “standard” MBR or
3579 some partition switcher program, it can be disabled by making a different partition active. MS-DOS’
3581 class="cmss-10x-x-109">fdisk </span>or LILO’s <span
3582 class="cmss-10x-x-109">activate </span>can do that.
3583 </p><!--l. 2844--><p class="noindent" >If LILO’s boot sector is the master boot record (MBR) of a disk, it has to be replaced with a different
3584 MBR, typically MS-DOS’ “standard” MBR. When using MS-DOS 5.0 or above, the MS-DOS
3585 MBR can be restored with <span class="obeylines-h"><span class="verb"><span
3586 class="cmtt-10x-x-109">FDISK</span><span
3587 class="cmtt-10x-x-109"> /MBR</span></span></span>. This only alters the boot loader code, not the partition
3589 </p><!--l. 2850--><p class="noindent" >LILO automatically makes backup copies when it overwrites boot sectors. They are named
3591 class="newline" /><span
3592 class="cmtt-10x-x-109">/boot/boot.</span><span
3593 class="cmti-10x-x-109">nnnn</span>, with <span
3594 class="cmti-10x-x-109">nnnn </span>corresponding to the device number, e.g. <span
3595 class="cmtt-10x-x-109">0300 </span>is <span
3596 class="cmtt-10x-x-109">/dev/hda</span>, <span
3597 class="cmtt-10x-x-109">0800 </span>is
3599 class="cmtt-10x-x-109">/dev/sda</span>, etc. Those backups can be used to restore the old MBR if no easier method is available. The
3601 class="newline" /><span
3602 class="cmtt-10x-x-109">dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1 </span>or <br
3603 class="newline" /><span
3604 class="cmtt-10x-x-109">dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1 </span><br
3605 class="newline" />respectively.
3606 </p><!--l. 2860--><p class="noindent" ><span
3607 class="cmbx-10x-x-109">WARNING: </span>Some Linux distributions install <span
3608 class="cmtt-10x-x-109">boot.</span><span
3609 class="cmti-10x-x-109">nnnn </span>files from the system where the distribution was
3610 created. Using those files may yield unpredictable results. Therefore, the file creation date should be
3613 <h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
3614 id="x1-730005.4"></a>Installation of other operating systems</h4>
3615 <!--l. 2870--><p class="noindent" >Some other operating systems (e.g. MS-DOS 6.0) appear to modify the MBR in their install procedures. It
3616 is therefore possible that LILO will stop to work after such an installation and Linux has to be
3617 booted from floppy disk. The original state can be restored by either re-running <span
3618 class="cmtt-10x-x-109">/sbin/lilo </span>(if
3619 LILO is installed as the MBR) or by making LILO’s partition active (if it’s installed on a primary
3621 </p><!--l. 2877--><p class="noindent" >It is generally a good idea to install LILO after the other operating systems have been installed. E.g. OS/2
3622 is said to cause trouble when attempting to add it to an existing Linux system. (However, booting from
3623 floppy and running <span
3624 class="cmtt-10x-x-109">/sbin/lilo </span>should get around most interferences.)
3625 </p><!--l. 2883--><p class="noindent" >Typically, the new operating system then has to be added to LILO’s configuration (and <span
3626 class="cmtt-10x-x-109">/sbin/lilo </span>has to
3627 be re-run) in order to boot it.
3629 </p><!--l. 2887--><p class="noindent" >See also section <a
3630 href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a list of known problems with some other operating systems.
3631 </p><!--l. 2891--><p class="noindent" >
3634 <h3 class="sectionHead"><span class="titlemark">6 </span> <a
3635 id="x1-740006"></a>Troubleshooting</h3>
3636 <!--l. 2894--><p class="noindent" >All parts of LILO display some messages that can be used to diagnose problems.
3637 </p><!--l. 2898--><p class="noindent" >
3639 <h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a
3640 id="x1-750006.1"></a>Map installer warnings and errors</h4>
3641 <!--l. 2900--><p class="noindent" >Most messages of the map installer (<span
3642 class="cmtt-10x-x-109">/sbin/lilo</span>) should be self-explanatory. Some messages that indicate
3643 common errors are listed below. They are grouped into fatal errors and warnings (non-fatal
3645 </p><!--l. 2906--><p class="noindent" >
3647 <h5 class="subsubsectionHead"><span class="titlemark">6.1.1 </span> <a
3648 id="x1-760006.1.1"></a>Fatal errors</h5>
3649 <!--l. 2908--><p class="noindent" >
3650 </p><dl class="description"><dt class="description">
3652 class="cmtt-10x-x-109">Boot sector of </span><span
3653 class="cmti-10x-x-109">device</span><span
3654 class="cmti-10x-x-109">_name </span><span
3655 class="cmtt-10x-x-109">doesn’t have a boot signature</span> </dt><dd
3656 class="description">
3657 </dd><dt class="description">
3659 class="cmtt-10x-x-109">Boot sector of </span><span
3660 class="cmti-10x-x-109">device</span><span
3661 class="cmti-10x-x-109">_name </span><span
3662 class="cmtt-10x-x-109">doesn’t have a LILO signature</span> </dt><dd
3663 class="description"> <br
3664 class="newline" />The sector from which LILO should be uninstalled doesn’t appear to be a LILO boot sector.
3665 </dd><dt class="description">
3667 class="cmtt-10x-x-109">Can’t put the boot sector on logical partition </span><span
3668 class="cmti-10x-x-109">number</span> </dt><dd
3669 class="description"> <br
3670 class="newline" />An attempt has been made to put LILO’s boot sector on the current root file system partition
3671 which is on a logical partition. This usually doesn’t have the desired effect, because common
3672 MBRs can only boot primary partitions. This check can be bypassed by explicitly specifying
3673 the boot partition with the <span
3674 class="cmtt-10x-x-109">-b </span>option or by setting the configuration variable <span
3675 class="cmtt-10x-x-109">boot</span>.
3676 </dd><dt class="description">
3678 class="cmtt-10x-x-109">Checksum error</span> </dt><dd
3679 class="description"> <br
3680 class="newline" />The descriptor table of the map file has an invalid checksum. Refresh the map file <span
3681 class="cmbx-10x-x-109">immediately</span>
3683 </dd><dt class="description">
3685 class="cmtt-10x-x-109">Device 0x</span><span
3686 class="cmti-10x-x-109">number</span><span
3687 class="cmtt-10x-x-109">: Configured as inaccessible.</span> </dt><dd
3688 class="description"> <br
3689 class="newline" />There is a <span
3690 class="cmtt-10x-x-109">disk </span>section entry indicating that the device is inaccessible from the BIOS. You
3691 should check carefully that all files LILO tries to access when booting are on the right device.
3692 </dd><dt class="description">
3694 class="cmtt-10x-x-109">Device 0x</span><span
3695 class="cmti-10x-x-109">number</span><span
3696 class="cmtt-10x-x-109">: Got bad geometry </span><span
3697 class="cmti-10x-x-109">sec</span><span
3698 class="cmtt-10x-x-109">/</span><span
3699 class="cmti-10x-x-109">hd</span><span
3700 class="cmtt-10x-x-109">/</span><span
3701 class="cmti-10x-x-109">cyl</span> </dt><dd
3702 class="description"> <br
3703 class="newline" />The device driver for your SCSI controller does not support geometry detection. You have to
3704 specify the geometry explicitly (see section <a
3705 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
3707 </dd><dt class="description">
3709 class="cmtt-10x-x-109">Device 0x</span><span
3710 class="cmti-10x-x-109">number</span><span
3711 class="cmtt-10x-x-109">: Invalid partition table, entry </span><span
3712 class="cmti-10x-x-109">number</span> </dt><dd
3713 class="description"> <br
3714 class="newline" />The 3D and linear addresses of the first sector of the specified partition don’t correspond. This
3715 is typically caused by partitioning a disk with a program that doesn’t align partitions to tracks
3716 and later using PC/MS-DOS or OS/2 on that disk. LILO can attempt to correct the problem,
3717 see page <span class="pageref"><a
3718 href="#x1-430004.2.2"><span
3719 class="tcrm-1095">§</span></a></span>.
3720 </dd><dt class="description">
3722 class="cmtt-10x-x-109">Device 0x</span><span
3723 class="cmti-10x-x-109">number</span><span
3724 class="cmtt-10x-x-109">: Partition type 0x</span><span
3725 class="cmti-10x-x-109">number</span> </dt><dd
3726 class="description"> <br
3727 class="newline" /><span
3728 class="cmtt-10x-x-109">does not seem suitable for a LILO boot sector</span> <br
3729 class="newline" />The location where the LILO boot sector should be placed does not seem to be suitable for
3730 that. (See also also section <a
3731 href="#x1-60002.1">2.1<!--tex4ht:ref: diskorg --></a>). You should either adjust the partition type to reflect the actual
3732 use or put the boot sector on a different partition. This consistency check only yields a warning
3733 (i.e. LILO continues) if the option <span
3734 class="cmtt-10x-x-109">ignore-table </span>is set.
3735 </dd><dt class="description">
3737 class="cmti-10x-x-109">device</span><span
3738 class="cmti-10x-x-109">_name </span><span
3739 class="cmtt-10x-x-109">is not a valid partition device</span> </dt><dd
3740 class="description"> <br
3741 class="newline" />The specified device is either not a device at all, a whole disk, or a partition on a different disk
3742 than the one in whose section its entry appears.
3743 </dd><dt class="description">
3745 class="cmti-10x-x-109">device</span><span
3746 class="cmti-10x-x-109">_name </span><span
3747 class="cmtt-10x-x-109">is not a whole disk device</span> </dt><dd
3748 class="description"> <br
3749 class="newline" />Only the geometry of whole disks (e.g. <span
3750 class="cmtt-10x-x-109">/dev/hda</span>, <span
3751 class="cmtt-10x-x-109">/dev/sdb</span>, etc.) can be redefined when using
3753 class="cmtt-10x-x-109">disk </span>sections.
3754 </dd><dt class="description">
3756 class="cmtt-10x-x-109">DISKTAB and DISK are mutually exclusive</span> </dt><dd
3757 class="description"> <br
3758 class="newline" />You cannot use a <span
3759 class="cmtt-10x-x-109">disktab </span>file and disk geometry definitions in the configuration file at
3760 the same time. Maybe <span
3761 class="cmtt-10x-x-109">/etc/disktab </span>was accidentally used, because that’s the default for
3762 backward-compatibility. You should delete <span
3763 class="cmtt-10x-x-109">/etc/disktab </span>after completing the transition to
3765 class="cmtt-10x-x-109">disk </span>sections.
3766 </dd><dt class="description">
3768 class="cmtt-10x-x-109">Duplicate entry in partition table</span> </dt><dd
3769 class="description"> <br
3770 class="newline" />A partition table entry appears twice. The partition table has to be fixed with <span
3771 class="cmss-10x-x-109">fdisk</span>.
3772 </dd><dt class="description">
3774 class="cmtt-10x-x-109">Duplicate geometry definition for </span><span
3775 class="cmti-10x-x-109">device</span><span
3776 class="cmti-10x-x-109">_name</span> </dt><dd
3777 class="description"> <br
3778 class="newline" />A disk or partition geometry definition entry for the same device appears twice in the
3779 configuration file. Note that you mustn’t write a partition section for the whole disk — its start
3780 sector is always the first sector of the disk.
3781 </dd><dt class="description">
3783 class="cmtt-10x-x-109">First sector of </span><span
3784 class="cmti-10x-x-109">device </span><span
3785 class="cmtt-10x-x-109">doesn’t have a valid boot signature</span> </dt><dd
3786 class="description"> <br
3787 class="newline" />The first sector of the specified device does not appear to be a valid boot sector. You might have
3788 confused the device name.<span class="footnote-mark"><a
3789 href="user_21-528.html#fn32x0"><sup class="textsuperscript">32</sup></a></span><a
3790 id="x1-76001f32"></a>
3791 </dd><dt class="description">
3793 class="cmtt-10x-x-109">geo</span><span
3794 class="cmtt-10x-x-109">_comp</span><span
3795 class="cmtt-10x-x-109">_addr: Cylinder </span><span
3796 class="cmti-10x-x-109">number </span><span
3797 class="cmtt-10x-x-109">beyond end of media (</span><span
3798 class="cmti-10x-x-109">number</span><span
3799 class="cmtt-10x-x-109">)</span> </dt><dd
3800 class="description"> <br
3801 class="newline" />A file block appears to be located beyond the last cylinder of the disk. This probably indicates
3803 an error in the disk geometry specification (see section <a
3804 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>) or a file system corruption.
3805 </dd><dt class="description">
3807 class="cmtt-10x-x-109">geo</span><span
3808 class="cmtt-10x-x-109">_comp</span><span
3809 class="cmtt-10x-x-109">_addr: Cylinder number is too big (</span><span
3810 class="cmti-10x-x-109">number </span><span
3811 class="cmmi-10x-x-109">> </span><span
3812 class="cmtt-10x-x-109">1023)</span> </dt><dd
3813 class="description"> <br
3814 class="newline" />Blocks of a file are located beyond the 1024th cylinder of a hard disk. LILO can’t access such
3815 files, because the BIOS limits cylinder numbers to the range 0<span
3816 class="cmmi-10x-x-109">…</span>1023. Try moving the file to a
3817 different place, preferably a partition that is entirely within the first 1024 cylinders of the disk.
3818 </dd><dt class="description">
3820 class="cmtt-10x-x-109">Hole found in map file (</span><span
3821 class="cmti-10x-x-109">location</span><span
3822 class="cmtt-10x-x-109">)</span> </dt><dd
3823 class="description"> <br
3824 class="newline" />The map installer is confused about the disk organization. Please report this error.
3825 </dd><dt class="description">
3827 class="cmti-10x-x-109">item </span><span
3828 class="cmtt-10x-x-109">doesn’t have a valid LILO signature</span> </dt><dd
3829 class="description"> <br
3830 class="newline" />The specified item has been located, but is not part of LILO.
3831 </dd><dt class="description">
3833 class="cmti-10x-x-109">item </span><span
3834 class="cmtt-10x-x-109">has an invalid stage code (</span><span
3835 class="cmti-10x-x-109">number</span><span
3836 class="cmtt-10x-x-109">)</span> </dt><dd
3837 class="description"> <br
3838 class="newline" />The specified item has probably been corrupted. Try re-building LILO.
3839 </dd><dt class="description">
3841 class="cmti-10x-x-109">item </span><span
3842 class="cmtt-10x-x-109">is version </span><span
3843 class="cmti-10x-x-109">number</span><span
3844 class="cmtt-10x-x-109">. Expecting version</span><span
3845 class="cmti-10x-x-109">number</span><span
3846 class="cmtt-10x-x-109">.</span> </dt><dd
3847 class="description"> <br
3848 class="newline" />The specified entity is either too old or too new. Make sure all parts of LILO (map installer,
3849 boot loaders and chain loaders) are from the same distribution. <span class="footnote-mark"><a
3850 href="#fn33x0"><sup class="textsuperscript">33</sup></a></span><a
3851 id="x1-76002f33"></a>
3852 </dd><dt class="description">
3854 class="cmtt-10x-x-109">Kernel </span><span
3855 class="cmti-10x-x-109">name </span><span
3856 class="cmtt-10x-x-109">is too big</span> </dt><dd
3857 class="description"> <br
3858 class="newline" />The kernel image (without the setup code) is bigger than 512 kbytes (or 448 kbytes, if built with
3860 class="cmtt-10x-x-109">LARGE</span><span
3861 class="cmtt-10x-x-109">_EBDA</span>). LILO would overwrite itself when trying to load such a kernel. This limitation
3862 only applies to old kernels which are loaded below 0x10000 (e.g. “Image” or “zImage”). Try
3863 building the kernel with “bzImage”. If this is undesirable for some reason, try removing some
3864 unused drivers and compiling the kernel again. This error may also occur if the kernel image is
3865 damaged or if it contains trailing “junk”, e.g. as the result of copying an entire boot floppy to
3867 </dd><dt class="description">
3869 class="cmtt-10x-x-109">LOCK and FALLBACK are mutually exclusive</span> </dt><dd
3870 class="description"> <br
3871 class="newline" />Since <span
3872 class="cmtt-10x-x-109">lock </span>and <span
3873 class="cmtt-10x-x-109">fallback </span>both change the default command line, they can’t be reasonably used
3875 </dd><dt class="description">
3877 class="cmtt-10x-x-109">Map </span><span
3878 class="cmti-10x-x-109">path </span><span
3879 class="cmtt-10x-x-109">is not a regular file.</span> </dt><dd
3880 class="description"> <br
3881 class="newline" />This is probably the result of an attempt to omit writing a map file, e.g. with <span
3882 class="cmtt-10x-x-109">-m /dev/null</span>.
3884 class="cmtt-10x-x-109">-t </span>option should be used to accomplish this.
3885 </dd><dt class="description">
3887 class="cmtt-10x-x-109">Must specify SECTORS and HEADS together</span> </dt><dd
3888 class="description"> <br
3889 class="newline" />It is assumed that disks with a “strange” number of sectors will also have a “strange” number
3890 of heads. Therefore, it’s all or nothing.
3891 </dd><dt class="description">
3893 class="cmtt-10x-x-109">No geometry variables allowed if INACCESSIBLE</span> </dt><dd
3894 class="description"> <br
3895 class="newline" />If a device is configured as <span
3896 class="cmtt-10x-x-109">inaccessible </span>(see section <a
3897 href="#x1-520004.4.2">4.4.2<!--tex4ht:ref: diskspec --></a>), its <span
3898 class="cmtt-10x-x-109">disk </span>section must not contain
3899 any geometry variables.
3900 </dd><dt class="description">
3902 class="cmtt-10x-x-109">No image </span><span
3903 class="cmti-10x-x-109">image </span><span
3904 class="cmtt-10x-x-109">is defined</span> </dt><dd
3905 class="description"> <br
3906 class="newline" />The command line specified either with the <span
3907 class="cmtt-10x-x-109">-R </span>option or with <span
3908 class="cmtt-10x-x-109">fallback </span>does not contain the
3909 name of a valid image. Note that optional images which have not been included in the map file
3910 are not considered as valid.
3911 </dd><dt class="description">
3913 class="cmtt-10x-x-109">Partition entry not found</span> </dt><dd
3914 class="description"> <br
3915 class="newline" />The partition from which an other operating system should be booted isn’t listed in the specified
3916 partition table. This either means that an incorrect partition table has been specified or that
3917 you’re trying to boot from a logical partition. The latter usually doesn’t work. You can bypass
3918 this check by omitting the partition table specification (e.g. omitting the variable <span
3919 class="cmtt-10x-x-109">table</span>).
3920 </dd><dt class="description">
3922 class="cmtt-10x-x-109">Single-key clash: "</span><span
3923 class="cmti-10x-x-109">name</span><span
3924 class="cmtt-10x-x-109">" vs. "</span><span
3925 class="cmti-10x-x-109">name</span><span
3926 class="cmtt-10x-x-109">"</span> </dt><dd
3927 class="description"> <br
3928 class="newline" />The specified image labels or aliases conflict because one of them is a single character and has
3930 class="cmtt-10x-x-109">single-key </span>option set, and the other name begins with that character.
3931 </dd><dt class="description">
3933 class="cmtt-10x-x-109">Sorry, don’t know how to handle device </span><span
3934 class="cmti-10x-x-109">number</span> </dt><dd
3935 class="description"> <br
3936 class="newline" />LILO uses files that are located on a device for which there is no easy way to determine the
3937 disk geometry. Such devices have to be explicitly described, see section <a
3938 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.
3939 </dd><dt class="description">
3941 class="cmtt-10x-x-109">This LILO is compiled READONLY and doesn’t support</span> <span
3942 class="cmmi-10x-x-109">…</span> </dt><dd
3943 class="description"> <br
3944 class="newline" />If LILO is not allowed to write to the disk at boot time (see section <a
3945 href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>), options like <span
3946 class="cmtt-10x-x-109">lock</span>
3948 class="cmtt-10x-x-109">fallback </span>are unavailable.
3949 </dd><dt class="description">
3951 class="cmtt-10x-x-109">This LILO is compiled without REWRITE</span><span
3952 class="cmtt-10x-x-109">_TABLE and doesn’t support</span> <span
3953 class="cmmi-10x-x-109">…</span> </dt><dd
3954 class="description"> <br
3955 class="newline" />If LILO is not allowed to rewrite partition tables at boot time (see section <a
3956 href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>), options like
3958 class="cmtt-10x-x-109">activate </span>and <span
3959 class="cmtt-10x-x-109">set </span>(in a <span
3960 class="cmtt-10x-x-109">change </span>section) are unavailable. You may also get this error if LILO is
3962 class="cmtt-10x-x-109">READONLY </span>enabled.
3963 </dd><dt class="description">
3965 class="cmtt-10x-x-109">Timestamp in boot sector of </span><span
3966 class="cmti-10x-x-109">device </span><span
3967 class="cmtt-10x-x-109">differs from date of </span><span
3968 class="cmti-10x-x-109">file</span> </dt><dd
3969 class="description"> <br
3970 class="newline" />The backup copy of the boot sector does not appear to be an ancestor of the current boot
3971 sector. If you are absolutely sure that the boot sector is indeed correct, you can bypass this
3972 check by using <span
3973 class="cmtt-10x-x-109">-U </span>instead of <span
3974 class="cmtt-10x-x-109">-u</span>.
3975 </dd><dt class="description">
3977 class="cmtt-10x-x-109">Trying to map files from unnamed device 0x</span><span
3978 class="cmti-10x-x-109">number </span><span
3979 class="cmtt-10x-x-109">(NFS ?)</span> </dt><dd
3980 class="description"> <br
3981 class="newline" />This is probably the same problem as described below, only with the root file system residing
3983 </dd><dt class="description">
3985 class="cmtt-10x-x-109">Trying to map files from your RAM disk.</span> </dt><dd
3986 class="description"> <br
3987 class="newline" /><span
3988 class="cmtt-10x-x-109">Please check -r option or ROOT environment variable.</span> <br
3989 class="newline" />Most likely, you or some installation script is trying to invoke LILO in a way that some of the
3990 files is has to access reside on the RAM disk. Normally, the <span
3991 class="cmtt-10x-x-109">ROOT </span>environment variable should
3992 be set to the mount point of the effective root device if installing LILO with a different root
3994 directory. See also sections <a
3995 href="#x1-350004.1.2">4.1.2<!--tex4ht:ref: creupd --></a> and <a
3996 href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a>.
3997 </dd><dt class="description">
3999 class="cmtt-10x-x-109">VGA mode presetting is not supported by your kernel.</span> </dt><dd
4000 class="description"> <br
4001 class="newline" />Your kernel sources appear to be very old (’93 ?). LILO may work on your system if you remove
4003 class="cmtt-10x-x-109">vga </span>option.
4004 </dd><dt class="description">
4006 class="cmtt-10x-x-109">write </span><span
4007 class="cmti-10x-x-109">item</span><span
4008 class="cmtt-10x-x-109">: </span><span
4009 class="cmti-10x-x-109">error</span><span
4010 class="cmti-10x-x-109">_reason</span> </dt><dd
4011 class="description"> <br
4012 class="newline" />The disk is probably full or mounted read-only.</dd></dl>
4013 <!--l. 3087--><p class="noindent" >
4015 <h5 class="subsubsectionHead"><span class="titlemark">6.1.2 </span> <a
4016 id="x1-770006.1.2"></a>Warnings</h5>
4017 <!--l. 3090--><p class="noindent" >Messages labeled with “Warning” can be turned off with the <span
4018 class="cmtt-10x-x-109">nowarn </span>option.
4019 </p><!--l. 3093--><p class="noindent" >
4020 </p><dl class="description"><dt class="description">
4022 class="cmtt-10x-x-109">FIGETBSZ </span><span
4023 class="cmti-10x-x-109">file</span><span
4024 class="cmti-10x-x-109">_name</span><span
4025 class="cmtt-10x-x-109">: </span><span
4026 class="cmti-10x-x-109">error</span><span
4027 class="cmti-10x-x-109">_reason</span> </dt><dd
4028 class="description"> <br
4029 class="newline" />The map installer is unable to determine the block size of a file system. It assumes a block size
4030 of two sectors (1kB).
4031 </dd><dt class="description">
4033 class="cmtt-10x-x-109">Ignoring entry ’</span><span
4034 class="cmti-10x-x-109">variable</span><span
4035 class="cmti-10x-x-109">_name</span><span
4036 class="cmtt-10x-x-109">’</span> </dt><dd
4037 class="description"> <br
4038 class="newline" />The command-line option corresponding to the specified variable is set. Therefore, the
4039 configuration file entry is ignored.
4040 </dd><dt class="description">
4042 class="cmtt-10x-x-109">Setting DELAY to 20 (2 seconds)</span> </dt><dd
4043 class="description"> <br
4044 class="newline" />Because accidentally booting the wrong kernel or operating system may be very inconvenient
4045 on systems that are not run from a local display, the minimum delay is two seconds if the
4047 class="cmtt-10x-x-109">serial </span>variable is set.
4048 </dd><dt class="description">
4050 class="cmtt-10x-x-109">(temp) </span><span
4051 class="cmti-10x-x-109">item</span><span
4052 class="cmtt-10x-x-109">: </span><span
4053 class="cmti-10x-x-109">error</span><span
4054 class="cmti-10x-x-109">_reason</span> </dt><dd
4055 class="description"> <br
4056 class="newline" />Deleting a temporary file has failed for the specified reason.
4057 </dd><dt class="description">
4059 class="cmtt-10x-x-109">Warning: BIOS drive 0x</span><span
4060 class="cmti-10x-x-109">number </span><span
4061 class="cmtt-10x-x-109">may not be accessible</span> </dt><dd
4062 class="description"> <br
4063 class="newline" />Because most BIOS versions only support two floppies and two hard disks, files located on
4064 additional disks may be inaccessible. This warning indicates that some kernels or even the
4065 whole system may be unbootable.
4066 </dd><dt class="description">
4068 class="cmtt-10x-x-109">Warning: COMPACT may conflict with LINEAR on some systems</span> </dt><dd
4069 class="description"> <br
4070 class="newline" />Please see section <a
4071 href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a description of this problem.
4072 </dd><dt class="description">
4074 class="cmtt-10x-x-109">Warning: </span><span
4075 class="cmti-10x-x-109">config</span><span
4076 class="cmti-10x-x-109">_file </span><span
4077 class="cmtt-10x-x-109">should be owned by root</span> </dt><dd
4078 class="description"> <br
4079 class="newline" />In order to prevent users from compromising system integrity, the configuration file should be
4081 owned by root and write access for all other users should be disabled.
4082 </dd><dt class="description">
4084 class="cmtt-10x-x-109">Warning: </span><span
4085 class="cmti-10x-x-109">config</span><span
4086 class="cmti-10x-x-109">_file </span><span
4087 class="cmtt-10x-x-109">should be readable only for root if using PASSWORD</span> </dt><dd
4088 class="description"> <br
4089 class="newline" />Users should not be allowed to read the configuration file when using the <span
4090 class="cmtt-10x-x-109">password </span>option,
4091 because then, it contains unencrypted passwords.
4092 </dd><dt class="description">
4094 class="cmtt-10x-x-109">Warning: </span><span
4095 class="cmti-10x-x-109">config</span><span
4096 class="cmti-10x-x-109">_file </span><span
4097 class="cmtt-10x-x-109">should be writable only for root</span> </dt><dd
4098 class="description"> <br
4099 class="newline" />See “<span
4100 class="cmtt-10x-x-109">Warning: </span><span
4101 class="cmti-10x-x-109">config</span><span
4102 class="cmti-10x-x-109">_file </span><span
4103 class="cmtt-10x-x-109">should be owned by root</span>”.
4104 </dd><dt class="description">
4106 class="cmtt-10x-x-109">Warning: device 0x</span><span
4107 class="cmti-10x-x-109">number </span><span
4108 class="cmtt-10x-x-109">exceeds 1024 cylinder limit</span> </dt><dd
4109 class="description"> <br
4110 class="newline" />A disk or partition exceeds the 1024 cylinder limit imposed by the BIOS. This may result in
4111 a fatal error in the current installation run or in later installation runs. See “<span
4112 class="cmtt-10x-x-109">geo</span><span
4113 class="cmtt-10x-x-109">_comp</span><span
4114 class="cmtt-10x-x-109">_addr:</span>
4116 class="cmtt-10x-x-109">Cylinder number is too big (</span><span
4117 class="cmti-10x-x-109">number </span><span
4118 class="cmmi-10x-x-109">> </span><span
4119 class="cmtt-10x-x-109">1023)</span>” for details.
4120 </dd><dt class="description">
4122 class="cmtt-10x-x-109">Warning: </span><span
4123 class="cmti-10x-x-109">device </span><span
4124 class="cmtt-10x-x-109">is not on the first disk</span> </dt><dd
4125 class="description"> <br
4126 class="newline" />The specified partition is probably not on the first disk. LILO’s boot sector can only be booted
4127 from the first disk unless some special boot manager is used.
4128 </dd><dt class="description">
4130 class="cmtt-10x-x-109">WARNING: The system is unbootable !</span> </dt><dd
4131 class="description"> <br
4132 class="newline" />One of the last installation steps has failed. This warning is typically followed by a fatal error
4133 describing the problem.</dd></dl>
4134 <!--l. 3137--><p class="noindent" >
4136 <h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a
4137 id="x1-780006.2"></a>Boot loader messages</h4>
4138 <!--l. 3139--><p class="noindent" >The boot loader generates three types of messages: progress and error messages while it is loading, messages
4139 indicating disk access errors, and error messages in response to invalid command-line input.
4140 Since messages of the latter type are usually self-explanatory, only the two other categories are
4142 </p><!--l. 3146--><p class="noindent" >
4144 <h5 class="subsubsectionHead"><span class="titlemark">6.2.1 </span> <a
4145 id="x1-790006.2.1"></a>LILO start message</h5>
4146 <!--l. 3148--><p class="noindent" >When LILO loads itself, it displays the word “LILO”. Each letter is printed before or after performing some
4147 specific action. If LILO fails at some point, the letters printed so far can be used to identify the problem.
4148 This is described in more detail in the technical overview.
4149 </p><!--l. 3153--><p class="noindent" >Note that some hex digits may be inserted after the first “L” if a transient disk problem occurs. Unless
4150 LILO stops at that point, generating an endless stream of error codes, such hex digits do not indicate a
4152 </p><!--l. 3158--><p class="noindent" >
4154 </p><dl class="description"><dt class="description">
4156 class="cmti-10x-x-109">nothing</span>) </dt><dd
4157 class="description">No part of LILO has been loaded. LILO either isn’t installed or the partition on which
4158 its boot sector is located isn’t active.
4159 </dd><dt class="description">
4161 class="cmtt-10x-x-109">L </span><span
4162 class="cmti-10x-x-109">error</span> <span
4163 class="cmmi-10x-x-109">…</span> </dt><dd
4164 class="description">The first stage boot loader has been loaded and started, but it can’t load the second
4165 stage boot loader. The two-digit error codes indicate the type of problem. (See also section
4167 href="#x1-800006.2.2">6.2.2<!--tex4ht:ref: bioserr --></a>.) This condition usually indicates a media failure or a geometry mismatch (e.g. bad disk
4168 parameters, see section <a
4169 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
4170 </dd><dt class="description">
4172 class="cmtt-10x-x-109">LI</span> </dt><dd
4173 class="description">The first stage boot loader was able to load the second stage boot loader, but has failed to execute
4174 it. This can either be caused by a geometry mismatch or by moving <span
4175 class="cmtt-10x-x-109">/boot/boot.b </span>without
4176 running the map installer.
4177 </dd><dt class="description">
4179 class="cmtt-10x-x-109">LIL</span> </dt><dd
4180 class="description">The second stage boot loader has been started, but it can’t load the descriptor table from the
4181 map file. This is typically caused by a media failure or by a geometry mismatch.
4182 </dd><dt class="description">
4184 class="cmtt-10x-x-109">LIL?</span> </dt><dd
4185 class="description">The second stage boot loader has been loaded at an incorrect address. This is typically caused
4186 by a subtle geometry mismatch or by moving <span
4187 class="cmtt-10x-x-109">/boot/boot.b </span>without running the map installer.
4188 </dd><dt class="description">
4190 class="cmtt-10x-x-109">LIL-</span> </dt><dd
4191 class="description">The descriptor table is corrupt. This can either be caused by a geometry mismatch or by
4193 class="cmtt-10x-x-109">/boot/map </span>without running the map installer.
4194 </dd><dt class="description">
4196 class="cmtt-10x-x-109">LILO</span> </dt><dd
4197 class="description">All parts of LILO have been successfully loaded.</dd></dl>
4198 <!--l. 3185--><p class="noindent" >
4200 <h5 class="subsubsectionHead"><span class="titlemark">6.2.2 </span> <a
4201 id="x1-800006.2.2"></a>Disk error codes</h5>
4202 <!--l. 3188--><p class="noindent" >If the BIOS signals an error when LILO is trying to load a boot image, the respective error code is
4203 displayed. The following BIOS error codes are known:
4204 </p><!--l. 3192--><p class="noindent" >
4205 </p><dl class="description"><dt class="description">
4207 class="cmtt-10x-x-109">0x00</span> </dt><dd
4208 class="description">“Internal error”. This code is generated by the sector read routine of the LILO boot loader
4209 whenever an internal inconsistency is detected. This might be caused by corrupt files. Try
4210 re-building the map file. Another possible cause for this error are attempts to access cylinders
4211 beyond 1024 while using the <span
4212 class="cmtt-10x-x-109">linear </span>option. See section <a
4213 href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> for more details and for how to
4215 </dd><dt class="description">
4217 class="cmtt-10x-x-109">0x01</span> </dt><dd
4218 class="description">“Illegal command”. This shouldn’t happen, but if it does, it may indicate an attempt to access
4219 a disk which is not supported by the BIOS. See also “Warning: BIOS drive 0x<span
4220 class="cmti-10x-x-109">number </span>may not
4221 be accessible” in section <a
4222 href="#x1-770006.1.2">6.1.2<!--tex4ht:ref: warnings --></a>.
4224 </dd><dt class="description">
4226 class="cmtt-10x-x-109">0x02</span> </dt><dd
4227 class="description">“Address mark not found”. This usually indicates a media problem. Try again several times.
4228 </dd><dt class="description">
4230 class="cmtt-10x-x-109">0x03</span> </dt><dd
4231 class="description">“Write-protected disk”. This should only occur on write operations.
4232 </dd><dt class="description">
4234 class="cmtt-10x-x-109">0x04</span> </dt><dd
4235 class="description">“Sector not found”. This typically indicates a geometry mismatch. If you’re booting a
4236 raw-written disk image, verify whether it was created for disks with the same geometry as the
4237 one you’re using. If you’re booting from a SCSI disk or a large IDE disk, you should check,
4238 whether LILO has obtained correct geometry data from the kernel or whether the geometry
4239 definition corresponds to the real disk geometry. (See section <a
4240 href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.) Removing <span
4241 class="cmtt-10x-x-109">compact </span>may help
4242 too. So may adding <span
4243 class="cmtt-10x-x-109">lba32 </span>or <span
4244 class="cmtt-10x-x-109">linear</span>.
4245 </dd><dt class="description">
4247 class="cmtt-10x-x-109">0x06</span> </dt><dd
4248 class="description">“Change line active”. This should be a transient error. Try booting a second time.
4249 </dd><dt class="description">
4251 class="cmtt-10x-x-109">0x07</span> </dt><dd
4252 class="description">“Invalid initialization”. The BIOS failed to properly initialize the disk controller. You should
4253 control the BIOS setup parameters. A warm boot might help too.
4254 </dd><dt class="description">
4256 class="cmtt-10x-x-109">0x08</span> </dt><dd
4257 class="description">“DMA overrun”. This shouldn’t happen. Try booting again.
4258 </dd><dt class="description">
4260 class="cmtt-10x-x-109">0x09</span> </dt><dd
4261 class="description">“DMA attempt across 64k boundary”. This shouldn’t happen, but may inicate a disk geometry
4262 mis-match. Try omitting the <span
4263 class="cmtt-10x-x-109">compact </span>option. You may need to specify the disk geometry
4265 </dd><dt class="description">
4267 class="cmtt-10x-x-109">0x0C</span> </dt><dd
4268 class="description">“Invalid media”. This shouldn’t happen and might be caused by a media error. Try booting
4270 </dd><dt class="description">
4272 class="cmtt-10x-x-109">0x10</span> </dt><dd
4273 class="description">“CRC error”. A media error has been detected. Try booting several times, running the map
4274 installer a second time (to put the map file at some other physical location or to write “good
4275 data” over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing
4277 </dd><dt class="description">
4279 class="cmtt-10x-x-109">0x11</span> </dt><dd
4280 class="description">“ECC correction successful”. A read error occurred, but was corrected. LILO does not
4281 recognize this condition and aborts the load process anyway. A second load attempt should
4283 </dd><dt class="description">
4285 class="cmtt-10x-x-109">0x20</span> </dt><dd
4286 class="description">“Controller error”. This shouldn’t happen.
4287 </dd><dt class="description">
4289 class="cmtt-10x-x-109">0x40</span> </dt><dd
4290 class="description">“Seek failure”. This might be a media problem. Try booting again.
4291 </dd><dt class="description">
4293 class="cmtt-10x-x-109">0x80</span> </dt><dd
4294 class="description">“Disk timeout”. The disk or the drive isn’t ready. Either the media is bad or the disk isn’t
4295 spinning. If you’re booting from a floppy, you might not have closed the drive door. Otherwise,
4296 trying to boot again might help.
4297 </dd><dt class="description">
4300 class="cmtt-10x-x-109">0xBB</span> </dt><dd
4301 class="description">“BIOS error”. This shouldn’t happen. Try booting again. If the problem persists, removing the
4303 class="cmtt-10x-x-109">compact </span>option or adding/removing <span
4304 class="cmtt-10x-x-109">linear </span>or <span
4305 class="cmtt-10x-x-109">lba32 </span>might help.</dd></dl>
4306 <!--l. 3252--><p class="noindent" >If the error occurred during a write operation, the error code (two hex digits) is prefixed with a “W”.
4307 Although write errors don’t affect the boot process, they might indicate a severe problem, because
4308 they usually imply that LILO has tried to write to an invalid location. If spurious write errors
4309 occur on a system, it might be a good idea to configure LILO to run read-only (see section
4311 href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>).
4312 </p><!--l. 3259--><p class="noindent" >Generally, invalid geometry and attempts to use more than two disks without a very modern BIOS may
4313 yield misleading error codes. Please check carefully if <span
4314 class="cmtt-10x-x-109">/sbin/lilo </span>doesn’t emit any warnings. Then try
4316 class="cmtt-10x-x-109">linear </span>or <span
4317 class="cmtt-10x-x-109">lba32 </span>option (see section <a
4318 href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
4319 </p><!--l. 3265--><p class="noindent" >
4321 <h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a
4322 id="x1-810006.3"></a>Other problems</h4>
4323 <!--l. 3268--><p class="noindent" >This section contains a collection of less common problems that have been observed. See also section <a
4324 href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a> for
4325 general remarks on using LILO with other operating systems. Some of the problems are obscure and so are
4328 <ul class="itemize1">
4329 <li class="itemize">If LILO doesn’t go away even if you erase its files, format your Linux partition, etc., you’ve
4330 probably installed LILO as your MBR and you’ve forgotten to deinstall it before deleting its
4331 files. See section <a
4332 href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for what you can do now.
4334 <li class="itemize">For yet unknown reasons, LILO may fail on some systems with AMI BIOS if the “Hard Disk
4335 Type 47 RAM area” is set to “0:300” instead of “DOS 1K”.
4337 <li class="itemize">Some disk controller BIOSes perform disk geometry/address translations that are incompatible
4338 with the way the device’s geometry is seen from Linux, i.e. without going through the BIOS.
4339 Particularly, large IDE disks and some PCI SCSI controllers appear to have this problem. In
4340 such cases, either the translated geometry has to be specified in a <span
4341 class="cmtt-10x-x-109">disk </span>section or the sector
4342 address translation can be deferred by using the <span
4343 class="cmtt-10x-x-109">linear </span>option. In a setup where floppies are
4344 not normally used for booting, the <span
4345 class="cmtt-10x-x-109">linear </span>approach should be preferred, because this avoids
4346 the risk of specifying incorrect numbers.
4348 <li class="itemize">OS/2 is said to be bootable from a logical partition with LILO acting as the primary boot
4349 selector if LILO is installed on the MBR, the OS/2 BootManager is on an active primary
4350 partition and LILO boots BootManager. Putting LILO on an extended partition instead is
4351 said to crash the OS/2 FDISK in this scenario.
4352 <!--l. 3298--><p class="noindent" >Note that booting LILO from BootManager (so BootManager is the primary selector) or
4353 booting OS/2 directly from a primary partition (without BootManager) should generally work.
4355 href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a>.
4358 <li class="itemize">Windows NT is reported to be bootable with LILO when LILO acts as the MBR and the
4359 Windows NT boot loader is on the DOS partition. However, NT’s disk manager complains
4360 about LILO’s MBR when trying to edit the partition table.
4362 <li class="itemize">Some PC UNIX systems (SCO and Unixware have been reported to exhibit this problem)
4363 depend on their partition being active. See section <a
4364 href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a> for how this can be accomplished.
4366 <li class="itemize">Future Domain TMC-1680 adapters with the BIOS versions 3.4 and 3.5 assign BIOS device
4367 numbers in the wrong order, e.g. on a two-disk system, <span
4368 class="cmtt-10x-x-109">/dev/sda </span>becomes <span
4369 class="cmtt-10x-x-109">0x81 </span>and <span
4370 class="cmtt-10x-x-109">/dev/sdb</span>
4372 class="cmtt-10x-x-109">0x80</span>. This can be fixed with the following <span
4373 class="cmtt-10x-x-109">disk </span>section:<br
4374 class="newline" /><span class="obeylines-h"><span class="verb"><span
4375 class="cmtt-10x-x-109">disk=/dev/sda</span><span
4376 class="cmtt-10x-x-109"> bios=0x81</span><span
4377 class="cmtt-10x-x-109"> disk=/dev/sdb</span><span
4378 class="cmtt-10x-x-109"> bios=0x80</span></span></span><br
4379 class="newline" />Note that this is only valid for a two-disk system. In three-disk systems, <span
4380 class="cmtt-10x-x-109">/dev/sdc </span>would
4382 class="cmtt-10x-x-109">0x80</span>, etc. Also, single-disk systems don’t have this problem (and the “fix” would break
4385 <li class="itemize">Some BIOSes don’t properly recognize disks with an unusual partition table (e.g. without any
4386 partition marked active) and refuse to boot from them. This can also affect the second hard
4387 disk and the problem may only occur if the system is booted in a particular way (e.g. only after
4390 <li class="itemize">On some systems, using <span
4391 class="cmtt-10x-x-109">linear </span>and <span
4392 class="cmtt-10x-x-109">compact </span>or <span
4393 class="cmtt-10x-x-109">lba32 </span>and <span
4394 class="cmtt-10x-x-109">compact </span>together leads to a boot
4395 failure. The exact circumstances under which this happens are still unknown.
4397 <li class="itemize">If the kernel crashes after booting on a multi-processor system, LILO may have overwritten
4398 data structures set up by the BIOS. Try the option <span
4399 class="cmtt-10x-x-109">LARGE</span><span
4400 class="cmtt-10x-x-109">_EBDA </span>in this case.</li></ul>
4403 <!--l. 3334--><p class="noindent" >
4404 </p><!--l. 3335--><p class="noindent" ><span
4405 class="cmti-10x-x-109">Last updated by John R. Coffman on July 17, 2000</span><br />
4407 class="cmti-10x-x-109">reconstructed by Joachim Wiedorn on January 29, 2011</span></p></div>