source: BOOK/bootable/x86_64-64/lilo.xml @ 48b28ab

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since 48b28ab was 48b28ab, checked in by Jim Gifford <clfs@…>, 13 years ago

r2552@server (orig r1265): ken | 2006-03-12 15:28:07 -0800
Use Lilo for x86_64-64

  • Property mode set to 100644
File size: 5.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4  <!ENTITY % general-entities SYSTEM "../../general.ent">
5  %general-entities;
6]>
7
8<sect1 id="ch-bootable-lilo">
9  <?dbhtml filename="lilo.html"?>
10
11  <title>Making the LFS System Bootable</title>
12
13  <indexterm zone="ch-bootable-lilo">
14    <primary sortas="a-Lilo">Lilo</primary>
15    <secondary>configuring</secondary>
16  </indexterm>
17
18    <para os="a">Your shiny new LFS system is almost complete. One of the
19      last things to do is to ensure that the system can be properly
20      booted. The instructions below apply only to computers using lilo,
21      which in the context of this book means x86_64 Pure64 systems.
22      Information on <quote>boot loading</quote> for other architectures
23      should be available in the usual resource-specific locations for
24      those architectures.</para>
25
26  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
27  href="../x86/grub.xml"
28  xpointer="xpointer(//*[@os='b'])"/>
29
30    <para os="c">If you have multiple systems on your machine using a
31      different bootloader such as Grub, you may prefer to use that
32      instead - consult the appropriate documentation.  The rest of
33      this section assumes you are going to use Lilo.</para> 
34
35    <para os="d">Earlier, we compiled and installed the Lilo boot loader
36      software in preparation for this step. The procedure involves
37      writing a boot image to a specific location on the hard drive.
38      We highly recommend using mkrescue to create a Lilo boot CD
39      (using e.g. dvdrecord from dvdrtools) as a backup (this requires
40      loopback block device support in the kernel).</para>
41
42    <para os="e">Normally, you interact with lilo by using the cursor
43      and <literal>enter</literal> keys to select from the available
44      option(s), but sometimes it is necessary to add other boot
45      options, such as e.g. 'init=/bin/bash' to debug boot failures.
46      The more your keyboard layout differs from the US qwerty layout,
47      the harder it becomes to type boot options unless lilo knows
48      about your keyboard layout. So, we will create a key table for
49      Lilo (.ktl) file - at one point in the documentation these are
50      referred to as .klt files, which may be a typo, but has been
51      followed by some distros.  The name, and location, are not
52      important but it is conventional to put these in /boot with
53      the name representing the key layout.  For a British keyboard
54      layout, the following command will achieve this:</para> 
55
56<screen os="f" role="nodump"><userinput>keytab-lilo.pl uk >/boot/uk.ktl</userinput></screen>
57
58    <para os="g">The argument to the command is the name of the keymap,
59      or if necessary you can specify the full path to the keymap.  Use
60      whatever is appropriate for your keyboard.</para>
61
62    <para os="h">When the x86 LFS book used to include Lilo, it
63    advised against running it from chroot in case the MBR became
64    corrupted. Provided you have /proc mounted and have device special
65    files for the disks, it seems to be safe to run recent versions of
66    Lilo in chroot, although it is always possible that an updated
67    bootloader, or defective configuration file, may render the system
68    unbootable.</para> 
69
70    <para os="i">The next step is to create /etc/lilo.conf</para>
71
72<screen os="j" role="nodump"><userinput>cat &gt; /etc/lilo.conf &lt;&lt; "EOF"
73<literal># Begin /etc/lilo.conf
74# lilo.conf
75#
76# global options
77boot=/dev/&lt;bootdisk&gt;
78keytable=/boot/&lt;keytable&gt;
79lba32
80map=/boot/map
81prompt
82
83# set the name of the default image to boot
84default=lfs
85
86# define an image
87image=/boot/lfskernel
88    label=lfs
89    root=/dev/&lt;partition&gt;
90    read-only
91# optionally add parameters to pass, e.g.
92#   append="video=radeonfb:1024x768-16@70"
93
94# repeat for any other kernel images
95
96# optionally, add legacy operating systems
97# see man lilo.conf for examples
98EOF</literal></userinput></screen>
99
100
101    <para os="k">Replace &lt;bootdisk&gt; with the name of the disk (or
102      partition) on which the boot sector is to be written, e.g. sda.
103      Replace &lt;keytable&gt; with the name of the keytable file you
104      created, and &lt;partition&gt; with the name of the root partition
105      for the new system.
106    </para>
107
108  <warning os="l">
109    <para>The following command will overwrite the current boot loader.
110    Do not run the command if this is not desired.</para>
111  </warning>
112
113    <para os="m">Run Lilo:</para>
114
115<screen os="n" role="nodump"><userinput>/sbin/lilo -v</userinput></screen>
116
117  <note os='o'>
118    <para>People who have been used to GRUB need to be aware that
119      lilo works differently - in particular, you cannot edit the
120      available choices as you can in the grub shell, and lilo records
121      the block addresses of the kernels into the boot blocks each time
122      /sbin/lilo is run. This means that when you compile a new kernel,
123      you have to add it to /etc/lilo.conf and rerun /sbin/lilo.  It
124      also means that if you recompile an existing kernel and save it
125      to the same name you still have to rerun /sbin/lilo in case it now
126      occupies different blocks on the filesystem.</para>
127  </note>
128
129    <para os="p">If you are running multiple systems on this box and
130    using lilo, it is a good idea to ensure that each system is running
131    the same version of lilo, otherwise an old version may not be able
132    to overwrite the bootloader from a newer version.  You will also
133    need to ensure that the copies of /etc/lilo.conf on each system are
134    kept synchronised.</para>
135
136</sect1>
Note: See TracBrowser for help on using the repository browser.