--- /dev/null
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
+<html xmlns="http://www.w3.org/1999/xhtml"
+>
+<head><title>LILO
+Generic boot loader for Linux
+Version 21.5
+User’s guide</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Bluefish 2.2.3" />
+<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
+<!-- xhtml,charset=utf-8,html -->
+<meta name="src" content="user_21-5.tex" />
+<meta name="date" content="2013-06-07T14:16:51+0200" />
+<link rel="stylesheet" type="text/css" href="user_21-5.css" />
+</head><body
+>
+<div class="maketitle">
+
+
+
+<h2 class="titleHead">LILO<br />
+Generic boot loader for Linux<br />
+Version 21.5<br />
+ <br />
+User’s guide</h2>
+ <div class="author" ><span
+class="cmr-12">Werner Almesberger</span>
+<br /> <span
+class="cmr-12">John R. Coffman</span>
+<br /><span
+class="cmti-12">(reconstructed by Joachim Wiedorn)</span></div>
+<br />
+<div class="date" ><span
+class="cmr-12">July 17, 2000</span></div>
+</div>
+<h3 class="likesectionHead"><a
+ id="x1-1000"></a>Contents</h3>
+<div class="tableofcontents">
+<span class="sectionToc" >1 <a
+href="#x1-20001" id="QQ2-1-2">Overview</a></span>
+<br /> <span class="subsectionToc" >1.1 <a
+href="#x1-30001.1" id="QQ2-1-3">Easy rules</a></span>
+<br /> <span class="subsectionToc" >1.2 <a
+href="#x1-40001.2" id="QQ2-1-4">System overview</a></span>
+<br /><span class="sectionToc" >2 <a
+href="#x1-50002" id="QQ2-1-5">Introduction</a></span>
+<br /> <span class="subsectionToc" >2.1 <a
+href="#x1-60002.1" id="QQ2-1-6">Disk organization</a></span>
+<br /> <span class="subsectionToc" >2.2 <a
+href="#x1-70002.2" id="QQ2-1-7">Booting basics</a></span>
+<br />  <span class="subsubsectionToc" >2.2.1 <a
+href="#x1-80002.2.1" id="QQ2-1-8">MS-DOS alone</a></span>
+<br />  <span class="subsubsectionToc" >2.2.2 <a
+href="#x1-90002.2.2" id="QQ2-1-9">LOADLIN</a></span>
+<br />  <span class="subsubsectionToc" >2.2.3 <a
+href="#x1-100002.2.3" id="QQ2-1-10">LILO started by DOS-MBR</a></span>
+<br />  <span class="subsubsectionToc" >2.2.4 <a
+href="#x1-110002.2.4" id="QQ2-1-11">Several alternate branches</a></span>
+<br />  <span class="subsubsectionToc" >2.2.5 <a
+href="#x1-120002.2.5" id="QQ2-1-12">LILO started by <span
+class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><sup class="textsuperscript">1</sup></span></a></span>
+<br />  <span class="subsubsectionToc" >2.2.6 <a
+href="#x1-130002.2.6" id="QQ2-1-13">LILO alone</a></span>
+<br />  <span class="subsubsectionToc" >2.2.7 <a
+href="#x1-140002.2.7" id="QQ2-1-14">Names</a></span>
+<br /> <span class="subsectionToc" >2.3 <a
+href="#x1-150002.3" id="QQ2-1-15">Choosing the “right” boot concept</a></span>
+<br />  <span class="subsubsectionToc" >2.3.1 <a
+href="#x1-160002.3.1" id="QQ2-1-16">BIOS restrictions</a></span>
+<br />  <span class="subsubsectionToc" >2.3.2 <a
+href="#x1-170002.3.2" id="QQ2-1-17">One disk, Linux on a primary partition</a></span>
+<br />  <span class="subsubsectionToc" >2.3.3 <a
+href="#x1-180002.3.3" id="QQ2-1-18">One disk, Linux on a logical partition</a></span>
+<br />  <span class="subsubsectionToc" >2.3.4 <a
+href="#x1-190002.3.4" id="QQ2-1-19">Two disks, Linux (at least partially) on the first disk</a></span>
+<br />  <span class="subsubsectionToc" >2.3.5 <a
+href="#x1-200002.3.5" id="QQ2-1-20">Two disks, Linux on second disk, first disk has an extended partition</a></span>
+<br />  <span class="subsubsectionToc" >2.3.6 <a
+href="#x1-210002.3.6" id="QQ2-1-21">Two disks, Linux on second disk, first disk has no extended partition</a></span>
+<br />  <span class="subsubsectionToc" >2.3.7 <a
+href="#x1-220002.3.7" id="QQ2-1-22">More than two disks</a></span>
+<br />  <span class="subsubsectionToc" >2.3.8 <a
+href="#x1-230002.3.8" id="QQ2-1-23"><span
+class="cmtt-10x-x-109">/boot </span>on a DOS partition</a></span>
+<br /><span class="sectionToc" >3 <a
+href="#x1-240003" id="QQ2-1-24">The boot prompt</a></span>
+<br /> <span class="subsectionToc" >3.1 <a
+href="#x1-250003.1" id="QQ2-1-25">Boot command-line options</a></span>
+<br />  <span class="subsubsectionToc" >3.1.1 <a
+href="#x1-260003.1.1" id="QQ2-1-26">Standard options</a></span>
+<br />  <span class="subsubsectionToc" >3.1.2 <a
+href="#x1-270003.1.2" id="QQ2-1-27">Device-specific options</a></span>
+<br />  <span class="subsubsectionToc" >3.1.3 <a
+href="#x1-280003.1.3" id="QQ2-1-28">Other options</a></span>
+<br />  <span class="subsubsectionToc" >3.1.4 <a
+href="#x1-290003.1.4" id="QQ2-1-29">Repeating options</a></span>
+<br />  <span class="subsubsectionToc" >3.1.5 <a
+href="#x1-300003.1.5" id="QQ2-1-30">Implicit options</a></span>
+<br /> <span class="subsectionToc" >3.2 <a
+href="#x1-310003.2" id="QQ2-1-31">Boot image selection</a></span>
+<br /><span class="sectionToc" >4 <a
+href="#x1-320004" id="QQ2-1-32">Map installer</a></span>
+<br /> <span class="subsectionToc" >4.1 <a
+href="#x1-330004.1" id="QQ2-1-33">Command-line options</a></span>
+<br />  <span class="subsubsectionToc" >4.1.1 <a
+href="#x1-340004.1.1" id="QQ2-1-34">Show current installation</a></span>
+<br />  <span class="subsubsectionToc" >4.1.2 <a
+href="#x1-350004.1.2" id="QQ2-1-35">Create or update map</a></span>
+<br />  <span class="subsubsectionToc" >4.1.3 <a
+href="#x1-360004.1.3" id="QQ2-1-36">Change default command line</a></span>
+<br />  <span class="subsubsectionToc" >4.1.4 <a
+href="#x1-370004.1.4" id="QQ2-1-37">Kernel name translation</a></span>
+
+<br />  <span class="subsubsectionToc" >4.1.5 <a
+href="#x1-380004.1.5" id="QQ2-1-38">De-installation</a></span>
+<br />  <span class="subsubsectionToc" >4.1.6 <a
+href="#x1-390004.1.6" id="QQ2-1-39">Print version number</a></span>
+<br />  <span class="subsubsectionToc" >4.1.7 <a
+href="#x1-400004.1.7" id="QQ2-1-40">Options corresponding to configuration variables</a></span>
+<br /> <span class="subsectionToc" >4.2 <a
+href="#x1-410004.2" id="QQ2-1-41">Configuration</a></span>
+<br />  <span class="subsubsectionToc" >4.2.1 <a
+href="#x1-420004.2.1" id="QQ2-1-42">Syntax</a></span>
+<br />  <span class="subsubsectionToc" >4.2.2 <a
+href="#x1-430004.2.2" id="QQ2-1-43">Global options</a></span>
+<br />  <span class="subsubsectionToc" >4.2.3 <a
+href="#x1-440004.2.3" id="QQ2-1-44">General per-image options</a></span>
+<br />  <span class="subsubsectionToc" >4.2.4 <a
+href="#x1-450004.2.4" id="QQ2-1-45">Per-image options for kernels</a></span>
+<br /> <span class="subsectionToc" >4.3 <a
+href="#x1-460004.3" id="QQ2-1-46">Boot image types</a></span>
+<br />  <span class="subsubsectionToc" >4.3.1 <a
+href="#x1-470004.3.1" id="QQ2-1-47">Booting kernel images from a file</a></span>
+<br />  <span class="subsubsectionToc" >4.3.2 <a
+href="#x1-480004.3.2" id="QQ2-1-48">Booting kernel images from a device</a></span>
+<br />  <span class="subsubsectionToc" >4.3.3 <a
+href="#x1-490004.3.3" id="QQ2-1-49">Booting a foreign operating system</a></span>
+<br /> <span class="subsectionToc" >4.4 <a
+href="#x1-500004.4" id="QQ2-1-50">Disk geometry</a></span>
+<br />  <span class="subsubsectionToc" >4.4.1 <a
+href="#x1-510004.4.1" id="QQ2-1-51">Obtaining the geometry</a></span>
+<br />  <span class="subsubsectionToc" >4.4.2 <a
+href="#x1-520004.4.2" id="QQ2-1-52">Specifying the geometry</a></span>
+<br /> <span class="subsectionToc" >4.5 <a
+href="#x1-530004.5" id="QQ2-1-53">Partition table manipulation</a></span>
+<br />  <span class="subsubsectionToc" >4.5.1 <a
+href="#x1-540004.5.1" id="QQ2-1-54">Partition activation</a></span>
+<br />  <span class="subsubsectionToc" >4.5.2 <a
+href="#x1-550004.5.2" id="QQ2-1-55">Partition type change rules</a></span>
+<br />  <span class="subsubsectionToc" >4.5.3 <a
+href="#x1-560004.5.3" id="QQ2-1-56">Partition type changes</a></span>
+<br /> <span class="subsectionToc" >4.6 <a
+href="#x1-570004.6" id="QQ2-1-57">Keyboard translation</a></span>
+<br />  <span class="subsubsectionToc" >4.6.1 <a
+href="#x1-580004.6.1" id="QQ2-1-58">Compiling keyboard translation tables</a></span>
+<br />  <span class="subsubsectionToc" >4.6.2 <a
+href="#x1-590004.6.2" id="QQ2-1-59">Using keyboard translation tables</a></span>
+<br /><span class="sectionToc" >5 <a
+href="#x1-600005" id="QQ2-1-60">Installation and updates</a></span>
+<br /> <span class="subsectionToc" >5.1 <a
+href="#x1-610005.1" id="QQ2-1-61">Installation</a></span>
+<br />  <span class="subsubsectionToc" >5.1.1 <a
+href="#x1-620005.1.1" id="QQ2-1-62">Compatibility</a></span>
+<br />  <span class="subsubsectionToc" >5.1.2 <a
+href="#x1-630005.1.2" id="QQ2-1-63">Quick installation</a></span>
+<br />  <span class="subsubsectionToc" >5.1.3 <a
+href="#x1-640005.1.3" id="QQ2-1-64">Files</a></span>
+<br />  <span class="subsubsectionToc" >5.1.4 <a
+href="#x1-650005.1.4" id="QQ2-1-65">Normal first-time installation</a></span>
+<br />  <span class="subsubsectionToc" >5.1.5 <a
+href="#x1-660005.1.5" id="QQ2-1-66">Build-time configuration</a></span>
+<br />  <span class="subsubsectionToc" >5.1.6 <a
+href="#x1-670005.1.6" id="QQ2-1-67">Floppy disk installation</a></span>
+<br /> <span class="subsectionToc" >5.2 <a
+href="#x1-680005.2" id="QQ2-1-68">Updates</a></span>
+<br />  <span class="subsubsectionToc" >5.2.1 <a
+href="#x1-690005.2.1" id="QQ2-1-69">LILO update</a></span>
+<br />  <span class="subsubsectionToc" >5.2.2 <a
+href="#x1-700005.2.2" id="QQ2-1-70">Kernel update</a></span>
+<br />  <span class="subsubsectionToc" >5.2.3 <a
+href="#x1-710005.2.3" id="QQ2-1-71">System upgrade</a></span>
+<br /> <span class="subsectionToc" >5.3 <a
+href="#x1-720005.3" id="QQ2-1-72">LILO de-installation</a></span>
+<br /> <span class="subsectionToc" >5.4 <a
+href="#x1-730005.4" id="QQ2-1-73">Installation of other operating systems</a></span>
+<br /><span class="sectionToc" >6 <a
+href="#x1-740006" id="QQ2-1-74">Troubleshooting</a></span>
+<br /> <span class="subsectionToc" >6.1 <a
+href="#x1-750006.1" id="QQ2-1-75">Map installer warnings and errors</a></span>
+<br />  <span class="subsubsectionToc" >6.1.1 <a
+href="#x1-760006.1.1" id="QQ2-1-76">Fatal errors</a></span>
+<br />  <span class="subsubsectionToc" >6.1.2 <a
+href="#x1-770006.1.2" id="QQ2-1-77">Warnings</a></span>
+<br /> <span class="subsectionToc" >6.2 <a
+href="#x1-780006.2" id="QQ2-1-78">Boot loader messages</a></span>
+<br />  <span class="subsubsectionToc" >6.2.1 <a
+href="#x1-790006.2.1" id="QQ2-1-79">LILO start message</a></span>
+<br />  <span class="subsubsectionToc" >6.2.2 <a
+href="#x1-800006.2.2" id="QQ2-1-80">Disk error codes</a></span>
+<br /> <span class="subsectionToc" >6.3 <a
+href="#x1-810006.3" id="QQ2-1-81">Other problems</a></span>
+</div>
+<!--l. 124--><p class="noindent" > <br
+class="newline" /><span
+class="cmbx-10x-x-109">This document has only been partially updated and does reflect the status of Linux (until</span>
+<span
+class="cmbx-10x-x-109">2.2.16) and of LILO</span><span
+class="cmbx-10x-x-109"> (until 21.5) in the year 2000. </span> <br
+class="newline" />
+</p><!--l. 132--><p class="noindent" >
+</p>
+<h3 class="sectionHead"><span class="titlemark">1 </span> <a
+ id="x1-20001"></a>Overview</h3>
+<!--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
+images from floppy disks and from hard disks and can even act as a “boot manager” for other operating
+systems.<span class="footnote-mark"><a
+href="user_21-52.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
+ id="x1-2001f2"></a>
+
+</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
+device, can be set independently for each kernel. LILO can even be used as the master boot
+record.
+</p><!--l. 146--><p class="noindent" >This document introduces the basics of disk organization and booting, continues with an overview of
+common boot techniques and finally describes installation and use of LILO in greater detail. The
+troubleshooting section at the end describes diagnostic messages and contains suggestions for most problems
+that have been observed in the past.
+</p><!--l. 152--><p class="noindent" >Please read at least the sections about installation and configuration if you’re already using an older version
+of LILO. This distribution is accompanied by a file named <span
+class="cmtt-10x-x-109">INCOMPAT </span>that describes further incompatibilities
+to older versions.
+</p><!--l. 157--><p class="noindent" >For the impatient: there is a quick-installation script to create a simple but quite usable installation. See
+section <a
+href="#x1-630005.1.2">5.1.2<!--tex4ht:ref: quickinst --></a> for details.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a
+ id="x1-30001.1"></a>Easy rules</h4>
+<!--l. 164--><p class="noindent" >But wait <span
+class="cmmi-10x-x-109">…</span> here are a few easy rules that will help you to avoid most problems people experience with
+LILO:
+</p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+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
+ assumption and only then attempt to fix it.
+ </li>
+ <li class="itemize">Read the documentation. Especially if what the system does doesn’t correspond to what you
+ think it should do.
+ </li>
+ <li class="itemize">Make sure you have an emergency boot disk, that you know how to use it, and that it is always
+ kept up to date.
+ </li>
+ <li class="itemize">Run <span
+class="cmtt-10x-x-109">/sbin/lilo </span><span
+class="cmbx-10x-x-109">whenever </span>the kernel or any part of LILO, including its configuration file,
+ has changed. When in doubt, run it. You can’t run <span
+class="cmtt-10x-x-109">/sbin/lilo </span>too many times.
+ </li>
+ <li class="itemize">If performing a destructive upgrade and/or erasing your Linux partitions, de-install
+ LILO <span
+class="cmbx-10x-x-109">before </span>that if using it as the MBR.
+ </li>
+ <li class="itemize">Don’t trust setup scripts. Always verify the <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>they create before booting.
+ </li>
+ <li class="itemize">If using a big disk, be prepared for inconveniences: you may have to use the <span
+class="cmtt-10x-x-109">linear </span>option.</li></ul>
+
+<!--l. 188--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a
+ id="x1-40001.2"></a>System overview</h4>
+<!--l. 190--><p class="noindent" >LILO is a collection of several programs and other files:
+</p><!--l. 192--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmbx-10x-x-109">The map installer</span> </dt><dd
+class="description">is the program you run under Linux to put all files belonging to LILO at the
+ appropriate places and to record information about the location of data needed at boot time.
+ This program normally resides in <span
+class="cmtt-10x-x-109">/sbin/lilo</span>. It has to be run to refresh that information
+ whenever any part of the system that LILO knows about changes, e.g. after installing a new
+ kernel.
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">Various files</span> </dt><dd
+class="description">contain data LILO needs at boot time, e.g. the boot loader. Those files normally reside
+ in <span
+class="cmtt-10x-x-109">/boot</span>. The most important files are the boot loader (see below) and the map file (<span
+class="cmtt-10x-x-109">/boot/map</span>),
+ where the map installer records the location of the kernel(s).<span class="footnote-mark"><a
+href="user_21-53.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
+ id="x1-4001f3"></a>
+ Another important file is the configuration file, which is normally called <span
+class="cmtt-10x-x-109">/etc/lilo.conf</span>
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">The boot loader</span> </dt><dd
+class="description">is the part of LILO that is loaded by the BIOS and that loads kernels or the
+ boot sectors of other operating systems. It also provides a simple command-line interface to
+ interactively select the item to boot and to add boot options.</dd></dl>
+<!--l. 215--><p class="noindent" >LILO primarily accesses the following parts of the system:
+</p><!--l. 217--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmbx-10x-x-109">The root file system partition</span> </dt><dd
+class="description">is important for two reasons: first, LILO sometimes has to tell
+ the kernel where to look for it. Second, it is frequently a convenient place for many other items
+ LILO uses, such as the boot sector, the <span
+class="cmtt-10x-x-109">/boot </span>directory, and the kernels.
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">The boot sector</span> </dt><dd
+class="description">contains the first part of LILO’s boot loader. It loads the much larger second-stage
+ loader. Both loaders are typically stored in the file <span
+class="cmtt-10x-x-109">/boot/boot.b</span>
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">The kernel</span> </dt><dd
+class="description">is loaded and started by the boot loader. Kernels typically reside in the root directory
+ or in <span
+class="cmtt-10x-x-109">/boot</span>.</dd></dl>
+<!--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
+certain restrictions, see section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
+</p><!--l. 233--><p class="noindent" >
+
+</p>
+<h3 class="sectionHead"><span class="titlemark">2 </span> <a
+ id="x1-50002"></a>Introduction</h3>
+<!--l. 236--><p class="noindent" >The following sections describe how PCs boot in general and what has to be known when booting Linux
+and using LILO in particular.
+</p><!--l. 241--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a
+ id="x1-60002.1"></a>Disk organization</h4>
+<!--l. 244--><p class="noindent" >When designing a boot concept, it is important to understand some of the subtleties of how
+PCs typically organize disks. The most simple case are floppy disks. They consist of a boot
+sector, some administrative data (FAT or super block, etc.) and the data area. Because that
+administrative data is irrelevant as far as booting is concerned, it is regarded as part of the data area for
+simplicity.
+</p><!--l. 251--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-50x.png" alt="|------------|----------------------|
+|-Boot-sector-- |
+| |
+| Data area |
+| |
+ ------------------------------------
+" class="math-display" /></center>
+<!--l. 271--><p class="noindent" >The entire disk appears as one device (e.g. <span
+class="cmtt-10x-x-109">/dev/fd0</span>) on Linux.
+</p><!--l. 273--><p class="noindent" >The MS-DOS boot sector has the following structure:
+</p><!--l. 275--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-51x.png" alt=" 0x000 |Jump--to-the-program--code-|
+ |--------------------------|
+ 0x003 | |
+ | Disk parameters |
+ |--------------------------|
+0x02C/0x03E | |
+ | Program code |
+ | |
+ | |
+ 0x1FE |-Magic-number--(0xAA55-)--|
+ ---------------------------|
+" class="math-display" /></center>
+<!--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
+Minix, Ext2 or similar file systems, because they don’t look at the boot sector, but putting a LILO boot
+sector on an MS-DOS file system would make it inaccessible for MS-DOS.
+</p><!--l. 314--><p class="noindent" >Hard disks are organized in a more complex way than floppy disks. They contain several data areas called
+partitions. Up to four so-called primary partitions can exist on an MS-DOS hard disk. If more partitions are
+needed, one primary partition is used as an extended partition that contains several logical
+partitions.
+</p><!--l. 320--><p class="noindent" >The first sector of each hard disk contains a partition table, and an extended partition and <span
+class="cmbx-10x-x-109">each </span>logical
+partition contains a partition table too.
+</p><!--l. 324--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-52x.png" alt="|------------------------------------------|
+|Partition table /dev/hda |
+| |Partition-1-------------------/dev/hda1--|
+| | |
+| |----------------------------------------|
+| |Partition 2 /dev/hda2 |
+--------------------------------------------
+" class="math-display" /></center>
+<!--l. 347--><p class="noindent" >The entire disk can be accessed as <span
+class="cmtt-10x-x-109">/dev/hda</span>, <span
+class="cmtt-10x-x-109">/dev/hdb</span>, <span
+class="cmtt-10x-x-109">/dev/sda</span>, etc. The primary partitions are
+<span
+class="cmtt-10x-x-109">/dev/hda1</span> <span
+class="cmmi-10x-x-109">…</span> <span
+class="cmtt-10x-x-109">/dev/hda4</span>.
+</p><!--l. 351--><p class="noindent" >
+</p>
+
+<center class="math-display" >
+<img
+src="user_21-53x.png" alt="|------------------------------------------|
+|Partition-table------------------/dev/hda---|
+| |Partition 1 /dev/hda1 |
+| |----------------------------------------|
+| |Partition 2 /dev/hda2 |
+| | |
+| |Extended--partition------------/dev/hda3--|
+| | |--------------------------------------|
+| | |Extended--partition-table---------------|
+| | |Partition 3 /dev/hda5 |
+| | |--------------------------------------|
+| | |Extended--partition-table---------------|
+| | |Partition 4 /dev/hda6 |
+| | | |
+--------------------------------------------
+" class="math-display" /></center>
+<!--l. 398--><p class="noindent" >This hard disk has two primary partitions and an extended partition that contains two logical partitions.
+They are accessed as <span
+class="cmtt-10x-x-109">/dev/hda5</span> <span
+class="cmmi-10x-x-109">…</span>
+</p><!--l. 402--><p class="noindent" >Note that the partition tables of logical partitions are not accessible as the first blocks of some devices,
+while the main partition table, all boot sectors and the partition tables of extended partitions
+are.
+</p><!--l. 406--><p class="noindent" >Partition tables are stored in partition boot sectors. Normally, only the partition boot sector of the entire
+disk is used as a boot sector. It is also frequently called the master boot record (MBR). Its structure is as
+follows:
+</p><!--l. 411--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-54x.png" alt=" |------------------------|
+0x000 | |
+ | Program code |
+ | |
+ |------------------------|
+0x1BE | Partition table |
+ | |
+ |------------------------|
+0x1FE -Magic-number--(0xAA55--)--
+" class="math-display" /></center>
+<!--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
+partition table.) Therefore, the LILO boot sector can be stored at the following locations:
+</p>
+
+ <ul class="itemize1">
+ <li class="itemize">boot sector of a Linux floppy disk. (<span
+class="cmtt-10x-x-109">/dev/fd0</span>, <span
+class="cmmi-10x-x-109">…</span>)
+ </li>
+ <li class="itemize">MBR of the first hard disk. (<span
+class="cmtt-10x-x-109">/dev/hda</span>, <span
+class="cmtt-10x-x-109">/dev/sda</span>, <span
+class="cmmi-10x-x-109">…</span>)
+ </li>
+ <li class="itemize">boot sector of a primary Linux file system partition on the first hard disk. (<span
+class="cmtt-10x-x-109">/dev/hda1</span>, <span
+class="cmmi-10x-x-109">…</span>)
+ </li>
+ <li class="itemize">partition boot sector of an extended partition on the first hard disk. (<span
+class="cmtt-10x-x-109">/dev/hda1</span>, <span
+class="cmmi-10x-x-109">…</span>)<span class="footnote-mark"><a
+href="user_21-54.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
+ id="x1-6001f4"></a></li></ul>
+<!--l. 455--><p class="noindent" >It <span
+class="cmbx-10x-x-109">can’t </span>be stored at any of the following locations:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">boot sector of a non-Linux floppy disk or primary partition.
+ </li>
+ <li class="itemize">a Linux swap partition.
+ </li>
+ <li class="itemize">boot sector of a logical partition in an extended partition.<span class="footnote-mark"><a
+href="user_21-55.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
+ id="x1-6002f5"></a>
+ </li>
+ <li class="itemize">on the second hard disk. (Unless for backup installations, if the current first disk will be removed
+ or disabled, or if some other boot loader is used, that is capable of loading boot sectors from
+ other drives.)</li></ul>
+<!--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
+that.
+</p><!--l. 475--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a
+ id="x1-70002.2"></a>Booting basics</h4>
+<!--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
+sector contains a small program that loads the respective operating system. MS-DOS boot sectors also
+contain a data area, where disk and file system parameters (cluster size, number of sectors, number of
+heads, etc.) are stored.
+</p><!--l. 483--><p class="noindent" >When booting from a hard disk, the very first sector of that disk, the so-called master boot
+record (MBR) is loaded. This sector contains a loader program and the partition table of the
+disk. The loader program usually loads the boot sector, as if the system was booting from a
+floppy.
+
+</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
+contains the partition information but doesn’t contain any file system-specific information (e.g. MS-DOS
+disk parameters).
+</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
+table, with a length of 64 (0x40) bytes. The last two bytes contain a magic number that is sometimes used
+to verify that a given sector really is a boot sector.
+</p><!--l. 498--><p class="noindent" >There is a large number of possible boot configurations. The most common ones are described in the
+following sections.
+</p><!--l. 502--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.1 </span> <a
+ id="x1-80002.2.1"></a>MS-DOS alone</h5>
+<!--l. 504--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-55x.png" alt="|--------------------------------------------------------|
+|Master-Boot-Record-Boot-sector---------Operating system--|
+-DOS--MBR--------→----MS--DOS--------→----COMMAND.COM--------
+" class="math-display" /></center>
+<!--l. 511--><p class="noindent" >This is what usually happens when MS-DOS boots from a hard disk: the DOS-MBR determines the active
+partition and loads the MS-DOS boot sector. This boot sector loads MS-DOS and finally passes control to
+<span
+class="cmtt-10x-x-109">COMMAND.COM</span>. (This is greatly simplified.)
+</p><!--l. 517--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.2 </span> <a
+ id="x1-90002.2.2"></a>LOADLIN</h5>
+<!--l. 520--><p class="noindent" >
+</p>
+
+<center class="math-display" >
+<img
+src="user_21-56x.png" alt="|--------------------------------------------------------------|
+|MasterBoot-Record-Boot--sector-------Operating-systems-----------
+|DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
+---------------→---LOADLIN-------→---Linux----------------------
+" class="math-display" /></center>
+<!--l. 528--><p class="noindent" >A typical <span
+class="cmss-10x-x-109">LOADLIN </span>setup: everything happens like when booting MS-DOS, but in <span
+class="cmtt-10x-x-109">CONFIG.SYS </span>or
+<span
+class="cmtt-10x-x-109">AUTOEXEC.BAT</span>, LOADLIN is invoked. Typically, a program like <span
+class="cmtt-10x-x-109">BOOT.SYS </span>is used to choose among
+configuration sections in <span
+class="cmtt-10x-x-109">CONFIG.SYS </span>and <span
+class="cmtt-10x-x-109">AUTOEXEC.BAT</span>. This approach has the pleasant property that no
+boot sectors have to be altered.
+</p><!--l. 535--><p class="noindent" >Please refer to the documentation accompanying the LOADLIN package for installation instructions and
+further details.
+</p><!--l. 539--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.3 </span> <a
+ id="x1-100002.2.3"></a>LILO started by DOS-MBR</h5>
+<!--l. 542--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-57x.png" alt="|--------------------------------------------------------|
+|Master Boot Record Boot sector Operating system |
+|DOS---MBR-------→---LILO-----------→---Linux-------------|
+| |
+----------------→---other-OS-----------------------------
+" class="math-display" /></center>
+<!--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.
+If the other OS (or one of them, if there are several other operating systems being used) should
+be booted without using LILO, the other partition has to be marked “active” with <span
+class="cmss-10x-x-109">fdisk </span>or
+<span
+class="cmss-10x-x-109">activate</span>.
+</p><!--l. 556--><p class="noindent" >Installation: </p>
+ <ul class="itemize1">
+ <li class="itemize">install LILO with its boot sector on the Linux partition.
+ </li>
+ <li class="itemize">use <span
+class="cmss-10x-x-109">fdisk </span>or <span
+class="cmss-10x-x-109">activate </span>to make that partition active.
+ </li>
+ <li class="itemize">reboot.</li></ul>
+
+<!--l. 563--><p class="noindent" >Deinstallation: </p>
+ <ul class="itemize1">
+ <li class="itemize">make a different partition active.
+ </li>
+ <li class="itemize">install whatever should replace LILO and/or Linux.</li></ul>
+<!--l. 570--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.4 </span> <a
+ id="x1-110002.2.4"></a>Several alternate branches</h5>
+<!--l. 575--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-58x.png" alt="|--------------------------------------------------------------|
+|MasterBoot-Record-Boot--sector-------Operating-systems-----------
+|DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
+| -→ LOADLIN ---→ Linux
+| -→ LILO ----- --→ Linux
+---------------→---MS---DOS--—--⋅⋅⋅------------------------------
+" class="math-display" /></center>
+<!--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
+MS-DOS. (LILO could also boot other operating systems.)
+</p><!--l. 590--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.5 </span> <a
+ id="x1-120002.2.5"></a>LILO started by <span
+class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><a
+href="user_21-56.html#fn6x0"><sup class="textsuperscript">6</sup></a></span></h5>
+<!--l. 593--><p class="noindent" ><a
+ id="x1-12001f6"></a>
+</p><!--l. 596--><p class="noindent" >
+
+</p>
+<center class="math-display" >
+<img
+src="user_21-59x.png" alt="|--------------------------------------------------------|
+|Master-Boot-Record-Boot-sector--------Operating-system---|
+|BOOTACTV --→ LILO ------- -→ Linux |
+| - → other OS
+---------------------------------------------------------
+" class="math-display" /></center>
+<!--l. 604--><p class="noindent" >Here, the MBR is replaced by <span
+class="cmss-10x-x-109">BOOTACTV </span>(or any other interactive boot partition
+selector) and the choice between Linux and the other operating system(s) can be made
+at boot time. This approach should be used if LILO fails to boot the other operating
+system(s).<span class="footnote-mark"><a
+href="user_21-57.html#fn7x0"><sup class="textsuperscript">7</sup></a></span><a
+ id="x1-12002f7"></a>
+</p><!--l. 612--><p class="noindent" >Installation: </p>
+ <ul class="itemize1">
+ <li class="itemize">boot Linux.
+ </li>
+ <li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=/dev/hda</span><span
+class="cmtt-10x-x-109"> of=/fd/MBR</span><span
+class="cmtt-10x-x-109"> bs=512</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span>
+ </li>
+ <li class="itemize">install LILO with the boot sector on the Linux partition.
+ </li>
+ <li class="itemize">install <span
+class="cmss-10x-x-109">BOOTACTV </span>as the MBR, e.g. <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=bootactv.bin</span><span
+class="cmtt-10x-x-109"> of=/dev/hda</span><span
+class="cmtt-10x-x-109"> bs=446</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span>
+ </li>
+ <li class="itemize">reboot.</li></ul>
+<!--l. 623--><p class="noindent" >Deinstallation: </p>
+ <ul class="itemize1">
+ <li class="itemize">boot Linux.
+ </li>
+ <li class="itemize">restore the old MBR, e.g. <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=/MBR</span><span
+class="cmtt-10x-x-109"> of=/dev/hda</span><span
+class="cmtt-10x-x-109"> bs=446</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span> <br
+class="newline" />or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">FDISK</span><span
+class="cmtt-10x-x-109"> /MBR</span></span></span> under MS-DOS.</li></ul>
+<!--l. 631--><p class="noindent" >If replacing the MBR appears undesirable and if a second Linux partition exists (e.g. <span
+class="cmtt-10x-x-109">/usr</span>,
+<span
+class="cmbx-10x-x-109">not </span>a swap partition), <span
+class="cmss-10x-x-109">BOOTACTV </span>can be merged with the partition table and stored as the
+
+“boot sector” of that partition. Then, the partition can be marked active to be booted by the
+DOS-MBR.
+</p><!--l. 637--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-1">
+# dd if=/dev/hda of=/dev/hda3 bs=512 count=1
+ <br /># dd if=bootactv.bin of=/dev/hda3 bs=446 count=1</div>
+<!--l. 641--><p class="nopar" >
+</p><!--l. 643--><p class="noindent" ><span
+class="cmbx-10x-x-109">WARNING: </span>Whenever the disk is re-partitioned, the merged boot sector on that “spare” Linux partition
+has to be updated too.
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.6 </span> <a
+ id="x1-130002.2.6"></a>LILO alone</h5>
+<!--l. 650--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-510x.png" alt="|------------------------------------|
+|MasterBoot-Record-Operating-system--|
+|LILO --- -----→ Linux |
+| -→ other OS |
+--------------------------------------
+" class="math-display" /></center>
+<!--l. 658--><p class="noindent" >LILO can also take over the entire boot procedure. If installed as the MBR, LILO is responsible for either
+booting Linux or any other OS. This approach has the disadvantage, that the old MBR is overwritten and
+has to be restored (either from a backup copy, with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">FDISK</span><span
+class="cmtt-10x-x-109"> /MBR</span></span></span> on recent versions of MS-DOS or
+by overwriting it with something like <span
+class="cmss-10x-x-109">BOOTACTV</span>) if Linux should ever be removed from the
+system.
+</p><!--l. 665--><p class="noindent" >You should verify that LILO is able to boot your other operating system(s) before relying on this
+method.
+</p><!--l. 668--><p class="noindent" >Installation: </p>
+ <ul class="itemize1">
+ <li class="itemize">boot Linux.
+ </li>
+ <li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=/dev/hda</span><span
+class="cmtt-10x-x-109"> of=/fd/MBR</span><span
+class="cmtt-10x-x-109"> bs=512</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span>
+ </li>
+ <li class="itemize">install LILO with its boot sector as the MBR.
+
+ </li>
+ <li class="itemize">reboot.</li></ul>
+<!--l. 677--><p class="noindent" >Deinstallation: </p>
+ <ul class="itemize1">
+ <li class="itemize">boot Linux.
+ </li>
+ <li class="itemize">restore the old MBR, e.g. <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=/fd/MBR</span><span
+class="cmtt-10x-x-109"> of=/dev/hda</span><span
+class="cmtt-10x-x-109"> bs=446</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span></li></ul>
+<!--l. 684--><p class="noindent" >If you’ve installed LILO as the master boot record, you have to explicitly specify the boot sector
+(configuration variable <span
+class="cmtt-10x-x-109">boot=</span><span
+class="cmmi-10x-x-109">…</span>) when updating the map. Otherwise, it will try to use the boot sector of
+your current root partition, which will usually work, but it will probably leave your system
+unbootable.
+</p><!--l. 691--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.2.7 </span> <a
+ id="x1-140002.2.7"></a>Names</h5>
+<!--l. 693--><p class="noindent" >The following names have been used to describe boot sectors or parts of operating systems:
+</p><!--l. 696--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmbx-10x-x-109">“DOS-MBR”</span> </dt><dd
+class="description">is the original MS-DOS MBR. It scans the partition table for a partition that is
+ marked “active” and loads the boot sector of that partition. Programs like MS-DOS’ <span
+class="cmss-10x-x-109">FDISK</span>,
+ Linux <span
+class="cmss-10x-x-109">fdisk </span>or <span
+class="cmss-10x-x-109">activate </span>(accompanies LILO) can change the active marker in the partition table.
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">“MS-DOS”</span> </dt><dd
+class="description">denotes the MS-DOS boot sector that loads the other parts of the system (<span
+class="cmtt-10x-x-109">IO.SYS</span>,
+ etc.).
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">“COMMAND.COM”</span> </dt><dd
+class="description">is the standard command interpreter of MS-DOS.
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">“LOADLIN”</span> </dt><dd
+class="description">is a program that loads a Linux kernel image from an MS-DOS partition into memory
+ and executes it. It is usually invoked from <span
+class="cmtt-10x-x-109">CONFIG.SYS </span>and is used in combination with a
+ <span
+class="cmtt-10x-x-109">CONFIG.SYS </span>configuration switcher, like BOOT.SYS.<span class="footnote-mark"><a
+href="user_21-58.html#fn8x0"><sup class="textsuperscript">8</sup></a></span><a
+ id="x1-14001f8"></a>
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">“LILO”</span> </dt><dd
+class="description">can either load a Linux kernel or the boot sector of any other operating system. It has a first
+
+ stage boot sector that loads the remaining parts of LILO from various locations.<span class="footnote-mark"><a
+href="user_21-59.html#fn9x0"><sup class="textsuperscript">9</sup></a></span><a
+ id="x1-14002f9"></a>
+ </dd><dt class="description">
+<span
+class="cmbx-10x-x-109">“BOOTACTV”</span> </dt><dd
+class="description">permits interactive selection of the partition from which the boot sector should
+ be read. If no key is pressed within a given interval, the partition marked active is booted.
+ <span
+class="cmss-10x-x-109">BOOTACTV </span>is included in the <span
+class="cmss-10x-x-109">pfdisk </span>package. There are also several similar programs, like
+ PBOOT and OS-BS.<span class="footnote-mark"><a
+href="user_21-510.html#fn10x0"><sup class="textsuperscript">10</sup></a></span><a
+ id="x1-14003f10"></a></dd></dl>
+<!--l. 739--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a
+ id="x1-150002.3"></a>Choosing the “right” boot concept</h4>
+<!--l. 741--><p class="noindent" >Although LILO can be installed in many different ways, the choice is usually limited by the present
+setup and therefore, typically only a small number of configurations which fit naturally into an
+existing system remains. The following sections describe various possible cases. See also section
+<a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
+</p><!--l. 747--><p class="noindent" >The configuration file <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>for the examples could look like this:
+
+</p>
+<div class="verbatim" id="verbatim-2">
+boot = /dev/hda2
+ <br />compact
+ <br />image = /vmlinuz
+ <br />image = /vmlinuz.old
+ <br />other = /dev/hda1
+ <br />  table = /dev/hda
+ <br />  label = msdos</div>
+<!--l. 758--><p class="nopar" >
+</p><!--l. 760--><p class="noindent" >It installs a Linux kernel image (<span
+class="cmtt-10x-x-109">/vmlinuz</span>), an alternate Linux kernel image (<span
+class="cmtt-10x-x-109">/vmlinuz.old</span>) and a chain
+loader to boot MS-DOS from <span
+class="cmtt-10x-x-109">/dev/hda1</span>. The option <span
+class="cmtt-10x-x-109">compact </span>on the second line instructs the map installer
+to optimize loading.
+</p><!--l. 765--><p class="noindent" >In all examples, the names of the IDE-type hard disk devices (<span
+class="cmtt-10x-x-109">/dev/hda</span><span
+class="cmmi-10x-x-109">…</span>) are used. Everything applies to
+other disk types (e.g. SCSI disks; <span
+class="cmtt-10x-x-109">/dev/sda</span><span
+class="cmmi-10x-x-109">…</span>) too.
+</p><!--l. 770--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.1 </span> <a
+ id="x1-160002.3.1"></a>BIOS restrictions</h5>
+<!--l. 773--><p class="noindent" >Nowadays, an increasing number of systems is equipped with comparably large disks or even with
+multiple disks. At the time the disk interface of the standard PC BIOS has been designed (about
+16 years ago), such configurations were apparently considered to be too unlikely to be worth
+supporting.
+</p><!--l. 778--><p class="noindent" >The most common BIOS restrictions that affect LILO are the limitation to two hard disks and the inability
+to access more than 1024 cylinders per disk. LILO can detect both conditions, but in order to work around
+the underlying problems, manual intervention is necessary.
+</p><!--l. 783--><p class="noindent" >The drive limit does not exist in every BIOS. Some modern motherboards and disk controllers
+are equipped with a BIOS that supports more (typically four) disk drives. When attempting
+to access the third, fourth, etc. drive, LILO prints a warning message but continues. Unless
+the BIOS really supports more than two drives, the system will <span
+class="cmbx-10x-x-109">not </span>be able to boot in that
+case.<span class="footnote-mark"><a
+href="user_21-511.html#fn11x0"><sup class="textsuperscript">11</sup></a></span><a
+ id="x1-16001f11"></a>
+</p><!--l. 792--><p class="noindent" >The cylinder limit is a very common problem with IDE disks. There, the number of cylinders may already
+exceed 1024 if the drive has a capacity of more than 504 MB. Many SCSI driver BIOSes present the disk
+geometry in a way that makes the limit occur near 1 GB. Modern disk controllers may even push
+
+the limit up to about 8 GB. All cylinders beyond the 1024th are inaccessible for the BIOS.
+LILO detects this problem and aborts the installation (unless the <span
+class="cmtt-10x-x-109">linear </span>option is used, see section
+<a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
+</p><!--l. 801--><p class="noindent" >Note that large partitions that only partially extend into the “forbidden zone” are still in jeopardy even
+if they appear to work at first, because the file system does not know about the restrictions
+and may allocate disk space from the area beyond the 1024th cylinder when installing new
+kernels. LILO therefore prints a warning message but continues as long as no imminent danger
+exists.
+</p><!--l. 808--><p class="noindent" >There are four approaches of how such problems can be solved: </p>
+ <ul class="itemize1">
+ <li class="itemize">use of a different partition which is on an accessible disk and which does not exceed the 1024
+ cylinder limit. If there is only a DOS partition which fulfills all the criteria, that partition can
+ be used to store the relevant files. (See section <a
+href="#x1-230002.3.8">2.3.8<!--tex4ht:ref: viados --></a>.)
+ </li>
+ <li class="itemize">rearranging partitions and disks. This is typically a destructive operation, so extra care should
+ be taken to make good backups.
+ </li>
+ <li class="itemize">if the system is running DOS or Windows 95, <span
+class="cmss-10x-x-109">LOADLIN </span>can be used instead of LILO.
+ </li>
+ <li class="itemize">if all else fails, installation of a more capable BIOS, a different controller or a different disk
+ configuration.</li></ul>
+<!--l. 822--><p class="noindent" >LILO depends on the BIOS to load the following items: </p>
+ <ul class="itemize1">
+ <li class="itemize"><span
+class="cmtt-10x-x-109">/boot/boot.b</span>
+ </li>
+ <li class="itemize"><span
+class="cmtt-10x-x-109">/boot/map </span>(created when running <span
+class="cmtt-10x-x-109">/sbin/lilo</span>)
+ </li>
+ <li class="itemize">all kernels
+ </li>
+ <li class="itemize">the boot sectors of all other operating systems it boots
+ </li>
+ <li class="itemize">the startup message, if one has been defined</li></ul>
+<!--l. 831--><p class="noindent" >Normally, this implies that the Linux root file system should be in the “safe” area. However, it is already
+sufficient to put all kernels into <span
+class="cmtt-10x-x-109">/boot </span>and to either mount a “good” partition on <span
+class="cmtt-10x-x-109">/boot </span>or to let <span
+class="cmtt-10x-x-109">/boot </span>be a
+symbolic link pointing to or into such a partition.
+</p><!--l. 837--><p class="noindent" >See also <span
+class="cmtt-10x-x-109">/usr/src/linux/Documentation/ide.txt </span>(or <span
+class="cmtt-10x-x-109">/usr/src/linux/drivers/block/README.ide </span>in
+older kernels) for a detailed description of problems with large disks.
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.2 </span> <a
+ id="x1-170002.3.2"></a>One disk, Linux on a primary partition</h5>
+
+<!--l. 844--><p class="noindent" >If at least one primary partition of the first hard disk is used as a Linux file system (<span
+class="cmtt-10x-x-109">/</span>, <span
+class="cmtt-10x-x-109">/usr</span>, etc. but <span
+class="cmbx-10x-x-109">not </span>as
+a swap partition), the LILO boot sector should be stored on that partition and it should be booted by the
+original master boot record or by a program like <span
+class="cmss-10x-x-109">BOOTACTV</span>.
+</p><!--l. 851--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-511x.png" alt=" |------------------------|
+ |MBR----------/dev/hda---|
+ | |MS--DOS----/dev/hda1--|
+→ ---Linux-/----/dev/hda2---
+" class="math-display" /></center>
+<!--l. 870--><p class="noindent" >In this example, the <span
+class="cmtt-10x-x-109">boot </span>variable could be omitted, because the boot sector is on the root
+partition.
+</p><!--l. 874--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.3 </span> <a
+ id="x1-180002.3.3"></a>One disk, Linux on a logical partition</h5>
+<!--l. 876--><p class="noindent" >If no primary partition is available for Linux, but at least one logical partition of an extended partition on
+the first hard disk contains a Linux file system, the LILO boot sector should be stored in the partition
+sector of the extended partition and it should be booted by the original master boot record or by a program
+like <span
+class="cmss-10x-x-109">BOOTACTV</span>.
+</p><!--l. 882--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-512x.png" alt=" |------------------------|
+ |MBR----------/dev/hda---|
+ | |MS -DOS /dev/hda1 |
+→ | |Extended---/dev/hda2--|
+ | | |Linux---/dev/hda5--|
+ | | |-------------------|
+ ------...-----/dev/hda6---
+" class="math-display" /></center>
+
+<!--l. 909--><p class="noindent" >Because many disk partitioning programs refuse to make an extended partition (in our example <span
+class="cmtt-10x-x-109">/dev/hda2</span>)
+active, you might have to use <span
+class="cmss-10x-x-109">activate</span>, which comes with the LILO distribution.
+</p><!--l. 913--><p class="noindent" >OS/2 BootManager should be able to boot LILO boot sectors from logical partitions. The installation on
+the extended partition itself is not necessary in this case.
+</p><!--l. 918--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.4 </span> <a
+ id="x1-190002.3.4"></a>Two disks, Linux (at least partially) on the first disk</h5>
+<!--l. 920--><p class="noindent" >This case is equivalent to the configurations where only one disk is in the system. The Linux boot sector
+resides on the first hard disk and the second disk is used later in the boot process.
+</p><!--l. 924--><p class="noindent" >Only the location of the boot sector matters – everything else (<span
+class="cmtt-10x-x-109">/boot/boot.b</span>, <span
+class="cmtt-10x-x-109">/boot/map</span>, the root file
+system, a swap partition, other Linux file systems, etc.) can be located anywhere on the second disk,
+provided that the constraints described in section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> are met.
+</p><!--l. 932--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.5 </span> <a
+ id="x1-200002.3.5"></a>Two disks, Linux on second disk, first disk has an extended partition</h5>
+<!--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
+be stored in the partition sector of the extended partition and it should be booted by the original master
+boot record or by a program like <span
+class="cmss-10x-x-109">BOOTACTV</span>.
+</p><!--l. 939--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-513x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
+ |MBR /dev/hda | |MBR /dev/hdb |
+ | |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
+→ | |Extended--/dev/hda2--| | |...--------/dev/hdb2--|
+ | | |-------------------| | | |
+ | | |...-----/dev/hda5--| | | |
+ ------...-----/dev/hda6--- --------------------------
+" class="math-display" /></center>
+<!--l. 974--><p class="noindent" >The program <span
+class="cmss-10x-x-109">activate</span>, that accompanies LILO, may have to be used to set the active marker on an extended
+partition, because MS-DOS’ <span
+class="cmss-10x-x-109">FDISK </span>and some older version of Linux <span
+class="cmss-10x-x-109">fdisk </span>refuse to do that. (Which is
+generally a good idea.)
+
+</p><!--l. 981--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.6 </span> <a
+ id="x1-210002.3.6"></a>Two disks, Linux on second disk, first disk has no extended partition</h5>
+<!--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
+left, where a LILO boot sector could be stored: the master boot record.
+</p><!--l. 987--><p class="noindent" >In this configuration, LILO is responsible for booting all other operating systems too.
+</p><!--l. 991--><p class="noindent" >
+</p>
+<center class="math-display" >
+<img
+src="user_21-514x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
+→ |MBR----------/dev/hda---| |MBR----------/dev/hdb---|
+ | |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
+ ----...-------/dev/hda2--- ---...--------/dev/hdb2---
+" class="math-display" /></center>
+<!--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
+operating system(s) before relying on this approach.
+</p><!--l. 1023--><p class="noindent" >The line <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">boot</span><span
+class="cmtt-10x-x-109"> =</span><span
+class="cmtt-10x-x-109"> /dev/hda2</span></span></span> in <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>would have to be changed to <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">boot</span><span
+class="cmtt-10x-x-109"> =</span><span
+class="cmtt-10x-x-109"> /dev/hda</span></span></span> in this
+example.
+</p><!--l. 1027--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.7 </span> <a
+ id="x1-220002.3.7"></a>More than two disks</h5>
+<!--l. 1029--><p class="noindent" >On systems with more than two disks, typically only the first two can be accessed. The configuration choices
+are therefore the same as with two disks.
+</p><!--l. 1033--><p class="noindent" >When attempting to access one of the extra disks, LILO displays a warning message (<span
+class="cmtt-10x-x-109">Warning: BIOS</span>
+<span
+class="cmtt-10x-x-109">drive 0x</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmtt-10x-x-109">may not be accessible</span>) but does not abort. This is done in order to allow the lucky
+few whose BIOS (or controller-BIOS) does support more than two drives to make use of this feature. By all
+others, this warning should be considered a fatal error.
+</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
+disks once it is booted.
+
+</p><!--l. 1044--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">2.3.8 </span> <a
+ id="x1-230002.3.8"></a><span
+class="cmtt-10x-x-109">/boot </span>on a DOS partition</h5>
+<!--l. 1047--><p class="noindent" >Recent kernels support all the functions LILO needs to map files also on MS-DOS (or UMSDOS) file
+systems. Since DOS partitions tend to occupy exactly the places where BIOS restrictions (see section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>)
+are invisible, they’re an ideal location for <span
+class="cmtt-10x-x-109">/boot </span>if the native Linux file systems can’t be used because of
+BIOS problems.
+</p><!--l. 1053--><p class="noindent" >In order to accomplish this, the DOS partition is mounted read-write, a directory (e.g. <span
+class="cmtt-10x-x-109">/dos/linux</span>) is
+created, all files from <span
+class="cmtt-10x-x-109">/boot </span>are moved to that directory, <span
+class="cmtt-10x-x-109">/boot </span>is replaced by a symbolic link to it, the
+kernels are also moved to the new directory, their new location is recorded in <span
+class="cmtt-10x-x-109">/etc/lilo.conf</span>, and finally
+<span
+class="cmtt-10x-x-109">/sbin/lilo </span>is run.
+</p><!--l. 1060--><p class="noindent" >From then on, new kernels must always be copied into that directory on the DOS partition
+before running <span
+class="cmtt-10x-x-109">/sbin/lilo</span>, e.g. when recompiling a kernel, the standard procedure changes
+from
+
+</p>
+<div class="verbatim" id="verbatim-3">
+# make zlilo</div>
+<!--l. 1066--><p class="nopar" >
+</p><!--l. 1068--><p class="noindent" >to
+
+</p>
+<div class="verbatim" id="verbatim-4">
+# make zImage
+ <br /># mv /dos/linux/vmlinuz /dos/linux/vmlinuz.old
+ <br /># mv arch/i386/boot/zImage /dos/linux/vmlinuz
+ <br /># /sbin/lilo</div>
+<!--l. 1075--><p class="nopar" >
+</p><!--l. 1077--><p class="noindent" ><span
+class="cmbx-10x-x-109">WARNING: </span>De-fragmenting such a DOS partition is likely to make Linux or even the whole
+system unbootable. Therefore, the DOS partition should either not be de-fragmented, or a Linux
+boot disk should be prepared (and tested) to bring up Linux and to run <span
+class="cmtt-10x-x-109">/sbin/lilo </span>after the
+de-fragmentation.<span class="footnote-mark"><a
+href="user_21-512.html#fn12x0"><sup class="textsuperscript">12</sup></a></span><a
+ id="x1-23001f12"></a>
+</p><!--l. 1087--><p class="noindent" >
+
+</p>
+<h3 class="sectionHead"><span class="titlemark">3 </span> <a
+ id="x1-240003"></a>The boot prompt</h3>
+<!--l. 1091--><p class="noindent" >Immediately after it’s loaded, LILO checks whether one of the following is happening:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">any of the [Shift], [Control] or [Alt] keys is pressed.
+ </li>
+ <li class="itemize">[CapsLock] or [ScrollLock] is set.</li></ul>
+<!--l. 1100--><p class="noindent" >If this is the case, LILO displays the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">boot:</span></span></span> prompt and waits for the name of a boot
+image (i.e. Linux kernel or other operating system). Otherwise, it boots the default boot
+image<span class="footnote-mark"><a
+href="user_21-513.html#fn13x0"><sup class="textsuperscript">13</sup></a></span><a
+ id="x1-24001f13"></a>
+or – if a delay has been specified – waits for one of the listed activities until that amount of time has
+passed.
+</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
+[BackSpace], [Delete], [Ctrl U] and [Ctrl X]. A list of known images can be obtained by pressing [?] or
+[Tab].
+</p><!--l. 1115--><p class="noindent" >If [Enter] is pressed and no file name has been entered, the default image is booted.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
+ id="x1-250003.1"></a>Boot command-line options</h4>
+<!--l. 1121--><p class="noindent" >LILO is also able to pass command-line options to the kernel. Command-line options are words that follow
+the name of the boot image and that are separated by spaces.
+</p><!--l. 1125--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-5">
+boot: linux single root=200</div>
+<!--l. 1128--><p class="nopar" >
+</p><!--l. 1130--><p class="noindent" >This document only gives an overview of boot options. Please consult Paul Gortmaker’s BootPrompt-HOWTO
+for a more complete and more up to date list. You can get it from
+</p><!--l. 1134--><p class="noindent" ><span
+class="cmtt-10x-x-109">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/BootPrompt-HOWTO.gz</span>
+</p><!--l. 1136--><p class="noindent" >or from one of the many mirror sites.
+</p><!--l. 1139--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a
+ id="x1-260003.1.1"></a>Standard options</h5>
+<!--l. 1141--><p class="noindent" >Recent kernels recognize a large number of options, among them are <span
+class="cmtt-10x-x-109">debug</span>, <span
+class="cmtt-10x-x-109">no387</span>, <span
+class="cmtt-10x-x-109">no-hlt</span>, <span
+class="cmtt-10x-x-109">ramdisk=</span><span
+class="cmti-10x-x-109">size</span>,
+<span
+class="cmtt-10x-x-109">reserve=</span><span
+class="cmti-10x-x-109">base</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmti-10x-x-109">size</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmmi-10x-x-109">…</span>, <span
+class="cmtt-10x-x-109">root=</span><span
+class="cmti-10x-x-109">device</span>, <span
+class="cmtt-10x-x-109">ro</span>, and <span
+class="cmtt-10x-x-109">rw</span>. All current <span
+class="cmss-10x-x-109">init </span>programs also recognize the option <span
+class="cmtt-10x-x-109">single</span>.
+The options <span
+class="cmtt-10x-x-109">lock </span>and <span
+class="cmtt-10x-x-109">vga </span>are processed by the boot loader itself. Boot command-line options are always
+case-sensitive.
+</p><!--l. 1149--><p class="noindent" ><span
+class="cmtt-10x-x-109">single </span>boots the system in single-user mode. This bypasses most system initialization procedures and
+directly starts a root shell on the console. Multi-user mode can typically be entered by exiting the
+single-user shell or by rebooting.
+</p><!--l. 1154--><p class="noindent" ><span
+class="cmtt-10x-x-109">root=</span><span
+class="cmti-10x-x-109">device </span>changes the root device. This overrides settings that may have been made in the
+boot image and on the LILO command line. <span
+class="cmti-10x-x-109">device </span>is either the hexadecimal device number
+<span class="footnote-mark"><a
+href="user_21-514.html#fn14x0"><sup class="textsuperscript">14</sup></a></span><a
+ id="x1-26001f14"></a> or the full path name of
+the device, e.g. <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">/dev/hda3</span></span></span>.<span class="footnote-mark"><a
+href="user_21-515.html#fn15x0"><sup class="textsuperscript">15</sup></a></span><a
+ id="x1-26002f15"></a>
+
+</p><!--l. 1175--><p class="noindent" ><span
+class="cmtt-10x-x-109">reserve=</span><span
+class="cmti-10x-x-109">base</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmti-10x-x-109">size</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmmi-10x-x-109">…</span> reserves IO port regions. This can be used to prevent device drivers from auto-probing
+addresses where other devices are located, which get confused by the probing.
+</p><!--l. 1179--><p class="noindent" ><span
+class="cmtt-10x-x-109">ro </span>instructs the kernel to mount the root file system read-only. <span
+class="cmtt-10x-x-109">rw </span>mounts it read-write. If neither <span
+class="cmtt-10x-x-109">ro </span>nor <span
+class="cmtt-10x-x-109">rw</span>
+is specified, the setting from the boot image is used.
+</p><!--l. 1183--><p class="noindent" ><span
+class="cmtt-10x-x-109">no-hlt </span>avoids executing a <span
+class="cmtt-10x-x-109">HLT </span>instructions whenever the system is idle. <span
+class="cmtt-10x-x-109">HLT </span>normally significantly reduces
+power consumption and therefore also heat dissipation of the CPU, but may not work properly with some
+clone CPUs. <span
+class="cmtt-10x-x-109">no387 </span>disables using the hardware FPU even if one is present.
+</p><!--l. 1189--><p class="noindent" ><span
+class="cmtt-10x-x-109">debug </span>enables more verbose console logging.
+</p><!--l. 1191--><p class="noindent" >Recent kernels also accept the options <span
+class="cmtt-10x-x-109">init=</span><span
+class="cmti-10x-x-109">name </span>and <span
+class="cmtt-10x-x-109">noinitrd</span>. <span
+class="cmtt-10x-x-109">init </span>specifies the name of the <span
+class="cmss-10x-x-109">init</span>
+program to execute. Therefore, if single mode cannot be entered because <span
+class="cmss-10x-x-109">init </span>is mis-configured, one may still
+be able to reach a shell using <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">init=/bin/sh</span></span></span>. <span
+class="cmtt-10x-x-109">noinitrd </span>disables automatic loading of the initial RAM disk.
+Instead, its content is then available on <span
+class="cmtt-10x-x-109">/dev/initrd</span>.
+</p><!--l. 1198--><p class="noindent" ><span
+class="cmtt-10x-x-109">vga=</span><span
+class="cmti-10x-x-109">mode </span>alters the VGA mode set at startup. The values <span
+class="cmtt-10x-x-109">normal</span>, <span
+class="cmtt-10x-x-109">extended</span>, <span
+class="cmtt-10x-x-109">ask </span>or a decimal number are
+recognized. (See also page <span class="pageref"><a
+href="#x1-450004.2.4"><span
+class="tcrm-1095">§</span></a></span>.)
+</p><!--l. 1202--><p class="noindent" ><span
+class="cmtt-10x-x-109">kbd=</span><span
+class="cmti-10x-x-109">code</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmmi-10x-x-109">…</span> preloads a sequence of keystrokes in the BIOS keyboard buffer. The keystrokes have to be
+entered as 16 bit hexadecimal numbers, with the upper byte containing the scan code and the lower byte
+containing the ASCII code. Note that most programs only use the ASCII code, so the scan code can
+frequently be omitted. Scan code tables can be found in many books on PC hardware. Note that scan codes
+depend on the keyboard layout.
+</p><!--l. 1210--><p class="noindent" >Finally, <span
+class="cmtt-10x-x-109">lock </span>stores the current command-line as the default command-line, so that LILO boots the same
+image with the same options (including <span
+class="cmtt-10x-x-109">lock</span>) when invoked the next time.
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a
+ id="x1-270003.1.2"></a>Device-specific options</h5>
+<!--l. 1217--><p class="noindent" >There is also a plethora of options to specify certain characteristics (e.g. IO and memory addresses) of
+devices. Some common ones are <span
+class="cmtt-10x-x-109">ether</span>, <span
+class="cmtt-10x-x-109">floppy</span>, <span
+class="cmtt-10x-x-109">hd</span>, <span
+class="cmtt-10x-x-109">bmouse</span>, and <span
+class="cmtt-10x-x-109">sound</span>. The usage of these options is
+<span
+class="cmti-10x-x-109">option</span><span
+class="cmtt-10x-x-109">=</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmmi-10x-x-109">…</span>. Please consult the corresponding FAQs and HOWTOs for details. For an overview of all
+available options, consult the file <span
+class="cmtt-10x-x-109">init/main.c </span>in the kernel source tree.
+</p><!--l. 1226--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a
+ id="x1-280003.1.3"></a>Other options</h5>
+<!--l. 1228--><p class="noindent" >Options of the type <span
+class="cmti-10x-x-109">variable</span><span
+class="cmtt-10x-x-109">=</span><span
+class="cmti-10x-x-109">value </span>which are neither standard options nor device-specific options, cause the
+respective variables to be set in the environment passed to <span
+class="cmss-10x-x-109">init</span>. The case of the variable name is preserved,
+i.e. it isn’t automatically converted to upper case.
+</p><!--l. 1234--><p class="noindent" >Note that environment variables passed to <span
+class="cmss-10x-x-109">init </span>are typically available in system initialization scripts (e.g.
+<span
+class="cmtt-10x-x-109">/etc/rc.local</span>), but they’re not visible from ordinary login sessions, because the <span
+class="cmss-10x-x-109">login </span>program removes
+them from the user’s environment.
+
+</p><!--l. 1240--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a
+ id="x1-290003.1.4"></a>Repeating options</h5>
+<!--l. 1242--><p class="noindent" >The effect of repeating boot command-line options depends on the
+options.<span class="footnote-mark"><a
+href="#fn16x0"><sup class="textsuperscript">16</sup></a></span><a
+ id="x1-29001f16"></a>
+There are three possible behaviours:
+</p><!--l. 1252--><p class="noindent" >Options that only enable or disable a certain functionality can be repeated any number of times. <span
+class="cmtt-10x-x-109">debug</span>,
+<span
+class="cmtt-10x-x-109">lock</span>, <span
+class="cmtt-10x-x-109">no-hlt</span>, and <span
+class="cmtt-10x-x-109">no387 </span>fall into this category.
+</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
+matters. The antagonists <span
+class="cmtt-10x-x-109">ro </span>and <span
+class="cmtt-10x-x-109">rw </span>are such options. Also, <span
+class="cmtt-10x-x-109">ramdisk</span>, <span
+class="cmtt-10x-x-109">root</span>, and <span
+class="cmtt-10x-x-109">vga </span>work this way.
+Example: <span
+class="cmtt-10x-x-109">ro rw </span>would mount the root file system read-write.
+</p><!--l. 1262--><p class="noindent" >Finally, when <span
+class="cmtt-10x-x-109">reserve </span>and many device-specific options are repeated, each occurrence has its own meaning,
+e.g.
+</p><!--l. 1265--><p class="noindent" ><span
+class="cmtt-10x-x-109">hd=</span><span
+class="cmmi-10x-x-109">…</span> <span
+class="cmtt-10x-x-109">hd=</span><span
+class="cmmi-10x-x-109">…</span> would configure two hard disks, and
+</p><!--l. 1267--><p class="noindent" ><span
+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
+equivalent to writing <span
+class="cmtt-10x-x-109">reserve=0x300,8,0x5f0,16</span>).
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a
+ id="x1-300003.1.5"></a>Implicit options</h5>
+<!--l. 1274--><p class="noindent" >LILO always passes the string <span
+class="cmtt-10x-x-109">BOOT</span><span
+class="cmtt-10x-x-109">_IMAGE=</span><span
+class="cmti-10x-x-109">name </span>to the kernel, where <span
+class="cmti-10x-x-109">name </span>is the name by which the
+kernel is identified (e.g. the label). This variable can be used in <span
+class="cmtt-10x-x-109">/etc/rc </span>to select a different behaviour,
+depending on the kernel.
+</p><!--l. 1279--><p class="noindent" >When booting automatically, i.e. without human intervention, the word <span
+class="cmtt-10x-x-109">auto </span>is also passed
+on the command line. This can be used by <span
+class="cmss-10x-x-109">init </span>to suppress interactive prompts in the boot
+phase.
+</p><!--l. 1285--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
+ id="x1-310003.2"></a>Boot image selection</h4>
+<!--l. 1288--><p class="noindent" >The details of selecting the boot image are somewhat complicated. The following tables illustrate them.
+First, if neither <span
+class="cmtt-10x-x-109">prompt </span>is set nor a shift key is being pressed:
+</p><!--l. 1292--><p class="noindent" >
+
+</p>
+<center class="math-display" >
+<img
+src="user_21-520x.png" alt=" |
+ Externally Command | Auto- Booted image
+ provided line in | matic
+ cmd. line17 map file18 |boot19
+-----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
+ 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
+ |
+ | command line
+ No Yes | Yes Specified by command line
+ | in map file
+" class="math-display" /></center>
+<!--l. 1320--><p class="noindent" >If <span
+class="cmtt-10x-x-109">prompt </span>is not set and a shift key is being pressed:
+</p>
+<center class="math-display" >
+<img
+src="user_21-521x.png" alt=" |
+ Input Empty Extern. Cmd.l. |Auto- Booted image
+ timeout cmd.l. cmd.l. in map |matic
+ file |boot
+----No------No-------—--------—-----|-No----Specified-by-the-user-
+ |
+ No Yes — — | No Default image
+ Yes n/a — — | Yes Default image
+" class="math-display" /></center>
+<!--l. 1333--><p class="noindent" >Finally, if the configuration variable <span
+class="cmtt-10x-x-109">prompt </span>is set:
+</p>
+<center class="math-display" >
+<img
+src="user_21-522x.png" alt=" Input Empty Extern. Cmd.l. |Auto - Booted image
+ |
+ timeout cmd.l. cmd.l. in map |matic
+------------------------------file---|-boot------------------------
+ No No No No | No Specified by the user
+ No Yes No No | No Default image
+ Yes n/a No No | Yes Default image
+ n/a n/a Yes — | Yes Specified by external
+ | command line
+ |
+ n/a n/a No Yes | Yes Specified by command
+ | line in map file
+" class="math-display" /></center>
+<!--l. 1350--><p class="noindent" >Note that LILO pauses for the amount of time specified in <span
+class="cmtt-10x-x-109">delay </span>when at the end of a default command
+line. The automatic boot can then be interrupted by pressing a modifier key ([Shift], [Ctrl],
+etc.).
+</p><!--l. 1354--><p class="noindent" >The default image is the first image in the map file or the image specified with the <span
+class="cmtt-10x-x-109">default</span>
+variable. However, after an unsuccessful boot attempt, the respective image becomes the default
+image.
+</p><!--l. 1360--><p class="noindent" >
+
+</p>
+<h3 class="sectionHead"><span class="titlemark">4 </span> <a
+ id="x1-320004"></a>Map installer</h3>
+<!--l. 1363--><p class="noindent" >The map installer program <span
+class="cmtt-10x-x-109">/sbin/lilo </span>updates the boot sector and creates the map file. If the map
+installer detects an error, it terminates immediately and does not touch the boot sector and the map
+file.
+</p><!--l. 1367--><p class="noindent" >Whenever the map installer updates a boot sector, the original boot sector is copied to <br
+class="newline" /><span
+class="cmtt-10x-x-109">/boot/boot.</span><span
+class="cmti-10x-x-109">number </span><br
+class="newline" />where <span
+class="cmti-10x-x-109">number </span>is the hexadecimal device number. If such a file already exists, no backup copy is made.
+Similarly, a file <br
+class="newline" /><span
+class="cmtt-10x-x-109">/boot/part.</span><span
+class="cmti-10x-x-109">number </span><br
+class="newline" />is created if LILO modifies the partition table. (See page <span class="pageref"><a
+href="#x1-430004.2.2"><span
+class="tcrm-1095">§</span></a></span>.)
+</p><!--l. 1377--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
+ id="x1-330004.1"></a>Command-line options</h4>
+<!--l. 1379--><p class="noindent" >The LILO map installer can be invoked in the following ways:
+</p><!--l. 1387--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.1 </span> <a
+ id="x1-340004.1.1"></a>Show current installation</h5>
+<!--l. 1390--><p class="noindent" >The currently mapped files are listed. With <span
+class="cmtt-10x-x-109">-v</span>, also many parameters are shown.
+</p><!--l. 1393-->
+<p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109">-q</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-v</span> <span
+class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1401--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies the configuration file that is used by the map installer (see section <a
+href="#x1-410004.2">4.2<!--tex4ht:ref: config --></a>). If <span
+class="cmtt-10x-x-109">-C </span>is omitted,
+ <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>is used.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate map file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-q</span> </dt><dd
+class="description">  <br
+class="newline" />Lists the currently mapped files.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-v</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description"> <br
+class="newline" />Increase verbosity. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
+
+<!--l. 1415--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.2 </span> <a
+ id="x1-350004.1.2"></a>Create or update map</h5>
+<!--l. 1418--><p class="noindent" >A new map is created for the images described in the configuration file <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>and they are
+registered in the boot sector.
+</p><!--l. 1422-->
+<p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big"><img
+src="user_21-529x.png" alt="[" class="left" align="middle" /></span> <span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config_file</span> <span class="big">] [ <span
+class="cmtt-10x-x-109">-b </span><span
+class="cmti-10x-x-109">boot_device</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-c</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-l</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-i </span><span
+class="cmti-10x-x-109">boot_sector</span> <span class="big">]</span> <br
+class="newline" /><span class="big"> [</span> <span
+class="cmtt-10x-x-109">-f </span><span
+class="cmti-10x-x-109">disk_tab</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-d </span><span
+class="cmti-10x-x-109">delay</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-v</span> <span
+class="cmmi-10x-x-109">…</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-t</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-s </span><span
+class="cmti-10x-x-109">save_file</span> <span class="big"> | </span> <br
+class="newline" /><span class="big"> </span> <span
+class="cmtt-10x-x-109">-S </span><span
+class="cmti-10x-x-109">save</span><span
+class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-P fix</span> <span class="big"> | </span> <span
+class="cmtt-10x-x-109">-P ignore</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-r </span><span
+class="cmti-10x-x-109">root</span><span
+class="cmti-10x-x-109">_dir</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1440--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-b </span><span
+class="cmti-10x-x-109">boot<_device</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies the boot device. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-c</span> </dt><dd
+class="description"> <br
+class="newline" />Enables map compaction. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate configuration file. See also section <a
+href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-d </span><span
+class="cmti-10x-x-109">delay</span> </dt><dd
+class="description"> <br
+class="newline" />Sets the delay before LILO boots the default image. Note that the delay is specified in <span
+class="cmbx-10x-x-109">tenths</span>
+ of a second. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-D </span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies the default image. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-f </span><span
+class="cmti-10x-x-109">disk</span><span
+class="cmti-10x-x-109">_tab</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies a disk parameter table file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-i </span><span
+class="cmti-10x-x-109">boot</span><span
+class="cmti-10x-x-109">_sector</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate boot file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-L</span> </dt><dd
+class="description"> <br
+class="newline" />Enables lba32 sector addresses. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-l</span> </dt><dd
+class="description"> <br
+class="newline" />Enables linear sector addresses. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate map file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-P </span><span
+class="cmti-10x-x-109">mode</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies how invalid partition table entries should be handled. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-r </span><span
+class="cmti-10x-x-109">root</span><span
+class="cmti-10x-x-109">_directory</span> </dt><dd
+class="description">  <br
+class="newline" />Chroots to the specified directory before doing anything else. This is useful when running the
+ map installer while the normal root file system is mounted somewhere else, e.g. when recovering
+ from an installation failure with a recovery disk. The <span
+class="cmtt-10x-x-109">-r </span>option is implied if the environment
+ variable <span
+class="cmtt-10x-x-109">ROOT </span>is set.<span class="footnote-mark"><a
+href="user_21-516.html#fn20x0"><sup class="textsuperscript">20</sup></a></span><a
+ id="x1-35001f20"></a>
+ The current directory is changed to the new root directory, so using relative paths may not
+ work.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-s </span><span
+class="cmti-10x-x-109">save</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate boot sector save file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-S </span><span
+class="cmti-10x-x-109">save</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Like <span
+class="cmtt-10x-x-109">-s</span>, but overwrites old save files.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-t</span> </dt><dd
+class="description">  <br
+class="newline" />Test only. This performs the entire installation procedure except replacing the map file, writing
+ the modified boot sector and fixing partition tables. This can be used in conjunction with the
+ <span
+class="cmtt-10x-x-109">-v </span>option to verify that LILO will use sane values.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-v</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description"> <br
+class="newline" />Increase verbosity. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
+<!--l. 1489--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.3 </span> <a
+ id="x1-360004.1.3"></a>Change default command line</h5>
+<!--l. 1492--><p class="noindent" >Changes LILO’s default command line. See also section <a
+href="#x1-310003.2">3.2<!--tex4ht:ref: bootsel --></a>.
+</p><!--l. 1494-->
+<p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map</span><span
+class="cmti-10x-x-109">_file</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109">-R</span> <span class="big">[</span> <span
+class="cmti-10x-x-109">word</span> <span
+class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1501--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate configuration file. See also section <a
+href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-m </span><span
+class="cmti-10x-x-109">map</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate map file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-R </span><span
+class="cmti-10x-x-109">word</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description">  <br
+class="newline" />Stores the specified words in the map file. The boot loader uses those words as the default
+ command line when booting the next time. That command line is removed from the map file by
+ the boot loader by overwriting the sector immediately after reading it. The first word has to be
+ the name of a boot image. If <span
+class="cmtt-10x-x-109">-R </span>is not followed by any words, the current default command line in
+ the map file is erased.<span class="footnote-mark"><a
+href="user_21-517.html#fn21x0"><sup class="textsuperscript">21</sup></a></span><a
+ id="x1-36001f21"></a>
+ If the command line isn’t valid, the map installer issues an error message and returns a non-zero
+ exit code.</dd></dl>
+<!--l. 1523--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.4 </span> <a
+ id="x1-370004.1.4"></a>Kernel name translation</h5>
+<!--l. 1525--><p class="noindent" >Determines the path of the kernel.
+</p><!--l. 1527--><p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109">-I </span><span
+class="cmti-10x-x-109">name</span> <span class="big">[</span> <span
+class="cmti-10x-x-109">options</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1534--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate configuration file. See also section <a
+href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-I </span><span
+class="cmti-10x-x-109">name </span>[ <span
+class="cmti-10x-x-109">options </span>] </dt><dd
+class="description">  <br
+class="newline" />Translates the specified label name to the path of the corresponding kernel image and prints that
+ path on standard output. This can be used to synchronize files that depend on the kernel (e.g.
+ the <span
+class="cmss-10x-x-109">ps </span>database). The image name can be obtained from the environment variable <span
+class="cmtt-10x-x-109">BOOT</span><span
+class="cmtt-10x-x-109">_IMAGE</span>.
+ An error message is issued and a non-zero exit code is returned if no matching label name can
+ be found. The existence of the image file is verified if the option character <span
+class="cmtt-10x-x-109">v </span>is added.</dd></dl>
+<!--l. 1549--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.5 </span> <a
+ id="x1-380004.1.5"></a>De-installation</h5>
+<!--l. 1551--><p class="noindent" >Restores the boot sector that was used before the installation of LILO. Note that this option only works
+properly if LILO’s directories (e.g. <span
+class="cmtt-10x-x-109">/boot</span>) have not been touched since the first installation. See also section
+
+<a
+href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a>.
+</p><!--l. 1556--><p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config_file</span> <span class="big">] [</span> <span
+class="cmtt-10x-x-109">-s </span><span
+class="cmti-10x-x-109">save_file</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109">-u</span> <span class="big"> | </span> <span
+class="cmtt-10x-x-109">-U</span> <span class="big">[</span> <span
+class="cmti-10x-x-109">boot_device</span> <span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1564--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-C </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate configuration file. See also section <a
+href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-s </span><span
+class="cmti-10x-x-109">save</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies an alternate boot sector save file. See also sections <a
+href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-u </span>[ <span
+class="cmti-10x-x-109">device_name </span>] </dt><dd
+class="description">  <br
+class="newline" />Restores the backup copy of the specified boot sector. If no device is specified, the value of the
+ <span class="obeylines-h"><span class="verb"><span
+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
+ name of the backup copy is derived from the device name. The <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">-s</span></span></span> option or the <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">backup</span></span></span> variable
+ can be used to override this. LILO validates the backup copy by checking a time stamp.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">-U </span>[ <span
+class="cmti-10x-x-109">device_name </span>] </dt><dd
+class="description">  <br
+class="newline" />Like <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">-u</span></span></span>, but does not check the time stamp.</dd></dl>
+<!--l. 1581--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.6 </span> <a
+ id="x1-390004.1.6"></a>Print version number</h5>
+ <!--l. 1583--><p class="indent" ><span
+class="cmtt-10x-x-109">/sbin/lilo -V </span><span
+class="cmtt-10x-x-109"> </span>
+</p><!--l. 1587--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-V</span> </dt><dd
+class="description">  <br
+class="newline" />Print the version number and exit.</dd></dl>
+<!--l. 1593--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.1.7 </span> <a
+ id="x1-400004.1.7"></a>Options corresponding to configuration variables</h5>
+<!--l. 1596--><p class="noindent" >There are also many command-line options that correspond to configuration variables. See section <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a> for
+a description.
+</p><!--l. 1599--><p class="noindent" >
+
+</p>
+<center class="math-display" >
+<img
+src="user_21-574x.png" alt=" |
+-Command----line option|Con-figuration-variable-----
+ -b bootxdevice |boot=bootxdevice
+ -c |compact
+ -d tsecs |delay=tsecs
+ |
+ -D name |default=name
+ -i bootxsector |install=bootxsector
+ -L |lba32
+ -l |linear
+ -m mapxfile |map=mapx file
+ -P fix |fix -table
+ -P ignore |ignore -table
+ |
+ -s backupx file |backup=backupx file
+ -S backupx file |force -backup=backupx file
+ -v ... |verbose=level
+" class="math-display" /></center>
+<!--l. 1620--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
+ id="x1-410004.2"></a>Configuration</h4>
+<!--l. 1623--><p class="noindent" >The configuration information is stored in the file <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>and consists of variable
+assignments.
+</p><!--l. 1627--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.2.1 </span> <a
+ id="x1-420004.2.1"></a>Syntax</h5>
+<!--l. 1630--><p class="noindent" >The following syntax rules apply:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">flag variables consist of a single word and are followed by whitespace or the end of the file.
+ </li>
+ <li class="itemize">string variables consist of the variable name, optional whitespace, an equal sign, optional
+ whitespace, the value and required whitespace, or the end of the file.
+
+ </li>
+ <li class="itemize">a non-empty sequence of blanks, tabs, newlines and comments counts as whitespace.
+ </li>
+ <li class="itemize">variable names are case-insensitive. Values are usually case-sensitive, but there are a few
+ exceptions. (See below.)
+ </li>
+ <li class="itemize">tabs and newlines are special characters and may not be part of a variable name or a value.
+ The use of other control characters and non-ASCII characters is discouraged.
+ </li>
+ <li class="itemize">blanks and equal signs may only be part of a variable name or a value if they are escaped by
+ a backslash or if the value is embedded in double quotes. An equal sign may not be the only
+ character in a name or value.
+ </li>
+ <li class="itemize">an escaped tab is converted to an escaped blank. An escaped newline is removed from the input
+ stream. An escaped backslash (i.e. two backslashes) is converted to a backslash. Inside quoted
+ strings, only double quotes, backslashes, dollar signs, and newlines can be escaped.
+ </li>
+ <li class="itemize">quoted strings can be continued over several lines by ending each incomplete line with a
+ backslash. A single space is inserted in the string for the line end and all spaces or tabs that
+ follow immediately on the next line.
+ </li>
+ <li class="itemize">environment variables can be used by specifying them in the form <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">$</span></span></span><span
+class="cmti-10x-x-109">name </span>or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">${</span></span></span><span
+class="cmti-10x-x-109">name</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">}</span></span></span>. Dollar
+ signs can be escaped.
+ </li>
+ <li class="itemize">comments begin with a number sign and end with the next newline. All characters (including
+ backslashes) until the newline are ignored.</li></ul>
+<!--l. 1664--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-6">
+boot = $FD
+ <br />install = $MNT/boot.b
+ <br />map = $MNT/map
+ <br />compact
+ <br />read-only
+ <br />append = "nfsroot=/home/linux-install/root \
+ <br />  nfsaddrs=128.178.156.28:128.178.156.24::255.255.255.0:lrcinst"
+ <br />image = $MNT/zImage</div>
+<!--l. 1674--><p class="nopar" >
+</p><!--l. 1677--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.2.2 </span> <a
+ id="x1-430004.2.2"></a>Global options</h5>
+<!--l. 1680--><p class="noindent" ><span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>begins with a possibly empty global options section. Many global options can also be
+set from the command line, but storing permanent options in the configuration file is more
+convenient.
+</p><!--l. 1684--><p class="noindent" >The following global options are recognized:
+</p><!--l. 1686--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">backup=</span><span
+class="cmti-10x-x-109">backup</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description">Copy the original boot sector to <span
+class="cmti-10x-x-109">backup</span><span
+class="cmti-10x-x-109">_file </span>(which may also be a device, e.g.
+ <span
+class="cmtt-10x-x-109">/dev/null</span>) instead of <span
+class="cmtt-10x-x-109">/boot/boot.</span><span
+class="cmti-10x-x-109">number</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">boot=</span><span
+class="cmti-10x-x-109">boot</span><span
+class="cmti-10x-x-109">_device</span> </dt><dd
+class="description">Sets the name of the device (e.g. a hard disk partition) that contains the boot
+ sector. If <span
+class="cmtt-10x-x-109">boot </span>is omitted, the boot sector is read from (and possibly written to) the device that
+ is currently mounted as root.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">change-rules</span> </dt><dd
+class="description">Defines partition type numbers. See section <a
+href="#x1-550004.5.2">4.5.2<!--tex4ht:ref: ptcr --></a> for details.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">compact</span> </dt><dd
+class="description">Tries to merge read requests for adjacent sectors into a single read request. This drastically
+ reduces load time and keeps the map smaller. Using <span
+class="cmtt-10x-x-109">compact </span>is especially recommended when
+ booting from a floppy disk. <span
+class="cmtt-10x-x-109">compact </span>may conflict with <span
+class="cmtt-10x-x-109">linear </span>or <span
+class="cmtt-10x-x-109">lba32</span>, see section <a
+href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">default=</span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description">Uses the specified image as the default boot image. If <span
+class="cmtt-10x-x-109">default </span>is omitted, the image
+ appearing first in the configuration file is used.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">delay=</span><span
+class="cmti-10x-x-109">tsecs</span> </dt><dd
+class="description">Specifies the number of <span
+class="cmbx-10x-x-109">tenths </span>of a second LILO should wait before booting the first
+
+ image. This is useful on systems that immediately boot from the hard disk after enabling the
+ keyboard. LILO doesn’t wait if <span
+class="cmtt-10x-x-109">delay </span>is omitted or if <span
+class="cmtt-10x-x-109">delay </span>is set to zero.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">disk=</span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name</span> </dt><dd
+class="description">Defines non-standard parameters for the specified disk. See section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">fix-table</span> </dt><dd
+class="description">Allows LILO to adjust 3D addresses in partition tables. Each partition entry contains
+ a 3D (sector/head/cylinder) and a linear 32-bit address of the first and the last sector of
+ the partition. If a partition is not track-aligned and if certain other operating systems (e.g.
+ PC/MS-DOS or OS/2) are using the same disk, they may change the 3D address. LILO can
+ store its boot sector only on partitions where both address types correspond. LILO re-adjusts
+ incorrect 3D start addresses if <span
+class="cmtt-10x-x-109">fix-table </span>is set.
+ <!--l. 1724--><p class="noindent" ><span
+class="cmbx-10x-x-109">WARNING: </span>This does not guarantee that other operating systems may not attempt to reset
+ the address later. It is also possible that this change has other, unexpected side-effects. The
+ correct fix is to re-partition the drive with a program that does align partitions to tracks. Also,
+ with some disks (e.g. some large EIDE disks with address translation enabled), under some
+ circumstances, it may even be unavoidable to have conflicting partition table entries.
+ </p></dd><dt class="description">
+<span
+class="cmtt-10x-x-109">force-backup=</span><span
+class="cmti-10x-x-109">backup</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description">Like <span
+class="cmtt-10x-x-109">backup</span>, but overwrite an old backup copy if it exists. <br
+class="newline" /><span
+class="cmtt-10x-x-109">backup=</span><span
+class="cmti-10x-x-109">backup</span><span
+class="cmti-10x-x-109">_file </span>is ignored if <span
+class="cmtt-10x-x-109">force-backup </span>appears in the same configuration file.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">ignore-table</span> </dt><dd
+class="description">Tells LILO to ignore corrupt partition tables and to put the boot sector even on
+ partitions that appear to be unsuitable for that.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">install=</span><span
+class="cmti-10x-x-109">boot</span><span
+class="cmti-10x-x-109">_sector</span> </dt><dd
+class="description">Install the specified file as the new boot sector. If <span
+class="cmtt-10x-x-109">install </span>is omitted, <br
+class="newline" /><span
+class="cmtt-10x-x-109">/boot/boot.b </span>is used as the default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">keytable=</span><span
+class="cmti-10x-x-109">table</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description">Re-map the keyboard as specified in this file. See section <a
+href="#x1-570004.6">4.6<!--tex4ht:ref: keytab --></a> for details.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lba32</span> </dt><dd
+class="description">Generate 32-bit Logical Block Addresses instead of sector/head/cylinder addresses. If the
+ BIOS supports packet addressing, then packet calls will be used to access the disk. This allows
+ booting from any partition on disks with more than 1024 cylinders. If the BIOS does not
+ support packet addressing, then <span
+class="cmtt-10x-x-109">lba32 </span>addresses are translated to C:H:S, just as for <span
+class="cmtt-10x-x-109">linear</span>.
+ All floppy disk references are retained in C:H:S form. Use of <span
+class="cmtt-10x-x-109">lba32 </span>is recommended on all
+ post-1998 systems. <span
+class="cmtt-10x-x-109">lba32 </span>may conflict with <span
+class="cmtt-10x-x-109">compact</span>, see section <a
+href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">linear</span> </dt><dd
+class="description">Generate linear sector addresses instead of sector/head/cylinder addresses. Linear addresses
+ are translated at run time and do not depend on disk geometry. Note that boot disks may
+ not be portable if <span
+class="cmtt-10x-x-109">linear </span>is used, because the BIOS service to determine the disk geometry
+ does not work reliably for floppy disks. When using <span
+class="cmtt-10x-x-109">linear </span>with large disks, <span
+class="cmtt-10x-x-109">/sbin/lilo </span>may
+ generate references to inaccessible disk areas (see section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>), because 3D sector addresses
+ are not known before boot time. <span
+class="cmtt-10x-x-109">linear </span>may conflict with <span
+class="cmtt-10x-x-109">compact</span>, see section <a
+href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">map=</span><span
+class="cmti-10x-x-109">map</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description">Specifies the location of the map file. If <span
+class="cmtt-10x-x-109">map </span>is omitted, a file <span
+class="cmtt-10x-x-109">/boot/map </span>is used.
+ </dd><dt class="description">
+
+<span
+class="cmtt-10x-x-109">message=</span><span
+class="cmti-10x-x-109">message</span><span
+class="cmti-10x-x-109">_file</span> </dt><dd
+class="description">Specifies a file containing a message that is displayed before the boot prompt.
+ No message is displayed while waiting for a modifier key ([Shift], etc.) after printing “LILO ”.
+ In the message, the <span
+class="cmtt-10x-x-109">FF </span>character ([Ctrl L]) clears the local screen. The size of the message file
+ is limited to 65535 bytes. The map file has to be rebuilt if the message file is changed or moved.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">nowarn</span> </dt><dd
+class="description">Disables warnings about possible future dangers.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">prompt</span> </dt><dd
+class="description">Forces entering the boot prompt without expecting any prior key-presses. Unattended
+ reboots are impossible if <span
+class="cmtt-10x-x-109">prompt </span>is set and <span
+class="cmtt-10x-x-109">timeout </span>isn’t.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">serial=</span><span
+class="cmti-10x-x-109">parameters</span> </dt><dd
+class="description">Enables control from a serial line. The specified serial port is initialized and LILO is
+ accepting input from it and from the PC’s keyboard. Sending a break on the serial line corresponds
+ to pressing a shift key on the console in order to get LILO’s attention. All boot images
+ should be password-protected if the serial access is less secure than access to the console,
+ e.g. if the line is connected to a modem. The parameter string has the following syntax:
+ <br
+class="newline" /><span
+class="cmti-10x-x-109">port</span><span
+class="cmtt-10x-x-109">,</span><span
+class="cmti-10x-x-109">bps parity bits </span><br
+class="newline" />The components <span
+class="cmti-10x-x-109">bps</span>, <span
+class="cmti-10x-x-109">parity </span>and <span
+class="cmti-10x-x-109">bits </span>can be omitted. If a component is omitted, all following
+ components have to be omitted too. Additionally, the comma has to be omitted if only the port
+ number is specified.
+ <dl class="description"><dt class="description">
+ <span
+class="cmti-10x-x-109">port</span> </dt><dd
+class="description">the number of the serial port, zero-based. 0 corresponds to <span
+class="cmtt-10x-x-109">COM1 </span>alias <span
+class="cmtt-10x-x-109">/dev/ttyS0</span>, etc.
+ All four ports can be used (if present).
+ </dd><dt class="description">
+ <span
+class="cmti-10x-x-109">bps</span> </dt><dd
+class="description">the baud rate of the serial port. The following baud rates are supported: 110, 300, 1200,
+ 2400, 4800, 9600, 19200, and 38400 bps. Default is 2400 bps.
+ </dd><dt class="description">
+ <span
+class="cmti-10x-x-109">parity</span> </dt><dd
+class="description">the parity used on the serial line. LILO ignores input parity and strips the 8th bit. The
+ following (upper or lower case) characters are used to describe the parity: <span
+class="cmtt-10x-x-109">n </span>for no parity,
+ <span
+class="cmtt-10x-x-109">e </span>for even parity and <span
+class="cmtt-10x-x-109">o </span>for odd parity.
+ </dd><dt class="description">
+ <span
+class="cmti-10x-x-109">bits</span> </dt><dd
+class="description">the number of bits in a character. Only 7 and 8 bits are supported. Default is 8 if parity
+ is “none”, 7 if parity is “even” or “odd”.</dd></dl>
+ <!--l. 1803--><p class="noindent" >If <span
+class="cmtt-10x-x-109">serial </span>is set, the value of <span
+class="cmtt-10x-x-109">delay </span>is automatically raised to 20.
+ </p><!--l. 1806--><p class="noindent" >Example: <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">serial=0,2400n8</span></span></span> initializes <span
+class="cmtt-10x-x-109">COM1 </span>with the default parameters.
+ </p></dd><dt class="description">
+<span
+class="cmtt-10x-x-109">timeout=</span><span
+class="cmti-10x-x-109">tsecs</span> </dt><dd
+class="description">Sets a timeout (in tenths of a second) for keyboard input. If no key is pressed for the
+ specified time, the first image is automatically booted. Similarly, password input is aborted if the user
+ is idle for too long. The default timeout is infinite.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">verbose=</span><span
+class="cmti-10x-x-109">level</span> </dt><dd
+class="description">Turns on lots of progress reporting. Higher numbers give more verbose output. If <span
+class="cmtt-10x-x-109">-v </span>is
+ additionally specified on the command line, <span
+class="cmti-10x-x-109">level </span>is increased accordingly. The following verbosity
+ levels exist:
+
+ <dl class="description"><dt class="description">
+ <span
+class="cmmi-10x-x-109"><</span><span
+class="cmbx-10x-x-109">0</span> </dt><dd
+class="description">only warnings and errors are shown
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">0</span> </dt><dd
+class="description">prints one line for each added or skipped image
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">1</span> </dt><dd
+class="description">mentions names of important files and devices and why they are accessed. Also displays
+ informational messages for exceptional but harmless conditions and prints the version
+ number.
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">2</span> </dt><dd
+class="description">displays statistics and processing of temporary files and devices
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">3</span> </dt><dd
+class="description">displays disk geometry information and partition table change rules
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">4</span> </dt><dd
+class="description">lists sector mappings as they are written into the map file (i.e. after compaction, in a format
+ suitable to pass it to the BIOS)
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">5</span> </dt><dd
+class="description">lists the mapping of each sector (i.e. before compaction, raw)</dd></dl>
+ <!--l. 1830--><p class="noindent" >When using the <span
+class="cmtt-10x-x-109">-q </span>option, the levels have a slightly different meaning:
+ </p><dl class="description"><dt class="description">
+ <span
+class="cmbx-10x-x-109">0</span> </dt><dd
+class="description">displays only image names
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">1</span> </dt><dd
+class="description">also displays all global and per-image settings
+ </dd><dt class="description">
+ <span
+class="cmbx-10x-x-109">2</span> </dt><dd
+class="description">displays the address of the first map sector</dd></dl>
+ </dd></dl>
+<!--l. 1839--><p class="noindent" >Additionally, the kernel configuration parameters <span
+class="cmtt-10x-x-109">append</span>, <span
+class="cmtt-10x-x-109">initrd</span>, <span
+class="cmtt-10x-x-109">ramdisk</span>, <span
+class="cmtt-10x-x-109">read-only</span>, <span
+class="cmtt-10x-x-109">read-write</span>, <span
+class="cmtt-10x-x-109">root</span>
+and <span
+class="cmtt-10x-x-109">vga</span>, and the general per-image options <span
+class="cmtt-10x-x-109">fallback</span>, <span
+class="cmtt-10x-x-109">lock</span>, <span
+class="cmtt-10x-x-109">optional</span>, <span
+class="cmtt-10x-x-109">password</span>, <span
+class="cmtt-10x-x-109">restricted</span>, and
+<span
+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
+configuration sections of the respective images. See below for a description.
+</p><!--l. 1848--><p class="noindent" >The plethora of options may be intimidating at first, but in “normal” configurations, hardly any options but
+<span
+class="cmtt-10x-x-109">boot</span>, <span
+class="cmtt-10x-x-109">compact</span>, <span
+class="cmtt-10x-x-109">delay</span>, <span
+class="cmtt-10x-x-109">root</span>, and <span
+class="cmtt-10x-x-109">vga </span>are used.
+</p><!--l. 1853--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.2.3 </span> <a
+ id="x1-440004.2.3"></a>General per-image options</h5>
+<!--l. 1856--><p class="noindent" >The following options can be specified for all images, independent of their type:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">alias=</span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description">Specifies a second name for the current entry.
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">fallback=</span><span
+class="cmti-10x-x-109">command</span><span
+class="cmti-10x-x-109">_line</span> </dt><dd
+class="description">Specifies a string that is stored as the default command line if the current
+ image is booted. This is useful when experimenting with kernels which may crash before allowing
+ interaction with the system. If using the <span
+class="cmtt-10x-x-109">fallback </span>option, the next reboot (e.g. triggered
+ by a manual reset or by a watchdog timer) will load a different (supposedly stable) kernel.
+ The command line by the fallback mechanism is cleared by removing or changing the default
+ command line with the <span
+class="cmtt-10x-x-109">-R </span>option, see <a
+href="#x1-360004.1.3">4.1.3<!--tex4ht:ref: invcmd --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">label=</span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description">By default, LILO uses the main file name (without its path) of each image specification
+ to identify that image. A different name can be used by setting the variable <span
+class="cmtt-10x-x-109">label</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lock</span> </dt><dd
+class="description">Enables automatic recording of boot command lines as the defaults for the following boots.
+ This way, LILO “locks” on a choice until it is manually overridden.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">optional</span> </dt><dd
+class="description">Omit this image if its main file is not available at map creation time. This is useful to
+ specify test kernels that are not always present.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">password=</span><span
+class="cmti-10x-x-109">password</span> </dt><dd
+class="description">Ask the user for a password when trying to load this image. Because the
+ configuration file contains unencrypted passwords when using this option, it should only be
+ readable for the super-user. Passwords are always case-sensitive.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">restricted</span> </dt><dd
+class="description">Relaxes the password protection by requiring a password only if parameters are specified
+ on the command line (e.g. <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">single</span></span></span>). <span
+class="cmtt-10x-x-109">restricted </span>can only be used together with <span
+class="cmtt-10x-x-109">password</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">single-key</span> </dt><dd
+class="description">Enables booting the image by hitting a single key, without the need to press [Enter]
+ afterwards. <span
+class="cmtt-10x-x-109">single-key </span>requires that either the image’s label or its alias (or both) is a single
+ character. Furthermore, no other image label or alias may start with that character, e.g. an
+ entry specifying a label <span
+class="cmtt-10x-x-109">linux </span>and an alias <span
+class="cmtt-10x-x-109">l </span>is not allowed with <span
+class="cmtt-10x-x-109">single-key</span>. Note that you
+ can’t specify command-line parameters for an entry for which only <span
+class="cmtt-10x-x-109">single-key</span>ed names exist.</dd></dl>
+<!--l. 1898--><p class="noindent" >All general per-image options, with the exception of <span
+class="cmtt-10x-x-109">label </span>and <span
+class="cmtt-10x-x-109">alias</span>, can also be set in the global options
+section as defaults for all images.
+</p><!--l. 1902--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-7">
+password = Geheim
+ <br />single-key
+ <br />image = /vmlinuz
+ <br />  label = linux
+ <br />  alias = 1
+ <br />  restricted
+ <br />other = /dev/hda1
+ <br />  label = dos
+ <br />  alias = 2</div>
+<!--l. 1913--><p class="nopar" >
+</p><!--l. 1916--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.2.4 </span> <a
+ id="x1-450004.2.4"></a>Per-image options for kernels</h5>
+<!--l. 1919--><p class="noindent" >Each (kernel or non-kernel) image description begins with a special variable (see section <a
+href="#x1-460004.3">4.3<!--tex4ht:ref: bootimg --></a>) which is
+followed by optional variables. The following variables can be used for all image descriptions that describe a
+Linux kernel:
+</p><!--l. 1926--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">append=</span><span
+class="cmti-10x-x-109">string</span> </dt><dd
+class="description">Appends the options specified in <span
+class="cmti-10x-x-109">string </span>to the parameter line passed to the kernel.
+ This is typically used to specify parameters of hardware that can’t be entirely auto-detected,
+ e.g.<br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">append</span><span
+class="cmtt-10x-x-109"> =</span><span
+class="cmtt-10x-x-109"> "aha152x=0x140,11"</span></span></span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">initrd=</span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description">Specifies the file that will be loaded at boot time as the initial RAM disk.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">literal=</span><span
+class="cmti-10x-x-109">string</span> </dt><dd
+class="description">like <span
+class="cmtt-10x-x-109">append</span>, but removes all other options (e.g. setting of the root device). Because
+ vital options can be removed unintentionally with <span
+class="cmtt-10x-x-109">literal</span>, this option cannot be set in the
+ global options section.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">ramdisk=</span><span
+class="cmti-10x-x-109">size</span> </dt><dd
+class="description">Specifies the size of the optional RAM disk. A value of zero indicates that no RAM
+ disk should be created. If this variable is omitted, the RAM disk size configured into the boot
+ image is used.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">read-only</span> </dt><dd
+class="description">Specifies that the root file system should be mounted read-only. Typically, the system
+ startup procedure re-mounts the root file system read-write later (e.g. after fsck’ing it).
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">read-write</span> </dt><dd
+class="description">specifies that the root file system should be mounted read-write.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">root=</span><span
+class="cmti-10x-x-109">root</span><span
+class="cmti-10x-x-109">_device</span> </dt><dd
+class="description">Specifies the device that should be mounted as root. If the special name <span
+class="cmtt-10x-x-109">current</span>
+ is used, the root device is set to the device on which the root file system is currently mounted.
+ If the root has been changed with <span
+class="cmtt-10x-x-109">-r</span>, the respective device is used. If the variable <span
+class="cmtt-10x-x-109">root </span>is
+ omitted, the root device setting contained in the kernel image is used. It can be changed with
+ the <span
+class="cmss-10x-x-109">rdev </span>program.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">vga=</span><span
+class="cmti-10x-x-109">mode</span> </dt><dd
+class="description"> Specifies the VGA text mode that should be selected when booting. The following values are
+ recognized (case is ignored):
+ <dl class="description"><dt class="description">
+ <span
+class="cmtt-10x-x-109">normal</span> </dt><dd
+class="description">select normal 80x25 text mode.
+ </dd><dt class="description">
+ <span
+class="cmtt-10x-x-109">extended</span> </dt><dd
+class="description">select 80x50 text mode. The word <span
+class="cmtt-10x-x-109">extended </span>can be abbreviated to <span
+class="cmtt-10x-x-109">ext</span>.
+ </dd><dt class="description">
+ <span
+class="cmtt-10x-x-109">ask</span> </dt><dd
+class="description">stop and ask for user input (at boot time).
+ </dd><dt class="description">
+ <span
+class="cmti-10x-x-109">number</span> </dt><dd
+class="description">use the corresponding text mode. A list of available modes can be obtained by booting
+ with <span
+class="cmtt-10x-x-109">vga=ask </span>and pressing [Enter].</dd></dl>
+ <!--l. 1966--><p class="noindent" >If this variable is omitted, the VGA mode setting contained in the kernel image is used. <span
+class="cmss-10x-x-109">rdev </span>supports
+ manipulation of the VGA text mode setting in the kernel image.</p></dd></dl>
+<!--l. 1971--><p class="noindent" >All kernel per-image options but <span
+class="cmtt-10x-x-109">literal </span>can also be set in the global options section as defaults for all
+kernels.
+</p><!--l. 1974--><p class="noindent" >If one of <span
+class="cmtt-10x-x-109">ramdisk</span>, <span
+class="cmtt-10x-x-109">read-only</span>, <span
+class="cmtt-10x-x-109">read-write</span>, <span
+class="cmtt-10x-x-109">root</span>, or <span
+class="cmtt-10x-x-109">vga </span>is omitted in the configuration file and
+the corresponding value in the kernel image is changed, LILO or the kernel will use the new
+value.
+</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
+descriptors and not in the images themselves.
+</p><!--l. 1983--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-8">
+image = /vmlinuz
+ <br />  label = lin-hd
+ <br />  root = /dev/hda2
+ <br />image = /vmlinuz
+ <br />  label = lin-fd
+ <br />  root = /dev/fd0</div>
+<!--l. 1991--><p class="nopar" >
+</p><!--l. 1994--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a
+ id="x1-460004.3"></a>Boot image types</h4>
+<!--l. 1997--><p class="noindent" >LILO can boot the following types of images: </p>
+ <ul class="itemize1">
+ <li class="itemize">kernel images from a file.
+ </li>
+ <li class="itemize">kernel images from a block device. (E.g. a floppy disk.)
+ </li>
+ <li class="itemize">the boot sector of some other operating system.</li></ul>
+<!--l. 2004--><p class="noindent" >The image type is determined by the name of the initial variable of the configuration section.
+</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
+root device, although this certainly doesn’t hurt.
+</p><!--l. 2012--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.3.1 </span> <a
+ id="x1-470004.3.1"></a>Booting kernel images from a file</h5>
+<!--l. 2014--><p class="noindent" >The image is specified as follows: <span
+class="cmtt-10x-x-109">image=</span><span
+class="cmti-10x-x-109">name</span>
+</p><!--l. 2016--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-9">
+image = /linux</div>
+<!--l. 2019--><p class="nopar" >
+</p><!--l. 2021--><p class="noindent" >See sections <a
+href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a> and <a
+href="#x1-450004.2.4">4.2.4<!--tex4ht:ref: cfgkern --></a> for the options that can be added in a kernel image section.
+</p><!--l. 2025--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.3.2 </span> <a
+ id="x1-480004.3.2"></a>Booting kernel images from a device</h5>
+<!--l. 2027--><p class="noindent" >The range of sectors that should be mapped has to be specified. Either a range (<span
+class="cmti-10x-x-109">start</span><span
+class="cmtt-10x-x-109">-</span><span
+class="cmti-10x-x-109">end</span>) or a start and a
+distance (<span
+class="cmti-10x-x-109">start</span><span
+class="cmtt-10x-x-109">+</span><span
+class="cmti-10x-x-109">number</span>) have to be specified. <span
+class="cmti-10x-x-109">start </span>and <span
+class="cmti-10x-x-109">end </span>are zero-based. If only the start is specified,
+only that sector is mapped.
+</p><!--l. 2034--><p class="noindent" >The image is specified as follows: <span
+class="cmtt-10x-x-109">image=</span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span>Additionally, the <span
+class="cmtt-10x-x-109">range </span>variable must be
+set.
+</p><!--l. 2037--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-10">
+image = /dev/fd0
+ <br />  range = 1+512</div>
+<!--l. 2041--><p class="nopar" >
+</p><!--l. 2043--><p class="noindent" >All kernel options can also be used when booting the kernel from a device.
+</p><!--l. 2046--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.3.3 </span> <a
+ id="x1-490004.3.3"></a>Booting a foreign operating system</h5>
+<!--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
+a loader program, the device or file that contains the boot sector and the device that contains the partition
+table have to be specified.
+</p><!--l. 2055--><p class="noindent" >The boot sector is merged with the partition table and stored in the map file.
+</p><!--l. 2057--><p class="noindent" >Currently, the loaders <span
+class="cmtt-10x-x-109">chain.b </span>and <span
+class="cmtt-10x-x-109">os2</span><span
+class="cmtt-10x-x-109">_d.b </span>exist. <span
+class="cmtt-10x-x-109">chain.b </span>simply starts the specified boot
+sector.<span class="footnote-mark"><a
+href="user_21-518.html#fn22x0"><sup class="textsuperscript">22</sup></a></span><a
+ id="x1-49001f22"></a>
+<span
+class="cmtt-10x-x-109">os2</span><span
+class="cmtt-10x-x-109">_d.b </span>it a variant of <span
+class="cmtt-10x-x-109">chain.b </span>that can boot OS/2 from the second hard disk. The <span
+class="cmtt-10x-x-109">map-drive </span>option has
+to be used with <span
+class="cmtt-10x-x-109">os2</span><span
+class="cmtt-10x-x-109">_d.b </span>to actually swap the drives.
+</p><!--l. 2065--><p class="noindent" >The image is specified as follows: <span
+class="cmtt-10x-x-109">other=</span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span>or <span
+class="cmtt-10x-x-109">other=</span><span
+class="cmti-10x-x-109">file</span><span
+class="cmti-10x-x-109">_name</span>
+</p><!--l. 2068--><p class="noindent" >In addition to the options listen in section <a
+href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a>, the following variables are recognized:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">change</span> </dt><dd
+class="description">Change the partition table according to the rules specified in this <span
+class="cmtt-10x-x-109">change </span>section. This option
+ is intended for booting systems which find their partitions by examining the partition table.
+ See section <a
+href="#x1-560004.5.3">4.5.3<!--tex4ht:ref: ptch --></a> for details.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">loader=</span><span
+class="cmti-10x-x-109">chain</span><span
+class="cmti-10x-x-109">_loader</span> </dt><dd
+class="description">Specifies the chain loader that should be used. If it is omitted, <span
+class="cmtt-10x-x-109">/boot/chain.b</span>
+ is used.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">map-drive=</span><span
+class="cmti-10x-x-109">bios</span><span
+class="cmti-10x-x-109">_device</span><span
+class="cmti-10x-x-109">_code</span> </dt><dd
+class="description">Instructs <span
+class="cmtt-10x-x-109">chain.b </span>to installs a resident driver that re-maps the floppy
+ or hard disk drives. This way, one can boot any operating system from a hard disk different
+ from the first one, as long as that operating system uses <span
+class="cmbx-10x-x-109">only </span>the BIOS to access that hard
+
+ disk.<span class="footnote-mark"><a
+href="user_21-519.html#fn23x0"><sup class="textsuperscript">23</sup></a></span><a
+ id="x1-49002f23"></a>
+ This is known to work for PC/MS-DOS.
+ <!--l. 2089--><p class="noindent" ><span
+class="cmtt-10x-x-109">map-drive </span>is followed by the variable <span
+class="cmtt-10x-x-109">to=</span><span
+class="cmti-10x-x-109">bios</span><span
+class="cmti-10x-x-109">_device</span><span
+class="cmti-10x-x-109">_code </span>which specifies the drive that should
+ effectively be accessed instead of the original one. The list of mappings is only searched until
+ the first match is found. It is therefore possible to “swap” drives, see the second example below.
+ </p></dd><dt class="description">
+<span
+class="cmtt-10x-x-109">table=</span><span
+class="cmti-10x-x-109">device</span> </dt><dd
+class="description">Specifies the device that contains the partition table. LILO does not pass partition
+ information to the booted operating system if this variable is omitted. (Some operating systems
+ have other means to determine from which partition they have been booted. E.g. MS-DOS
+ usually stores the geometry of the boot disk or partition in its boot sector.) Note that
+ <span
+class="cmtt-10x-x-109">/sbin/lilo </span>must be re-run if a partition table mapped referenced with <span
+class="cmtt-10x-x-109">table </span>is modified.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">unsafe</span> </dt><dd
+class="description">Do not access the boot sector at map creation time. This disables some sanity checks,
+ including a partition table check. If the boot sector is on a fixed-format floppy disk device, using
+ <span
+class="cmtt-10x-x-109">unsafe </span>avoids the need to put a readable disk into the drive when running the map installer.
+ <span
+class="cmtt-10x-x-109">unsafe </span>and <span
+class="cmtt-10x-x-109">table </span>are mutually incompatible.</dd></dl>
+<!--l. 2109--><p class="noindent" >None of these options can be set in the global options section.
+</p><!--l. 2111--><p class="noindent" >Examples:
+
+</p>
+<div class="verbatim" id="verbatim-11">
+other = /dev/hda2
+ <br />  label = dos
+ <br />  table = /dev/hda</div>
+<!--l. 2116--><p class="nopar" >
+
+</p>
+<div class="verbatim" id="verbatim-12">
+other = /dev/hdb2
+ <br />  label = os2
+ <br />  loader = /boot/os2_d.b
+ <br />  map-drive = 0x80
+ <br />    to = 0x81
+ <br />  map-drive = 0x81
+ <br />    to = 0x80</div>
+<!--l. 2126--><p class="nopar" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a
+ id="x1-500004.4"></a>Disk geometry</h4>
+<!--l. 2132--><p class="noindent" >For floppies and most hard disks, LILO can obtain the disk geometry information from the kernel.
+Unfortunately, there are some exotic disks or adapters which may either not supply this information or
+which may even return incorrect information.
+</p><!--l. 2137--><p class="noindent" >If no geometry information is available, LILO reports either the error <br
+class="newline" /><span
+class="cmtt-10x-x-109">geo</span><span
+class="cmtt-10x-x-109">_query</span><span
+class="cmtt-10x-x-109">_dev HDIO</span><span
+class="cmtt-10x-x-109">_GETGEO (dev 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">) </span><br
+class="newline" />or <br
+class="newline" /><span
+class="cmtt-10x-x-109">Device 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">: Got bad geometry </span><span
+class="cmti-10x-x-109">sec</span><span
+class="cmtt-10x-x-109">/</span><span
+class="cmti-10x-x-109">hd</span><span
+class="cmtt-10x-x-109">/</span><span
+class="cmti-10x-x-109">cyl</span>
+</p><!--l. 2143--><p class="noindent" >If incorrect information is returned, booting may fail in several ways, typically with a partial “LILO”
+banner message. In this document, that is called a “geometry mismatch”.
+</p><!--l. 2147--><p class="noindent" >The next step should be to attempt setting the <span
+class="cmtt-10x-x-109">lba32 </span>or <span
+class="cmtt-10x-x-109">linear </span>configuration variable or the <span
+class="cmtt-10x-x-109">-L </span>or <span
+class="cmtt-10x-x-109">-l</span>
+command-line option. If this doesn’t help, the entire disk geometry has to be specified explicitly. Note that
+<span
+class="cmtt-10x-x-109">linear </span>doesn’t always work with floppy disks.
+</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
+BIOS is configured to use the SCSI drive as the first drive. (Normally, the (E)IDE drive would be the first
+drive and the SCSI drive would be the second one.) Since LILO doesn’t know how the BIOS
+is configured, it needs to be told explicitly about this arrangement. (See the second example
+below.)
+</p><!--l. 2160--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.4.1 </span> <a
+ id="x1-510004.4.1"></a>Obtaining the geometry</h5>
+<!--l. 2162--><p class="noindent" >The disk geometry parameters can be obtained by booting MS-DOS and running the program <span
+class="cmtt-10x-x-109">DPARAM.COM</span>
+with the hexadecimal BIOS code of the drive as its argument, e.g. <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dparam</span><span
+class="cmtt-10x-x-109"> 0x80</span></span></span> for the first hard disk. It
+displays the number of sectors per track, the number of heads per cylinder and the number of cylinders. All
+three numbers are one-based.
+
+</p><!--l. 2169--><p class="noindent" >Alternatively, the geometry may also be determined by reading the information presented by the “setup”
+section of the ROM-BIOS or by using certain disk utilities under operating systems accessing the disk
+through the BIOS.
+</p><!--l. 2174--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.4.2 </span> <a
+ id="x1-520004.4.2"></a>Specifying the geometry</h5>
+<!--l. 2177--><p class="noindent" >Disk geometry parameters are specified in the options section of the configuration file. Each disk parameter
+section begins with <span
+class="cmtt-10x-x-109">disk=</span><span
+class="cmti-10x-x-109">disk</span><span
+class="cmti-10x-x-109">_device</span>, similar to the way how boot images are specified. It is suggested to
+group disk parameter sections together, preferably at the beginning or the end of the options
+section.
+</p><!--l. 2184--><p class="noindent" >For each disk, the following variables can be specified:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">bios=</span><span
+class="cmti-10x-x-109">bios</span><span
+class="cmti-10x-x-109">_device</span><span
+class="cmti-10x-x-109">_code</span> </dt><dd
+class="description">Is the number the BIOS uses to refer to that device. Normally, it’s <span
+class="cmtt-10x-x-109">0x80 </span>for
+ the first hard disk and <span
+class="cmtt-10x-x-109">0x81 </span>for the second hard disk. Note that hexadecimal numbers have to
+ begin with “0x”. If <span
+class="cmtt-10x-x-109">bios </span>is omitted, LILO tries to “guess” that number.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">sectors=</span><span
+class="cmti-10x-x-109">sectors</span> </dt><dd
+class="description">and
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">heads=</span><span
+class="cmti-10x-x-109">heads</span> </dt><dd
+class="description">specify the number of sectors per track and the number of heads, i.e. the number of
+ tracks per cylinder. Both parameters have to be either specified together or they have to be
+ entirely omitted. If omitted, LILO tries to obtain that geometry information from the kernel.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">cylinders=</span><span
+class="cmti-10x-x-109">cylinders</span> </dt><dd
+class="description">Specifies the number of cylinders. This value is only used for sanity checks.
+ If <span
+class="cmtt-10x-x-109">cylinders </span>is omitted, LILO uses the information obtained from the kernel if geometry
+ information had to be requested in order to determine some other parameter. Otherwise,<span class="footnote-mark"><a
+href="user_21-520.html#fn24x0"><sup class="textsuperscript">24</sup></a></span><a
+ id="x1-52001f24"></a>
+ it just assumes the number of cylinders to be 1024, which is the cylinder limit imposed by the
+ BIOS.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">inaccessible</span> </dt><dd
+class="description">Marks the device as inaccessible (for the BIOS). This is useful if some disks on
+ the system can’t be read by the BIOS, although LILO “thinks” they can. If one accidentally
+ tries to use files located on such disks for booting, the map installer won’t notice and the
+ system becomes unbootable. The most likely use of <span
+class="cmtt-10x-x-109">inaccessible </span>is to prevent repetition after
+ experiencing such a situation once. No other variables may be specified if a device is configured
+ as <span
+class="cmtt-10x-x-109">inaccessible</span>.</dd></dl>
+<!--l. 2217--><p class="noindent" >Additionally, partition subsections can be added with <span
+class="cmtt-10x-x-109">partition=</span><span
+class="cmti-10x-x-109">partition</span><span
+class="cmti-10x-x-109">_device</span>. Each partition section
+can contain only one variable:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">start=</span><span
+class="cmti-10x-x-109">partition</span><span
+class="cmti-10x-x-109">_offset</span> </dt><dd
+class="description">Specifies the zero-based number of the start sector of that partition. The
+
+ whole disk always has a partition offset of zero. The partition offset is only necessary when
+ using devices for which the kernel does not provide that information, e.g. CD-ROMs.</dd></dl>
+<!--l. 2228--><p class="noindent" >Examples:
+
+</p>
+<div class="verbatim" id="verbatim-13">
+disk = /dev/sda
+ <br />  bios = 0x80
+ <br />  sectors = 32
+ <br />  heads = 64
+ <br />  cylinders = 632
+ <br />  partition = /dev/sda1
+ <br />    start = 2048
+ <br />  partition = /dev/sda2
+ <br />    start = 204800
+ <br />  partition = /dev/sda3
+ <br />    start = 500000
+ <br />  partition = /dev/sda4
+ <br />    start = 900000</div>
+<!--l. 2243--><p class="nopar" >
+
+</p>
+<div class="verbatim" id="verbatim-14">
+disk = /dev/sda
+ <br />  bios = 0x80
+ <br />disk = /dev/hda
+ <br />  bios = 0x81</div>
+<!--l. 2250--><p class="nopar" >
+</p><!--l. 2253--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a
+ id="x1-530004.5"></a>Partition table manipulation</h4>
+<!--l. 2256--><p class="noindent" >Some non-Linux operating systems obtain information about their partitions (e.g. their equivalent of the
+root file system) from the partition table. If more than one such operating system is installed on a PC,
+they may have conflicting interpretations of the content of the partition table. Those problems
+can be avoided by changing the partition table, depending on which operating system is being
+booted.
+</p><!--l. 2263--><p class="noindent" >Partition table changes are specified in a <span
+class="cmtt-10x-x-109">change </span>section in the configuration file section describing the
+foreign operating system. Note that <span
+class="cmtt-10x-x-109">change </span>sections are only accepted if the build-time option
+<span
+class="cmtt-10x-x-109">REWRITE</span><span
+class="cmtt-10x-x-109">_TABLE </span>is set.
+</p><!--l. 2268--><p class="noindent" >The <span
+class="cmtt-10x-x-109">change </span>section contains subsections for each partition whose table entry needs to be modified.
+Partitions are specified with <span
+class="cmtt-10x-x-109">partition=</span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name</span>
+</p><!--l. 2272--><p class="noindent" >Changes are applied in the sequence in which they appear in the configuration file. Configurations
+containing changes that are redundant either by repeating a previous change or by changing its result
+further are invalid and refused by the map installer.
+</p><!--l. 2277--><p class="noindent" >Internally, all changes are expressed as rules which specify the location (disk and offset in the
+partition table), the value this location must contain before the change, and the value that
+has to be stored. As a safety measure, the rule is ignored if the previous value is found to be
+different.
+</p><!--l. 2284--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.5.1 </span> <a
+ id="x1-540004.5.1"></a>Partition activation</h5>
+<!--l. 2286--><p class="noindent" >This option is intended for booting systems which determine their boot partition by examining the active
+flag in the partition table. The flag is enabled with <span
+class="cmtt-10x-x-109">activate </span>and disabled with <span
+class="cmtt-10x-x-109">deactivate</span>.
+Note that only the current partition is affected. LILO does not automatically change the active
+flags of other partitions and it also allows more than one partition to be active at the same
+time.
+
+</p><!--l. 2293--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-15">
+other = /dev/sda4
+ <br />  label = sco
+ <br />  change
+ <br />    partition = /dev/sda4
+ <br />      activate
+ <br />    partition = /dev/sda3
+ <br />      deactivate</div>
+<!--l. 2303--><p class="nopar" >
+</p><!--l. 2306--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.5.2 </span> <a
+ id="x1-550004.5.2"></a>Partition type change rules</h5>
+<!--l. 2309--><p class="noindent" >Partition type changes are normally a transition between two possible values, e.g. a typical convention is to
+set the lowest bit in the upper nibble of the partition type (i.e. 0x10) in order to “hide”, and to clear it to
+“unhide” a partition. LILO performs these changes based on a set of rules. Each rule defines
+the name of a partition type, its normal value, and the value when hidden. Those rules are
+defined in the options section of the configuration file. The section defining them begins with
+<span
+class="cmtt-10x-x-109">change-rules</span>.
+</p><!--l. 2318--><p class="noindent" >The following options and variables can appear in the section:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">reset</span> </dt><dd
+class="description">Removes all previously defined rules. This is needed if a user doesn’t wish to use the pre-defined
+ rules (see below).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">type=</span><span
+class="cmti-10x-x-109">name</span> </dt><dd
+class="description">Adds a rule for the type with the specified name. Type names are case-insensitive. The
+ values are defined with <span
+class="cmtt-10x-x-109">normal=</span><span
+class="cmti-10x-x-109">byte </span>and <span
+class="cmtt-10x-x-109">hidden=</span><span
+class="cmti-10x-x-109">byte</span>. Values can be specified as decimal or as
+ hexadecimal numbers with a leading <span
+class="cmtt-10x-x-109">0x</span>. If only one of the values is present, the other value is
+ assumed to be the same number, but with the most significant bit inverted.</dd></dl>
+<!--l. 2331--><p class="noindent" >LILO pre-defines rules for the three partition types of DOS partitions. The following example removes the
+pre-defined rules and creates them again:
+
+</p>
+<div class="verbatim" id="verbatim-16">
+change-rules
+ <br />  reset
+ <br />  type = DOS12
+ <br />    normal = 0x01
+ <br />    hidden = 0x11
+ <br />  type = DOS16_small
+ <br />    normal = 4 # hidden is 0x14
+ <br />  type = DOS16_big
+ <br />    hidden = 0x16</div>
+<!--l. 2344--><p class="nopar" >
+</p><!--l. 2347--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.5.3 </span> <a
+ id="x1-560004.5.3"></a>Partition type changes</h5>
+<!--l. 2350--><p class="noindent" >Partition type changes are specified in the partition section as <span
+class="cmtt-10x-x-109">set=</span><span
+class="cmti-10x-x-109">name</span><span
+class="cmtt-10x-x-109">_</span><span
+class="cmti-10x-x-109">state</span>, where <span
+class="cmti-10x-x-109">name </span>is the name of
+the partition type, and <span
+class="cmti-10x-x-109">state </span>is its state, i.e. <span
+class="cmtt-10x-x-109">normal </span>or <span
+class="cmtt-10x-x-109">hidden</span>.
+</p><!--l. 2355--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-17">
+other = /dev/sda3
+ <br />  label = dos
+ <br />  change
+ <br />    partition = /dev/sda2
+ <br />      set = dos16_big_normal
+ <br />    partition = /dev/sda3
+ <br />      activate
+ <br />      set = DOS16_big_normal</div>
+<!--l. 2366--><p class="nopar" >
+</p><!--l. 2368--><p class="noindent" >Only one <span
+class="cmtt-10x-x-109">set </span>variable is allowed per partition section. In the rare event that more than one <span
+class="cmtt-10x-x-109">set </span>variable is
+needed, further partition sections can be used.
+</p><!--l. 2373--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a
+ id="x1-570004.6"></a>Keyboard translation</h4>
+<!--l. 2376--><p class="noindent" >The PC keyboard emits so-called scan codes, which are basically key numbers. The BIOS then translates
+those scan codes to the character codes of the characters printed on the key-caps. By default, the BIOS
+normally assumes that the keyboard has a US layout. Once an operating system is loaded, this operating
+system can use a different mapping.
+</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
+codes for an US keyboard. It provides a simple mechanism to re-map the character codes to what is appropriate for the
+actual layout.<span class="footnote-mark"><a
+href="user_21-521.html#fn25x0"><sup class="textsuperscript">25</sup></a></span><a
+ id="x1-57001f25"></a>
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.6.1 </span> <a
+ id="x1-580004.6.1"></a>Compiling keyboard translation tables</h5>
+<!--l. 2394--><p class="noindent" >LILO obtains layout information from the keyboard translation tables Linux uses for the text
+console. They are usually stored in <span
+class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>. LILO comes with a program
+<span
+class="cmss-10x-x-109">keytab-lilo.pl </span>that reads those tables and generates a table suitable for use by the map installer.
+<span
+class="cmss-10x-x-109">keytab-lilo.pl </span>invokes the program <span
+class="cmss-10x-x-109">loadkeys </span>to print the tables in a format that is easy to parse.
+<span class="footnote-mark"><a href="user_21-522.html#fn26x0"><sup class="textsuperscript">26</sup></a>
+</span>
+</p><!--l. 2404--><p class="noindent" ><span
+class="cmss-10x-x-109">keytab-lilo.pl </span>is used as follows:
+</p><!--l. 2406--><p class="indent" ><span
+class="cmtt-10x-x-109">keytab-lilo.pl</span> <span class="big">[</span> <span
+class="cmtt-10x-x-109">-p </span><span
+class="cmti-10x-x-109">old_code</span><span
+class="cmtt-10x-x-109">=</span><span
+class="cmti-10x-x-109">new_code</span> <span class="big">]</span> <span
+class="cmmi-10x-x-109">…</span> <span class="big">[</span><span
+class="cmti-10x-x-109">path</span><span class="big">]</span><span
+class="cmti-10x-x-109">default_layout</span><span class="big">[</span><span
+class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <br
+class="newline" /><span class="big"> [</span><span
+class="cmti-10x-x-109">path</span><span class="big">]</span><span
+class="cmti-10x-x-109">kbd_layout</span><span class="big">[</span><span
+class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <span
+class="cmtt-10x-x-109"> </span>
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">-p </span><span
+class="cmti-10x-x-109">old_code</span><span
+class="cmtt-10x-x-109">=</span><span
+class="cmti-10x-x-109">new_code</span> </dt><dd
+class="description"> <br
+class="newline" />Specifies corrections (“patches”) to the mapping obtained from the translation table files. E.g.
+ if pressing the upper case “A” should yield an at sign, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">-p</span><span
+class="cmtt-10x-x-109"> 65=64</span></span></span> would be used. The <span
+class="cmtt-10x-x-109">-p </span>option
+ can be repeated any number of times. The codes can also be given as hexadecimal or as octal
+ numbers if they are prefixed with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">0x</span></span></span> or <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">0</span></span></span>, respectively.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">path</span> </dt><dd
+class="description">The directory in which the file resides. The default path is <span
+class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">extension</span> </dt><dd
+class="description">Usually the trailing <span
+class="cmtt-10x-x-109">.map</span>, which is automatically added if the file name doesn’t contain dots.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">default_layout</span> </dt><dd
+class="description">Is the layout which specifies the translation by the BIOS. If none is specified, <span
+class="cmtt-10x-x-109">us </span>is assumed.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">kbd_layout</span> </dt><dd
+class="description">Is the actual layout of the keyboard.</dd></dl>
+<!--l. 2430--><p class="noindent" ><span
+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
+stored anywhere with any name, but the suggested naming convention is <span
+class="cmtt-10x-x-109">/boot/</span><span
+class="cmti-10x-x-109">kbd</span><span
+class="cmtt-10x-x-109">.ktl </span>(“<span class="underline">K</span>eyboard <span class="underline">T</span>able
+for <span class="underline">L</span>ilo”), where <span
+class="cmti-10x-x-109">kbd </span>is the name of the keyboard layout.
+</p><!--l. 2436--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-18">
+keytab-lilo.pl de >/boot/de.ktl</div>
+<!--l. 2439--><p class="nopar" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">4.6.2 </span> <a
+ id="x1-590004.6.2"></a>Using keyboard translation tables</h5>
+<!--l. 2444--><p class="noindent" >The keyboard translation table file is specified with the global configuration option <span
+class="cmtt-10x-x-109">keytable=</span><span
+class="cmti-10x-x-109">table</span><span
+class="cmti-10x-x-109">_file</span>. The
+complete name of the file has to be given.
+</p><!--l. 2448--><p class="noindent" >Example:
+
+</p>
+<div class="verbatim" id="verbatim-19">
+keytable = /boot/de.klt</div>
+<!--l. 2451--><p class="nopar" >
+</p><!--l. 2454--><p class="noindent" >
+
+</p>
+<h3 class="sectionHead"><span class="titlemark">5 </span> <a
+ id="x1-600005"></a>Installation and updates</h3>
+<!--l. 2458--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
+ id="x1-610005.1"></a>Installation</h4>
+<!--l. 2460--><p class="noindent" >This section describes the installation of LILO. See section <a
+href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for how to uninstall LILO.
+</p><!--l. 2464--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.1 </span> <a
+ id="x1-620005.1.1"></a>Compatibility</h5>
+<!--l. 2466--><p class="noindent" >The kernel header files have to be in <span
+class="cmtt-10x-x-109">/usr/include/linux </span>and the kernel usually has to be configured by
+running <span
+class="cmtt-10x-x-109">make config </span>before LILO can be compiled.
+</p><!--l. 2470--><p class="noindent" ><span
+class="cmtt-10x-x-109">/bin/sh </span>has to be a real Bourne shell. <span
+class="cmss-10x-x-109">bash </span>is sufficiently compatible, but some <span
+class="cmss-10x-x-109">ksh </span>clones may cause
+problems.
+</p><!--l. 2473--><p class="noindent" >A file named <span
+class="cmtt-10x-x-109">INCOMPAT </span>is included in the distribution. It describes incompatibilities to older versions of
+LILO and may also contain further compatibility notes.
+</p><!--l. 2478--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.2 </span> <a
+ id="x1-630005.1.2"></a>Quick installation</h5>
+<!--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
+quick installation script. Read <span
+class="cmtt-10x-x-109">QuickInst </span>for details.
+</p><!--l. 2485--><p class="noindent" ><span
+class="cmss-10x-x-109">QuickInst </span>can only be used for first-time installations or to entirely replace an existing installation, <span
+class="cmbx-10x-x-109">not </span>to
+update or modify an existing installation of LILO. Be sure you’ve extracted LILO into a directory that
+doesn’t contain any files of other LILO installations.
+</p><!--l. 2492--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.3 </span> <a
+ id="x1-640005.1.3"></a>Files</h5>
+<!--l. 2494--><p class="noindent" >Some of the files contained in <span
+class="cmtt-10x-x-109">lilo-21.tar.gz</span>:
+</p><!--l. 2496--><p class="noindent" >
+
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/README</span> </dt><dd
+class="description"> <br
+class="newline" />This documentation in plain ASCII format. Some sections containing complex tables are only
+ included in the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> version in <span
+class="cmtt-10x-x-109">doc/user.tex</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/INCOMPAT</span> </dt><dd
+class="description"> <br
+class="newline" />List of incompatibilities to previous versions of LILO.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/CHANGES</span> </dt><dd
+class="description"> <br
+class="newline" />Change history.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/VERSION</span> </dt><dd
+class="description"> <br
+class="newline" />The version number of the respective release.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/QuickInst</span> </dt><dd
+class="description"> <br
+class="newline" />Quick installation script.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/lilo-</span><span
+class="cmti-10x-x-109">version</span><span
+class="cmtt-10x-x-109">.lsm</span> </dt><dd
+class="description"> <br
+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.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/Makefile</span> </dt><dd
+class="description"> <br
+class="newline" />Makefile to generate everything else.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/*.c</span><span
+class="cmbx-10x-x-109">, </span><span
+class="cmtt-10x-x-109">lilo/*.h</span> </dt><dd
+class="description"> <br
+class="newline" />LILO map installer C source and common header files.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/*.S</span> </dt><dd
+class="description"> <br
+class="newline" />LILO boot loader assembler source.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/activate.c</span> </dt><dd
+class="description"> <br
+class="newline" />C source of a simple boot partition setter.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/dparam.s</span> </dt><dd
+class="description"> <br
+class="newline" />Assembler source of a disk parameter dumper.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/mkdist</span> </dt><dd
+class="description"> <br
+class="newline" />Shell script used to create the current LILO distribution.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/keytab-lilo.pl</span> </dt><dd
+class="description"> <br
+class="newline" />Perl script to generate keyboard translation tables.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/README</span> </dt><dd
+class="description"> <br
+class="newline" />Description of how to generate the documentation.
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/Makefile</span> </dt><dd
+class="description"> <br
+class="newline" />Makefile used to convert the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> source into either DVI output or the plain ASCII
+ README file.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/user.tex</span> </dt><dd
+class="description"> <br
+class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> source of LILO’s user’s guide (this document).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/tech.tex</span> </dt><dd
+class="description"> <br
+class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> source of LILO’s technical overview.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/*.fig</span> </dt><dd
+class="description"> <br
+class="newline" />Various <span
+class="cmss-10x-x-109">xfig </span>pictures used in the technical overview.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/fullpage.sty</span> </dt><dd
+class="description"> <br
+class="newline" />Style file to save a few square miles of forest.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/rlatex</span> </dt><dd
+class="description"> <br
+class="newline" />Shell script that invokes <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
+class="E">E</span>X</span></span> repeatedly until all references have settled.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/doc/t2a.pl</span> </dt><dd
+class="description"> <br
+class="newline" /><span
+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
+class="E">E</span>X</span></span> source of the user’s guide to plain ASCII.</dd></dl>
+<!--l. 2547--><p class="noindent" >Files created after <span
+class="cmtt-10x-x-109">make </span>in <span
+class="cmtt-10x-x-109">lilo/ </span>(among others):
+</p><!--l. 2549--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/boot.b</span> </dt><dd
+class="description"> <br
+class="newline" />Combined boot sector. <span
+class="cmtt-10x-x-109">make install </span>puts this file into <span
+class="cmtt-10x-x-109">/boot</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/chain.b</span> </dt><dd
+class="description"> <br
+class="newline" />Generic chain loader. <span
+class="cmtt-10x-x-109">make install </span>puts this file into <span
+class="cmtt-10x-x-109">/boot</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/os2</span><span
+class="cmtt-10x-x-109">_d.b</span> </dt><dd
+class="description"> <br
+class="newline" />Chain loader to load <span
+class="cmss-10x-x-109">OS/2 </span>from the second hard disk. <span
+class="cmtt-10x-x-109">make install </span>puts this file into <span
+class="cmtt-10x-x-109">/boot</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/lilo</span> </dt><dd
+class="description"> <br
+class="newline" />LILO (map) installer. <span
+class="cmtt-10x-x-109">make install </span>puts this file into <span
+class="cmtt-10x-x-109">/sbin</span>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/activate</span> </dt><dd
+class="description"> <br
+class="newline" />Simple boot partition setter.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">lilo/dparam.com</span> </dt><dd
+class="description"> <br
+class="newline" />MS-DOS executable of the disk parameter dumper.</dd></dl>
+
+<!--l. 2566--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.4 </span> <a
+ id="x1-650005.1.4"></a>Normal first-time installation</h5>
+<!--l. 2569--><p class="noindent" >First, you have to install the LILO files:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">extract all files from <span
+class="cmtt-10x-x-109">lilo-</span><span
+class="cmti-10x-x-109">version</span><span
+class="cmtt-10x-x-109">.tar.gz </span>in a new directory.<span class="footnote-mark"><a
+href="user_21-523.html#fn27x0"><sup class="textsuperscript">27</sup></a></span><a
+ id="x1-65001f27"></a>
+ </li>
+ <li class="itemize">configure the <span
+class="cmtt-10x-x-109">Makefile </span>(see section <a
+href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>)
+ </li>
+ <li class="itemize">run <span
+class="cmtt-10x-x-109">make </span>to compile and assemble all parts.
+ </li>
+ <li class="itemize">run <span
+class="cmtt-10x-x-109">make install </span>to copy all LILO files to the directories where they’re installed. <span
+class="cmtt-10x-x-109">/sbin</span>
+ should now contain the file <span
+class="cmtt-10x-x-109">lilo</span>, <span
+class="cmtt-10x-x-109">/usr/sbin </span>should contain <span
+class="cmtt-10x-x-109">keytab-lilo.pl</span>, and <span
+class="cmtt-10x-x-109">/boot </span>should
+ contain <span
+class="cmtt-10x-x-109">boot.b</span>, <span
+class="cmtt-10x-x-109">chain.b</span>, and <span
+class="cmtt-10x-x-109">os2</span><span
+class="cmtt-10x-x-109">_d.b</span>.</li></ul>
+<!--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
+disk(s) and specify them in the configuration file. See section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details. If you’re using
+such a non-standard system, the next step is to test LILO with the boot sector on a floppy
+disk:
+</p>
+ <ul class="itemize1">
+ <li class="itemize">insert a blank (but low-level formatted) floppy disk into <span
+class="cmtt-10x-x-109">/dev/fd0</span>.
+ </li>
+ <li class="itemize">run <span
+class="cmtt-10x-x-109">echo image=</span><span
+class="cmti-10x-x-109">kernel</span><span
+class="cmti-10x-x-109">_image</span><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109"> |</span></span></span><br
+class="newline" /><span
+class="cmtt-10x-x-109">/sbin/lilo -C - -b /dev/fd0 -v -v -v </span><br
+class="newline" />If you’ve already installed LILO on your system, you might not want to overwrite your old
+ map file. Use the <span
+class="cmtt-10x-x-109">-m </span>option to specify an alternate map file name.
+ </li>
+ <li class="itemize">reboot. LILO should now load its boot loaders from the floppy disk and then continue loading
+ the kernel from the hard disk.</li></ul>
+<!--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
+<span
+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
+sector.
+</p>
+
+ <ul class="itemize1">
+ <li class="itemize">get a working boot disk, e.g. an install or recovery disk. Verify that you can boot with this
+ setup and that you can mount your Linux partition(s) with it.
+ </li>
+ <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
+ it contains a boot loader you might want to use if you encounter problems with LILO), you
+ should mount your boot disk and make a backup copy of your boot sector to a file on that
+ floppy, e.g. <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">dd</span><span
+class="cmtt-10x-x-109"> if=/dev/hda</span><span
+class="cmtt-10x-x-109"> of=/fd/boot_sector</span><span
+class="cmtt-10x-x-109"> bs=512</span><span
+class="cmtt-10x-x-109"> count=1</span></span></span>
+ </li>
+ <li class="itemize">create the configuration file <span
+class="cmtt-10x-x-109">/etc/lilo.conf</span>, e.g. <br
+class="newline" /><span
+class="cmti-10x-x-109">global settings </span><br
+class="newline" /><span
+class="cmti-10x-x-109">image specification </span><br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109"> </span><span
+class="cmtt-10x-x-109"> </span></span></span><span
+class="cmti-10x-x-109">per-image options </span><br
+class="newline" /><span
+class="cmmi-10x-x-109">…</span> <br
+class="newline" />Be sure to use absolute paths for all files. Relative paths may cause unexpected behaviour when
+ using the <span
+class="cmtt-10x-x-109">-r </span>option.
+ </li>
+ <li class="itemize">now, you can check what LILO would do if you were about to install it on your hard disk: <br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">/sbin/lilo</span><span
+class="cmtt-10x-x-109"> -v</span><span
+class="cmtt-10x-x-109"> -v</span><span
+class="cmtt-10x-x-109"> -v</span><span
+class="cmtt-10x-x-109"> -t</span></span></span>
+ </li>
+ <li class="itemize">if you need some additional boot utility (i.e. <span
+class="cmss-10x-x-109">BOOTACTV</span>), you should install that now
+ </li>
+ <li class="itemize">run <span
+class="cmtt-10x-x-109">/sbin/lilo </span>to install LILO on your hard disk
+ </li>
+ <li class="itemize">if you have to change the active partition, use <span
+class="cmss-10x-x-109">fdisk </span>or <span
+class="cmss-10x-x-109">activate </span>to do that
+ </li>
+ <li class="itemize">reboot</li></ul>
+<!--l. 2634--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.5 </span> <a
+ id="x1-660005.1.5"></a>Build-time configuration</h5>
+<!--l. 2637--><p class="noindent" >Certain build-time parameters can be configured. They can either be edited in the top-level <span
+class="cmtt-10x-x-109">Makefile </span>or
+they can be stored in a file <span
+class="cmtt-10x-x-109">/etc/lilo.defines</span>. Settings in the <span
+class="cmtt-10x-x-109">Makefile </span>are ignored if that file
+exists.
+</p><!--l. 2642--><p class="noindent" >The following items can be configured:
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">BEEP</span> </dt><dd
+class="description">Enables beeping after displaying “LILO”. This is useful on machines which don’t beep at the
+ right time when booting and when working over a serial console. This option is disabled by
+ default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">IGNORECASE</span> </dt><dd
+class="description">Makes image name matching case-insensitive, i.e. “linux” and “Linux” are identical.
+
+ This option is enabled by default. Note that password matching is always case-sensitive.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LARGE</span><span
+class="cmtt-10x-x-109">_EDBA</span> </dt><dd
+class="description">Loads LILO at a lower address in order to leave more space for the EBDA (Extended
+ BIOS Data Area). This is necessary on some recent MP systems. Note that enabling <span
+class="cmtt-10x-x-109">LARGE</span><span
+class="cmtt-10x-x-109">_EDBA</span>
+ reduces the maximum size of “small” images (e.g. “Image” or “zImage”).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">NO1STDIAG</span> </dt><dd
+class="description">Do not generate diagnostics on read errors in the first stage boot loader. This avoids
+ possibly irritating error codes if the disk controller has transient read problems. This option is
+ disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">NODRAIN</span> </dt><dd
+class="description">The boot loader empties the keyboard buffer when starting, because it may contain garbage
+ on some systems. Draining the keyboard buffer can be disabled by setting the <span
+class="cmtt-10x-x-109">NODRAIN </span>option.
+ <span
+class="cmtt-10x-x-109">NODRAIN </span>is disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">NOINSTDEF</span> </dt><dd
+class="description">If the option <span
+class="cmtt-10x-x-109">install </span>is omitted, don’t install a new boot sector, but try to modify the
+ old boot sector instead. This option is disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">ONE</span><span
+class="cmtt-10x-x-109">_SHOT</span> </dt><dd
+class="description">Disables the command-line timeout (configuration variable <span
+class="cmtt-10x-x-109">timeout</span>) if any key is pressed.
+ This way, very short timeouts can be used if <span
+class="cmtt-10x-x-109">prompt </span>is set. <span
+class="cmtt-10x-x-109">ONE</span><span
+class="cmtt-10x-x-109">_SHOT </span>is disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">READONLY</span> </dt><dd
+class="description">Disallows overwriting the default command line sector of the map file. This way, command
+ lines set with <span
+class="cmtt-10x-x-109">-R </span>stay in effect until they are explicitly removed. <span
+class="cmtt-10x-x-109">READONLY </span>also disables <span
+class="cmtt-10x-x-109">lock</span>,
+ <span
+class="cmtt-10x-x-109">fallback</span>, and everything enabled by <span
+class="cmtt-10x-x-109">REWRITE</span><span
+class="cmtt-10x-x-109">_TABLE</span>. This option is disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">REWRITE</span><span
+class="cmtt-10x-x-109">_TABLE</span> </dt><dd
+class="description">Enables rewriting the partition table at boot time. This may be necessary to boot
+ certain operating systems who expect the active flag to be set on their partition or who need
+ changes in partition types. See also section <a
+href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>. This option is <span
+class="cmbx-10x-x-109">dangerous </span>and it is disabled by
+ default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">USE</span><span
+class="cmtt-10x-x-109">_TMPDIR</span> </dt><dd
+class="description">Use the directory indicated in the <span
+class="cmtt-10x-x-109">TMPDIR </span>environment variable when creating temporary
+ device files. If <span
+class="cmtt-10x-x-109">TMPDIR </span>is not set or if LILO is compiled without <span
+class="cmtt-10x-x-109">USE</span><span
+class="cmtt-10x-x-109">_TMPDIR</span>, temporary device
+ files are created in <span
+class="cmtt-10x-x-109">/tmp</span>.<span class="footnote-mark"><a
+href="user_21-524.html#fn28x0"><sup class="textsuperscript">28</sup></a></span><a
+ id="x1-66001f28"></a>
+ This option is disabled by default.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">VARSETUP</span> </dt><dd
+class="description">Enables the use of variable-size setup segments. This option is enabled by default and is
+ only provided to fall back to fixed-size setup segments in the unlikely case of problems when
+ using prehistoric kernels.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">XL</span><span
+class="cmtt-10x-x-109">_SECS=</span><span
+class="cmti-10x-x-109">sectors</span> </dt><dd
+class="description">Enable support for extra large (non-standard) floppy disks. The number of sectors
+ is set in the BIOS disk parameter table to the specified value. Note that this hack may yield
+ incorrect behaviour on some systems. This option is disabled by default.</dd></dl>
+
+<!--l. 2701--><p class="noindent" ><span
+class="cmtt-10x-x-109">/etc/lilo.defines </span>should be used if one wishes to make permanent configuration changes. The usual
+installation procedures don’t touch that file. Example:
+
+</p>
+<div class="verbatim" id="verbatim-20">
+-DIGNORECASE -DONE_SHOT</div>
+<!--l. 2707--><p class="nopar" >
+</p><!--l. 2709--><p class="noindent" >After changing the build-time configuration, LILO has to be recompiled with the following
+commands:
+
+</p>
+<div class="verbatim" id="verbatim-21">
+make spotless
+ <br />make</div>
+<!--l. 2715--><p class="nopar" >
+</p><!--l. 2718--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.1.6 </span> <a
+ id="x1-670005.1.6"></a>Floppy disk installation</h5>
+<!--l. 2720--><p class="noindent" >In some cases<span class="footnote-mark"><a
+href="user_21-525.html#fn29x0"><sup class="textsuperscript">29</sup></a></span><a
+ id="x1-67001f29"></a>,
+it may be desirable to install LILO on a floppy disk in a way that it can boot a kernel without accessing the
+hard disk.
+</p><!--l. 2724--><p class="noindent" >The basic procedure is quite straightforward (see also section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>): </p>
+ <ul class="itemize1">
+ <li class="itemize">a file system has to be created on the file system
+ </li>
+ <li class="itemize">the kernel and <span
+class="cmtt-10x-x-109">boot.b </span>have to be copied to the floppy disk
+ </li>
+ <li class="itemize"><span
+class="cmtt-10x-x-109">/sbin/lilo </span>has to be run to create the map file</li></ul>
+<!--l. 2731--><p class="noindent" >This can be as easy as
+
+</p>
+<div class="verbatim" id="verbatim-22">
+/sbin/mke2fs /dev/fd0
+ <br />[ -d /fd ] || mkdir /fd
+ <br />mount /dev/fd0 /fd
+ <br />cp /boot/boot.b /fd
+ <br />cp /zImage /fd
+ <br />echo image=/fd/zImage label=linux |
+ <br />  /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c -m /fd/map
+ <br />umount /fd</div>
+<!--l. 2741--><p class="nopar" >
+</p><!--l. 2743--><p class="noindent" >The command line of <span
+class="cmtt-10x-x-109">/sbin/lilo </span>is a little tricky. <span
+class="cmtt-10x-x-109">-C - </span>takes the configuration from standard input
+(naturally, one could also write the configuration into a file), <span
+class="cmtt-10x-x-109">-b /dev/fd0 </span>specifies that the boot
+sector is written to the floppy disk, <span
+class="cmtt-10x-x-109">-i /fd/boot.b </span>takes the first and second stage loaders from
+the floppy, <span
+class="cmtt-10x-x-109">-c </span>speeds up the load process, and <span
+class="cmtt-10x-x-109">-m /fd/map </span>puts the map file on the floppy
+too.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
+ id="x1-680005.2"></a>Updates</h4>
+<!--l. 2753--><p class="noindent" >LILO is affected by updates of kernels, the whole system and (trivially) of LILO itself. Typically, only
+<span
+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
+LILO is concerned).
+</p><!--l. 2759--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.2.1 </span> <a
+ id="x1-690005.2.1"></a>LILO update</h5>
+<!--l. 2762--><p class="noindent" >Before updating to a new version of LILO, you should read at least the file <span
+class="cmtt-10x-x-109">INCOMPAT </span>which describes
+incompatibilities with previous releases.
+</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
+<span
+class="cmtt-10x-x-109">Makefile</span>, run <span
+class="cmtt-10x-x-109">make </span>to build the executables and run <span
+class="cmtt-10x-x-109">make install </span>to install the files.
+</p><!--l. 2771--><p class="noindent" >The old versions of <span
+class="cmtt-10x-x-109">boot.b</span>, <span
+class="cmtt-10x-x-109">chain.b</span>, etc. are automatically renamed to <span
+class="cmtt-10x-x-109">boot.old</span>, <span
+class="cmtt-10x-x-109">chain.old</span>, etc. This is
+done to ensure that you can boot even if the installation procedure does not finish. <span
+class="cmtt-10x-x-109">boot.old</span>, <span
+class="cmtt-10x-x-109">chain.old</span>,
+etc. can be deleted after the map file is rebuilt.
+</p><!--l. 2777--><p class="noindent" >Because the locations of <span
+class="cmtt-10x-x-109">boot.b</span>, <span
+class="cmtt-10x-x-109">chain.b</span>, etc. have changed and because the map file format may be
+different too, you have to update the boot sector and the map file. Run <span
+class="cmtt-10x-x-109">/sbin/lilo </span>to do
+this.
+
+</p><!--l. 2782--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.2.2 </span> <a
+ id="x1-700005.2.2"></a>Kernel update</h5>
+<!--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
+re-built.<span class="footnote-mark"><a
+href="user_21-526.html#fn30x0"><sup class="textsuperscript">30</sup></a></span><a
+ id="x1-70001f30"></a>
+Run <span
+class="cmtt-10x-x-109">/sbin/lilo </span>to do this.
+</p><!--l. 2791--><p class="noindent" >The kernel has a make target “zlilo” that copies the kernel to <span
+class="cmtt-10x-x-109">/vmlinuz </span>and runs <span
+class="cmtt-10x-x-109">/sbin/lilo</span>.
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">5.2.3 </span> <a
+ id="x1-710005.2.3"></a>System upgrade</h5>
+<!--l. 2797--><p class="noindent" >Normally, system upgrades (i.e. installation or removal of packages, possibly replacement of a large part of
+the installed binaries) do not affect LILO. Of course, if a new kernel is installed in the process, the normal
+kernel update procedure has to be followed (see section <a
+href="#x1-700005.2.2">5.2.2<!--tex4ht:ref: kernupd --></a>). Also, if kernels are removed or added, it may
+be necessary to update the configuration file.
+</p><!--l. 2804--><p class="noindent" >If LILO is updated by this system upgrade, <span
+class="cmtt-10x-x-109">/sbin/lilo </span>should be run before booting the upgraded system.
+It is generally a good idea not to rely on the upgrade procedure to perform this essential step
+automatically.
+</p><!--l. 2808--><p class="noindent" >However, system upgrades which involve removal and re-creation of entire partitions (e.g. <span
+class="cmtt-10x-x-109">/</span>, <span
+class="cmtt-10x-x-109">/usr</span>, etc.) are
+different. First, they should be avoided, because they bear a high risk of losing other critical files, e.g. the
+<span
+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
+a brute-force way, this is equal with total removal of LILO, followed by a new installation. Therefore, the
+procedures described in the sections <a
+href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> and <a
+href="#x1-690005.2.1">5.2.1<!--tex4ht:ref: liloupd --></a> have to be performed. If you’ve forgotten to make a
+backup copy of <span
+class="cmtt-10x-x-109">/etc/lilo.conf </span>before the destructive upgrade, you might also have to go through section
+<a
+href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a> again.
+</p><!--l. 2820--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
+ id="x1-720005.3"></a>LILO de-installation</h4>
+<!--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
+or disabled. All other files belonging to LILO can be deleted <span
+class="cmbx-10x-x-109">after </span>removing the boot sector, if
+
+desired.<span class="footnote-mark"><a
+href="user_21-527.html#fn31x0"><sup class="textsuperscript">31</sup></a></span><a
+ id="x1-72001f31"></a>
+</p><!--l. 2830--><p class="noindent" >Again, <span
+class="cmbx-10x-x-109">when removing Linux, LILO</span><span
+class="cmbx-10x-x-109"> must be de-installed before (!) its files (</span><span
+class="cmtt-10x-x-109">/boot</span><span
+class="cmbx-10x-x-109">, etc.) are</span>
+<span
+class="cmbx-10x-x-109">deleted. </span>This is especially important if LILO is operating as the MBR.
+</p><!--l. 2834--><p class="noindent" >LILO 14 (and newer) can be de-installed with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">lilo</span><span
+class="cmtt-10x-x-109"> -u</span></span></span>. If LILO 14 or newer is currently installed, but the
+first version of LILO installed was older than 14, <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">lilo</span><span
+class="cmtt-10x-x-109"> -U</span></span></span> may work. When using <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">-U</span></span></span>, the warning at the
+end of this section applies.
+</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
+some partition switcher program, it can be disabled by making a different partition active. MS-DOS’
+FDISK, Linux <span
+class="cmss-10x-x-109">fdisk </span>or LILO’s <span
+class="cmss-10x-x-109">activate </span>can do that.
+</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
+MBR, typically MS-DOS’ “standard” MBR. When using MS-DOS 5.0 or above, the MS-DOS
+MBR can be restored with <span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">FDISK</span><span
+class="cmtt-10x-x-109"> /MBR</span></span></span>. This only alters the boot loader code, not the partition
+table.
+</p><!--l. 2850--><p class="noindent" >LILO automatically makes backup copies when it overwrites boot sectors. They are named
+<br
+class="newline" /><span
+class="cmtt-10x-x-109">/boot/boot.</span><span
+class="cmti-10x-x-109">nnnn</span>, with <span
+class="cmti-10x-x-109">nnnn </span>corresponding to the device number, e.g. <span
+class="cmtt-10x-x-109">0300 </span>is <span
+class="cmtt-10x-x-109">/dev/hda</span>, <span
+class="cmtt-10x-x-109">0800 </span>is
+<span
+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
+commands are <br
+class="newline" /><span
+class="cmtt-10x-x-109">dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1 </span>or <br
+class="newline" /><span
+class="cmtt-10x-x-109">dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1 </span><br
+class="newline" />respectively.
+</p><!--l. 2860--><p class="noindent" ><span
+class="cmbx-10x-x-109">WARNING: </span>Some Linux distributions install <span
+class="cmtt-10x-x-109">boot.</span><span
+class="cmti-10x-x-109">nnnn </span>files from the system where the distribution was
+created. Using those files may yield unpredictable results. Therefore, the file creation date should be
+carefully checked.
+</p>
+<h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
+ id="x1-730005.4"></a>Installation of other operating systems</h4>
+<!--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
+is therefore possible that LILO will stop to work after such an installation and Linux has to be
+booted from floppy disk. The original state can be restored by either re-running <span
+class="cmtt-10x-x-109">/sbin/lilo </span>(if
+LILO is installed as the MBR) or by making LILO’s partition active (if it’s installed on a primary
+partition).
+</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
+is said to cause trouble when attempting to add it to an existing Linux system. (However, booting from
+floppy and running <span
+class="cmtt-10x-x-109">/sbin/lilo </span>should get around most interferences.)
+</p><!--l. 2883--><p class="noindent" >Typically, the new operating system then has to be added to LILO’s configuration (and <span
+class="cmtt-10x-x-109">/sbin/lilo </span>has to
+be re-run) in order to boot it.
+
+</p><!--l. 2887--><p class="noindent" >See also section <a
+href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a list of known problems with some other operating systems.
+</p><!--l. 2891--><p class="noindent" >
+
+</p>
+<h3 class="sectionHead"><span class="titlemark">6 </span> <a
+ id="x1-740006"></a>Troubleshooting</h3>
+<!--l. 2894--><p class="noindent" >All parts of LILO display some messages that can be used to diagnose problems.
+</p><!--l. 2898--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a
+ id="x1-750006.1"></a>Map installer warnings and errors</h4>
+<!--l. 2900--><p class="noindent" >Most messages of the map installer (<span
+class="cmtt-10x-x-109">/sbin/lilo</span>) should be self-explanatory. Some messages that indicate
+common errors are listed below. They are grouped into fatal errors and warnings (non-fatal
+errors).
+</p><!--l. 2906--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">6.1.1 </span> <a
+ id="x1-760006.1.1"></a>Fatal errors</h5>
+<!--l. 2908--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">Boot sector of </span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span><span
+class="cmtt-10x-x-109">doesn’t have a boot signature</span> </dt><dd
+class="description">
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Boot sector of </span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span><span
+class="cmtt-10x-x-109">doesn’t have a LILO signature</span> </dt><dd
+class="description"> <br
+class="newline" />The sector from which LILO should be uninstalled doesn’t appear to be a LILO boot sector.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Can’t put the boot sector on logical partition </span><span
+class="cmti-10x-x-109">number</span> </dt><dd
+class="description"> <br
+class="newline" />An attempt has been made to put LILO’s boot sector on the current root file system partition
+ which is on a logical partition. This usually doesn’t have the desired effect, because common
+ MBRs can only boot primary partitions. This check can be bypassed by explicitly specifying
+ the boot partition with the <span
+class="cmtt-10x-x-109">-b </span>option or by setting the configuration variable <span
+class="cmtt-10x-x-109">boot</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Checksum error</span> </dt><dd
+class="description"> <br
+class="newline" />The descriptor table of the map file has an invalid checksum. Refresh the map file <span
+class="cmbx-10x-x-109">immediately</span>
+ !
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Device 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">: Configured as inaccessible.</span> </dt><dd
+class="description"> <br
+class="newline" />There is a <span
+class="cmtt-10x-x-109">disk </span>section entry indicating that the device is inaccessible from the BIOS. You
+ should check carefully that all files LILO tries to access when booting are on the right device.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Device 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">: Got bad geometry </span><span
+class="cmti-10x-x-109">sec</span><span
+class="cmtt-10x-x-109">/</span><span
+class="cmti-10x-x-109">hd</span><span
+class="cmtt-10x-x-109">/</span><span
+class="cmti-10x-x-109">cyl</span> </dt><dd
+class="description"> <br
+class="newline" />The device driver for your SCSI controller does not support geometry detection. You have to
+ specify the geometry explicitly (see section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Device 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">: Invalid partition table, entry </span><span
+class="cmti-10x-x-109">number</span> </dt><dd
+class="description"> <br
+class="newline" />The 3D and linear addresses of the first sector of the specified partition don’t correspond. This
+ is typically caused by partitioning a disk with a program that doesn’t align partitions to tracks
+ and later using PC/MS-DOS or OS/2 on that disk. LILO can attempt to correct the problem,
+ see page <span class="pageref"><a
+href="#x1-430004.2.2"><span
+class="tcrm-1095">§</span></a></span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Device 0x</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">: Partition type 0x</span><span
+class="cmti-10x-x-109">number</span> </dt><dd
+class="description"> <br
+class="newline" /><span
+class="cmtt-10x-x-109">does not seem suitable for a LILO boot sector</span> <br
+class="newline" />The location where the LILO boot sector should be placed does not seem to be suitable for
+ that. (See also also section <a
+href="#x1-60002.1">2.1<!--tex4ht:ref: diskorg --></a>). You should either adjust the partition type to reflect the actual
+ use or put the boot sector on a different partition. This consistency check only yields a warning
+ (i.e. LILO continues) if the option <span
+class="cmtt-10x-x-109">ignore-table </span>is set.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span><span
+class="cmtt-10x-x-109">is not a valid partition device</span> </dt><dd
+class="description"> <br
+class="newline" />The specified device is either not a device at all, a whole disk, or a partition on a different disk
+ than the one in whose section its entry appears.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name </span><span
+class="cmtt-10x-x-109">is not a whole disk device</span> </dt><dd
+class="description"> <br
+class="newline" />Only the geometry of whole disks (e.g. <span
+class="cmtt-10x-x-109">/dev/hda</span>, <span
+class="cmtt-10x-x-109">/dev/sdb</span>, etc.) can be redefined when using
+ <span
+class="cmtt-10x-x-109">disk </span>sections.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">DISKTAB and DISK are mutually exclusive</span> </dt><dd
+class="description"> <br
+class="newline" />You cannot use a <span
+class="cmtt-10x-x-109">disktab </span>file and disk geometry definitions in the configuration file at
+ the same time. Maybe <span
+class="cmtt-10x-x-109">/etc/disktab </span>was accidentally used, because that’s the default for
+ backward-compatibility. You should delete <span
+class="cmtt-10x-x-109">/etc/disktab </span>after completing the transition to
+ <span
+class="cmtt-10x-x-109">disk </span>sections.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Duplicate entry in partition table</span> </dt><dd
+class="description"> <br
+class="newline" />A partition table entry appears twice. The partition table has to be fixed with <span
+class="cmss-10x-x-109">fdisk</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Duplicate geometry definition for </span><span
+class="cmti-10x-x-109">device</span><span
+class="cmti-10x-x-109">_name</span> </dt><dd
+class="description"> <br
+class="newline" />A disk or partition geometry definition entry for the same device appears twice in the
+ configuration file. Note that you mustn’t write a partition section for the whole disk — its start
+ sector is always the first sector of the disk.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">First sector of </span><span
+class="cmti-10x-x-109">device </span><span
+class="cmtt-10x-x-109">doesn’t have a valid boot signature</span> </dt><dd
+class="description"> <br
+class="newline" />The first sector of the specified device does not appear to be a valid boot sector. You might have
+ confused the device name.<span class="footnote-mark"><a
+href="user_21-528.html#fn32x0"><sup class="textsuperscript">32</sup></a></span><a
+ id="x1-76001f32"></a>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">geo</span><span
+class="cmtt-10x-x-109">_comp</span><span
+class="cmtt-10x-x-109">_addr: Cylinder </span><span
+class="cmti-10x-x-109">number </span><span
+class="cmtt-10x-x-109">beyond end of media (</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">)</span> </dt><dd
+class="description"> <br
+class="newline" />A file block appears to be located beyond the last cylinder of the disk. This probably indicates
+
+ an error in the disk geometry specification (see section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>) or a file system corruption.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">geo</span><span
+class="cmtt-10x-x-109">_comp</span><span
+class="cmtt-10x-x-109">_addr: Cylinder number is too big (</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmmi-10x-x-109">> </span><span
+class="cmtt-10x-x-109">1023)</span> </dt><dd
+class="description"> <br
+class="newline" />Blocks of a file are located beyond the 1024th cylinder of a hard disk. LILO can’t access such
+ files, because the BIOS limits cylinder numbers to the range 0<span
+class="cmmi-10x-x-109">…</span>1023. Try moving the file to a
+ different place, preferably a partition that is entirely within the first 1024 cylinders of the disk.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Hole found in map file (</span><span
+class="cmti-10x-x-109">location</span><span
+class="cmtt-10x-x-109">)</span> </dt><dd
+class="description"> <br
+class="newline" />The map installer is confused about the disk organization. Please report this error.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">item </span><span
+class="cmtt-10x-x-109">doesn’t have a valid LILO signature</span> </dt><dd
+class="description"> <br
+class="newline" />The specified item has been located, but is not part of LILO.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">item </span><span
+class="cmtt-10x-x-109">has an invalid stage code (</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">)</span> </dt><dd
+class="description"> <br
+class="newline" />The specified item has probably been corrupted. Try re-building LILO.
+ </dd><dt class="description">
+<span
+class="cmti-10x-x-109">item </span><span
+class="cmtt-10x-x-109">is version </span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">. Expecting version</span><span
+class="cmti-10x-x-109">number</span><span
+class="cmtt-10x-x-109">.</span> </dt><dd
+class="description"> <br
+class="newline" />The specified entity is either too old or too new. Make sure all parts of LILO (map installer,
+ boot loaders and chain loaders) are from the same distribution. <span class="footnote-mark"><a
+href="#fn33x0"><sup class="textsuperscript">33</sup></a></span><a
+ id="x1-76002f33"></a>
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Kernel </span><span
+class="cmti-10x-x-109">name </span><span
+class="cmtt-10x-x-109">is too big</span> </dt><dd
+class="description"> <br
+class="newline" />The kernel image (without the setup code) is bigger than 512 kbytes (or 448 kbytes, if built with
+ <span
+class="cmtt-10x-x-109">LARGE</span><span
+class="cmtt-10x-x-109">_EDBA</span>). LILO would overwrite itself when trying to load such a kernel. This limitation
+ only applies to old kernels which are loaded below 0x10000 (e.g. “Image” or “zImage”). Try
+ building the kernel with “bzImage”. If this is undesirable for some reason, try removing some
+ unused drivers and compiling the kernel again. This error may also occur if the kernel image is
+ damaged or if it contains trailing “junk”, e.g. as the result of copying an entire boot floppy to
+ the hard disk.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LOCK and FALLBACK are mutually exclusive</span> </dt><dd
+class="description"> <br
+class="newline" />Since <span
+class="cmtt-10x-x-109">lock </span>and <span
+class="cmtt-10x-x-109">fallback </span>both change the default command line, they can’t be reasonably used
+ together.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Map </span><span
+class="cmti-10x-x-109">path </span><span
+class="cmtt-10x-x-109">is not a regular file.</span> </dt><dd
+class="description"> <br
+class="newline" />This is probably the result of an attempt to omit writing a map file, e.g. with <span
+class="cmtt-10x-x-109">-m /dev/null</span>.
+ The <span
+class="cmtt-10x-x-109">-t </span>option should be used to accomplish this.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Must specify SECTORS and HEADS together</span> </dt><dd
+class="description"> <br
+class="newline" />It is assumed that disks with a “strange” number of sectors will also have a “strange” number
+ of heads. Therefore, it’s all or nothing.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">No geometry variables allowed if INACCESSIBLE</span> </dt><dd
+class="description"> <br
+class="newline" />If a device is configured as <span
+class="cmtt-10x-x-109">inaccessible </span>(see section <a
+href="#x1-520004.4.2">4.4.2<!--tex4ht:ref: diskspec --></a>), its <span
+class="cmtt-10x-x-109">disk </span>section must not contain
+ any geometry variables.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">No image </span><span
+class="cmti-10x-x-109">image </span><span
+class="cmtt-10x-x-109">is defined</span> </dt><dd
+class="description"> <br
+class="newline" />The command line specified either with the <span
+class="cmtt-10x-x-109">-R </span>option or with <span
+class="cmtt-10x-x-109">fallback </span>does not contain the
+ name of a valid image. Note that optional images which have not been included in the map file
+ are not considered as valid.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Partition entry not found</span> </dt><dd
+class="description"> <br
+class="newline" />The partition from which an other operating system should be booted isn’t listed in the specified
+ partition table. This either means that an incorrect partition table has been specified or that
+ you’re trying to boot from a logical partition. The latter usually doesn’t work. You can bypass
+ this check by omitting the partition table specification (e.g. omitting the variable <span
+class="cmtt-10x-x-109">table</span>).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Single-key clash: "</span><span
+class="cmti-10x-x-109">name</span><span
+class="cmtt-10x-x-109">" vs. "</span><span
+class="cmti-10x-x-109">name</span><span
+class="cmtt-10x-x-109">"</span> </dt><dd
+class="description"> <br
+class="newline" />The specified image labels or aliases conflict because one of them is a single character and has
+ the <span
+class="cmtt-10x-x-109">single-key </span>option set, and the other name begins with that character.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Sorry, don’t know how to handle device </span><span
+class="cmti-10x-x-109">number</span> </dt><dd
+class="description"> <br
+class="newline" />LILO uses files that are located on a device for which there is no easy way to determine the
+ disk geometry. Such devices have to be explicitly described, see section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">This LILO is compiled READONLY and doesn’t support</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description"> <br
+class="newline" />If LILO is not allowed to write to the disk at boot time (see section <a
+href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>), options like <span
+class="cmtt-10x-x-109">lock</span>
+ and <span
+class="cmtt-10x-x-109">fallback </span>are unavailable.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">This LILO is compiled without REWRITE</span><span
+class="cmtt-10x-x-109">_TABLE and doesn’t support</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description"> <br
+class="newline" />If LILO is not allowed to rewrite partition tables at boot time (see section <a
+href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>), options like
+ <span
+class="cmtt-10x-x-109">activate </span>and <span
+class="cmtt-10x-x-109">set </span>(in a <span
+class="cmtt-10x-x-109">change </span>section) are unavailable. You may also get this error if LILO is
+ compiled with <span
+class="cmtt-10x-x-109">READONLY </span>enabled.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Timestamp in boot sector of </span><span
+class="cmti-10x-x-109">device </span><span
+class="cmtt-10x-x-109">differs from date of </span><span
+class="cmti-10x-x-109">file</span> </dt><dd
+class="description"> <br
+class="newline" />The backup copy of the boot sector does not appear to be an ancestor of the current boot
+ sector. If you are absolutely sure that the boot sector is indeed correct, you can bypass this
+ check by using <span
+class="cmtt-10x-x-109">-U </span>instead of <span
+class="cmtt-10x-x-109">-u</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Trying to map files from unnamed device 0x</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmtt-10x-x-109">(NFS ?)</span> </dt><dd
+class="description"> <br
+class="newline" />This is probably the same problem as described below, only with the root file system residing
+ on NFS.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Trying to map files from your RAM disk.</span> </dt><dd
+class="description"> <br
+class="newline" /><span
+class="cmtt-10x-x-109">Please check -r option or ROOT environment variable.</span> <br
+class="newline" />Most likely, you or some installation script is trying to invoke LILO in a way that some of the
+ files is has to access reside on the RAM disk. Normally, the <span
+class="cmtt-10x-x-109">ROOT </span>environment variable should
+ be set to the mount point of the effective root device if installing LILO with a different root
+
+ directory. See also sections <a
+href="#x1-350004.1.2">4.1.2<!--tex4ht:ref: creupd --></a> and <a
+href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">VGA mode presetting is not supported by your kernel.</span> </dt><dd
+class="description"> <br
+class="newline" />Your kernel sources appear to be very old (’93 ?). LILO may work on your system if you remove
+ the <span
+class="cmtt-10x-x-109">vga </span>option.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">write </span><span
+class="cmti-10x-x-109">item</span><span
+class="cmtt-10x-x-109">: </span><span
+class="cmti-10x-x-109">error</span><span
+class="cmti-10x-x-109">_reason</span> </dt><dd
+class="description"> <br
+class="newline" />The disk is probably full or mounted read-only.</dd></dl>
+<!--l. 3087--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">6.1.2 </span> <a
+ id="x1-770006.1.2"></a>Warnings</h5>
+<!--l. 3090--><p class="noindent" >Messages labeled with “Warning” can be turned off with the <span
+class="cmtt-10x-x-109">nowarn </span>option.
+</p><!--l. 3093--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">FIGETBSZ </span><span
+class="cmti-10x-x-109">file</span><span
+class="cmti-10x-x-109">_name</span><span
+class="cmtt-10x-x-109">: </span><span
+class="cmti-10x-x-109">error</span><span
+class="cmti-10x-x-109">_reason</span> </dt><dd
+class="description"> <br
+class="newline" />The map installer is unable to determine the block size of a file system. It assumes a block size
+ of two sectors (1kB).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Ignoring entry ’</span><span
+class="cmti-10x-x-109">variable</span><span
+class="cmti-10x-x-109">_name</span><span
+class="cmtt-10x-x-109">’</span> </dt><dd
+class="description"> <br
+class="newline" />The command-line option corresponding to the specified variable is set. Therefore, the
+ configuration file entry is ignored.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Setting DELAY to 20 (2 seconds)</span> </dt><dd
+class="description"> <br
+class="newline" />Because accidentally booting the wrong kernel or operating system may be very inconvenient
+ on systems that are not run from a local display, the minimum delay is two seconds if the
+ <span
+class="cmtt-10x-x-109">serial </span>variable is set.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">(temp) </span><span
+class="cmti-10x-x-109">item</span><span
+class="cmtt-10x-x-109">: </span><span
+class="cmti-10x-x-109">error</span><span
+class="cmti-10x-x-109">_reason</span> </dt><dd
+class="description"> <br
+class="newline" />Deleting a temporary file has failed for the specified reason.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: BIOS drive 0x</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmtt-10x-x-109">may not be accessible</span> </dt><dd
+class="description"> <br
+class="newline" />Because most BIOS versions only support two floppies and two hard disks, files located on
+ additional disks may be inaccessible. This warning indicates that some kernels or even the
+ whole system may be unbootable.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: COMPACT may conflict with LINEAR on some systems</span> </dt><dd
+class="description"> <br
+class="newline" />Please see section <a
+href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a description of this problem.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file </span><span
+class="cmtt-10x-x-109">should be owned by root</span> </dt><dd
+class="description"> <br
+class="newline" />In order to prevent users from compromising system integrity, the configuration file should be
+
+ owned by root and write access for all other users should be disabled.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file </span><span
+class="cmtt-10x-x-109">should be readable only for root if using PASSWORD</span> </dt><dd
+class="description"> <br
+class="newline" />Users should not be allowed to read the configuration file when using the <span
+class="cmtt-10x-x-109">password </span>option,
+ because then, it contains unencrypted passwords.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file </span><span
+class="cmtt-10x-x-109">should be writable only for root</span> </dt><dd
+class="description"> <br
+class="newline" />See “<span
+class="cmtt-10x-x-109">Warning: </span><span
+class="cmti-10x-x-109">config</span><span
+class="cmti-10x-x-109">_file </span><span
+class="cmtt-10x-x-109">should be owned by root</span>”.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: device 0x</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmtt-10x-x-109">exceeds 1024 cylinder limit</span> </dt><dd
+class="description"> <br
+class="newline" />A disk or partition exceeds the 1024 cylinder limit imposed by the BIOS. This may result in
+ a fatal error in the current installation run or in later installation runs. See “<span
+class="cmtt-10x-x-109">geo</span><span
+class="cmtt-10x-x-109">_comp</span><span
+class="cmtt-10x-x-109">_addr:</span>
+ <span
+class="cmtt-10x-x-109">Cylinder number is too big (</span><span
+class="cmti-10x-x-109">number </span><span
+class="cmmi-10x-x-109">> </span><span
+class="cmtt-10x-x-109">1023)</span>” for details.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">Warning: </span><span
+class="cmti-10x-x-109">device </span><span
+class="cmtt-10x-x-109">is not on the first disk</span> </dt><dd
+class="description"> <br
+class="newline" />The specified partition is probably not on the first disk. LILO’s boot sector can only be booted
+ from the first disk unless some special boot manager is used.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">WARNING: The system is unbootable !</span> </dt><dd
+class="description"> <br
+class="newline" />One of the last installation steps has failed. This warning is typically followed by a fatal error
+ describing the problem.</dd></dl>
+<!--l. 3137--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a
+ id="x1-780006.2"></a>Boot loader messages</h4>
+<!--l. 3139--><p class="noindent" >The boot loader generates three types of messages: progress and error messages while it is loading, messages
+indicating disk access errors, and error messages in response to invalid command-line input.
+Since messages of the latter type are usually self-explanatory, only the two other categories are
+explained.
+</p><!--l. 3146--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">6.2.1 </span> <a
+ id="x1-790006.2.1"></a>LILO start message</h5>
+<!--l. 3148--><p class="noindent" >When LILO loads itself, it displays the word “LILO”. Each letter is printed before or after performing some
+specific action. If LILO fails at some point, the letters printed so far can be used to identify the problem.
+This is described in more detail in the technical overview.
+</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
+LILO stops at that point, generating an endless stream of error codes, such hex digits do not indicate a
+severe problem.
+</p><!--l. 3158--><p class="noindent" >
+
+ </p><dl class="description"><dt class="description">
+(<span
+class="cmti-10x-x-109">nothing</span>) </dt><dd
+class="description">No part of LILO has been loaded. LILO either isn’t installed or the partition on which
+ its boot sector is located isn’t active.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">L </span><span
+class="cmti-10x-x-109">error</span> <span
+class="cmmi-10x-x-109">…</span> </dt><dd
+class="description">The first stage boot loader has been loaded and started, but it can’t load the second
+ stage boot loader. The two-digit error codes indicate the type of problem. (See also section
+ <a
+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
+ parameters, see section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LI</span> </dt><dd
+class="description">The first stage boot loader was able to load the second stage boot loader, but has failed to execute
+ it. This can either be caused by a geometry mismatch or by moving <span
+class="cmtt-10x-x-109">/boot/boot.b </span>without
+ running the map installer.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LIL</span> </dt><dd
+class="description">The second stage boot loader has been started, but it can’t load the descriptor table from the
+ map file. This is typically caused by a media failure or by a geometry mismatch.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LIL?</span> </dt><dd
+class="description">The second stage boot loader has been loaded at an incorrect address. This is typically caused
+ by a subtle geometry mismatch or by moving <span
+class="cmtt-10x-x-109">/boot/boot.b </span>without running the map installer.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LIL-</span> </dt><dd
+class="description">The descriptor table is corrupt. This can either be caused by a geometry mismatch or by
+ moving <span
+class="cmtt-10x-x-109">/boot/map </span>without running the map installer.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">LILO</span> </dt><dd
+class="description">All parts of LILO have been successfully loaded.</dd></dl>
+<!--l. 3185--><p class="noindent" >
+</p>
+<h5 class="subsubsectionHead"><span class="titlemark">6.2.2 </span> <a
+ id="x1-800006.2.2"></a>Disk error codes</h5>
+<!--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
+displayed. The following BIOS error codes are known:
+</p><!--l. 3192--><p class="noindent" >
+ </p><dl class="description"><dt class="description">
+<span
+class="cmtt-10x-x-109">0x00</span> </dt><dd
+class="description">“Internal error”. This code is generated by the sector read routine of the LILO boot loader
+ whenever an internal inconsistency is detected. This might be caused by corrupt files. Try
+ re-building the map file. Another possible cause for this error are attempts to access cylinders
+ beyond 1024 while using the <span
+class="cmtt-10x-x-109">linear </span>option. See section <a
+href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> for more details and for how to
+ solve the problem.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x01</span> </dt><dd
+class="description">“Illegal command”. This shouldn’t happen, but if it does, it may indicate an attempt to access
+ a disk which is not supported by the BIOS. See also “Warning: BIOS drive 0x<span
+class="cmti-10x-x-109">number </span>may not
+ be accessible” in section <a
+href="#x1-770006.1.2">6.1.2<!--tex4ht:ref: warnings --></a>.
+
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x02</span> </dt><dd
+class="description">“Address mark not found”. This usually indicates a media problem. Try again several times.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x03</span> </dt><dd
+class="description">“Write-protected disk”. This should only occur on write operations.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x04</span> </dt><dd
+class="description">“Sector not found”. This typically indicates a geometry mismatch. If you’re booting a
+ raw-written disk image, verify whether it was created for disks with the same geometry as the
+ one you’re using. If you’re booting from a SCSI disk or a large IDE disk, you should check,
+ whether LILO has obtained correct geometry data from the kernel or whether the geometry
+ definition corresponds to the real disk geometry. (See section <a
+href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.) Removing <span
+class="cmtt-10x-x-109">compact </span>may help
+ too. So may adding <span
+class="cmtt-10x-x-109">lba32 </span>or <span
+class="cmtt-10x-x-109">linear</span>.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x06</span> </dt><dd
+class="description">“Change line active”. This should be a transient error. Try booting a second time.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x07</span> </dt><dd
+class="description">“Invalid initialization”. The BIOS failed to properly initialize the disk controller. You should
+ control the BIOS setup parameters. A warm boot might help too.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x08</span> </dt><dd
+class="description">“DMA overrun”. This shouldn’t happen. Try booting again.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x09</span> </dt><dd
+class="description">“DMA attempt across 64k boundary”. This shouldn’t happen, but may inicate a disk geometry
+ mis-match. Try omitting the <span
+class="cmtt-10x-x-109">compact </span>option. You may need to specify the disk geometry
+ yourself.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x0C</span> </dt><dd
+class="description">“Invalid media”. This shouldn’t happen and might be caused by a media error. Try booting
+ again.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x10</span> </dt><dd
+class="description">“CRC error”. A media error has been detected. Try booting several times, running the map
+ installer a second time (to put the map file at some other physical location or to write “good
+ data” over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing
+ the media.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x11</span> </dt><dd
+class="description">“ECC correction successful”. A read error occurred, but was corrected. LILO does not
+ recognize this condition and aborts the load process anyway. A second load attempt should
+ succeed.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x20</span> </dt><dd
+class="description">“Controller error”. This shouldn’t happen.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x40</span> </dt><dd
+class="description">“Seek failure”. This might be a media problem. Try booting again.
+ </dd><dt class="description">
+<span
+class="cmtt-10x-x-109">0x80</span> </dt><dd
+class="description">“Disk timeout”. The disk or the drive isn’t ready. Either the media is bad or the disk isn’t
+ spinning. If you’re booting from a floppy, you might not have closed the drive door. Otherwise,
+ trying to boot again might help.
+ </dd><dt class="description">
+
+<span
+class="cmtt-10x-x-109">0xBB</span> </dt><dd
+class="description">“BIOS error”. This shouldn’t happen. Try booting again. If the problem persists, removing the
+ <span
+class="cmtt-10x-x-109">compact </span>option or adding/removing <span
+class="cmtt-10x-x-109">linear </span>or <span
+class="cmtt-10x-x-109">lba32 </span>might help.</dd></dl>
+<!--l. 3252--><p class="noindent" >If the error occurred during a write operation, the error code (two hex digits) is prefixed with a “W”.
+Although write errors don’t affect the boot process, they might indicate a severe problem, because
+they usually imply that LILO has tried to write to an invalid location. If spurious write errors
+occur on a system, it might be a good idea to configure LILO to run read-only (see section
+<a
+href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>).
+</p><!--l. 3259--><p class="noindent" >Generally, invalid geometry and attempts to use more than two disks without a very modern BIOS may
+yield misleading error codes. Please check carefully if <span
+class="cmtt-10x-x-109">/sbin/lilo </span>doesn’t emit any warnings. Then try
+using the <span
+class="cmtt-10x-x-109">linear </span>or <span
+class="cmtt-10x-x-109">lba32 </span>option (see section <a
+href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
+</p><!--l. 3265--><p class="noindent" >
+</p>
+<h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a
+ id="x1-810006.3"></a>Other problems</h4>
+<!--l. 3268--><p class="noindent" >This section contains a collection of less common problems that have been observed. See also section <a
+href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a> for
+general remarks on using LILO with other operating systems. Some of the problems are obscure and so are
+the work-arounds.
+</p>
+ <ul class="itemize1">
+ <li class="itemize">If LILO doesn’t go away even if you erase its files, format your Linux partition, etc., you’ve
+ probably installed LILO as your MBR and you’ve forgotten to deinstall it before deleting its
+ files. See section <a
+href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for what you can do now.
+ </li>
+ <li class="itemize">For yet unknown reasons, LILO may fail on some systems with AMI BIOS if the “Hard Disk
+ Type 47 RAM area” is set to “0:300” instead of “DOS 1K”.
+ </li>
+ <li class="itemize">Some disk controller BIOSes perform disk geometry/address translations that are incompatible
+ with the way the device’s geometry is seen from Linux, i.e. without going through the BIOS.
+ Particularly, large IDE disks and some PCI SCSI controllers appear to have this problem. In
+ such cases, either the translated geometry has to be specified in a <span
+class="cmtt-10x-x-109">disk </span>section or the sector
+ address translation can be deferred by using the <span
+class="cmtt-10x-x-109">linear </span>option. In a setup where floppies are
+ not normally used for booting, the <span
+class="cmtt-10x-x-109">linear </span>approach should be preferred, because this avoids
+ the risk of specifying incorrect numbers.
+ </li>
+ <li class="itemize">OS/2 is said to be bootable from a logical partition with LILO acting as the primary boot
+ selector if LILO is installed on the MBR, the OS/2 BootManager is on an active primary
+ partition and LILO boots BootManager. Putting LILO on an extended partition instead is
+ said to crash the OS/2 FDISK in this scenario.
+ <!--l. 3298--><p class="noindent" >Note that booting LILO from BootManager (so BootManager is the primary selector) or
+ booting OS/2 directly from a primary partition (without BootManager) should generally work.
+ See also section <a
+href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a>.
+
+ </p></li>
+ <li class="itemize">Windows NT is reported to be bootable with LILO when LILO acts as the MBR and the
+ Windows NT boot loader is on the DOS partition. However, NT’s disk manager complains
+ about LILO’s MBR when trying to edit the partition table.
+ </li>
+ <li class="itemize">Some PC UNIX systems (SCO and Unixware have been reported to exhibit this problem)
+ depend on their partition being active. See section <a
+href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a> for how this can be accomplished.
+ </li>
+ <li class="itemize">Future Domain TMC-1680 adapters with the BIOS versions 3.4 and 3.5 assign BIOS device
+ numbers in the wrong order, e.g. on a two-disk system, <span
+class="cmtt-10x-x-109">/dev/sda </span>becomes <span
+class="cmtt-10x-x-109">0x81 </span>and <span
+class="cmtt-10x-x-109">/dev/sdb</span>
+ becomes <span
+class="cmtt-10x-x-109">0x80</span>. This can be fixed with the following <span
+class="cmtt-10x-x-109">disk </span>section:<br
+class="newline" /><span class="obeylines-h"><span class="verb"><span
+class="cmtt-10x-x-109">disk=/dev/sda</span><span
+class="cmtt-10x-x-109"> bios=0x81</span><span
+class="cmtt-10x-x-109"> disk=/dev/sdb</span><span
+class="cmtt-10x-x-109"> bios=0x80</span></span></span><br
+class="newline" />Note that this is only valid for a two-disk system. In three-disk systems, <span
+class="cmtt-10x-x-109">/dev/sdc </span>would
+ become <span
+class="cmtt-10x-x-109">0x80</span>, etc. Also, single-disk systems don’t have this problem (and the “fix” would break
+ them).
+ </li>
+ <li class="itemize">Some BIOSes don’t properly recognize disks with an unusual partition table (e.g. without any
+ partition marked active) and refuse to boot from them. This can also affect the second hard
+ disk and the problem may only occur if the system is booted in a particular way (e.g. only after
+ a cold boot).
+ </li>
+ <li class="itemize">On some systems, using <span
+class="cmtt-10x-x-109">linear </span>and <span
+class="cmtt-10x-x-109">compact </span>or <span
+class="cmtt-10x-x-109">lba32 </span>and <span
+class="cmtt-10x-x-109">compact </span>together leads to a boot
+ failure. The exact circumstances under which this happens are still unknown.
+ </li>
+ <li class="itemize">If the kernel crashes after booting on a multi-processor system, LILO may have overwritten
+ data structures set up by the BIOS. Try the option <span
+class="cmtt-10x-x-109">LARGE</span><span
+class="cmtt-10x-x-109">_EBDA </span>in this case.</li></ul>
+<div class="center"
+>
+<!--l. 3334--><p class="noindent" >
+</p><!--l. 3335--><p class="noindent" ><span
+class="cmti-10x-x-109">Last updated by John R. Coffman on July 17, 2000</span><br />
+<span
+class="cmti-10x-x-109">reconstructed by Joachim Wiedorn on January 29, 2011</span></p></div>
+
+</body></html>
+
+
+