source: chapter08/grub.xml@ b78c747

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since b78c747 was b78c747, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

Chapter08 indentation.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7229 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 5.5 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-grub">
9 <?dbhtml filename="grub.html"?>
10
11 <title>Making the LFS System Bootable</title>
12
13 <indexterm zone="ch-bootable-grub">
14 <primary sortas="a-Grub">GRUB</primary>
15 <secondary>configuring</secondary>
16 </indexterm>
17
18 <para>Your shiny new LFS system is almost complete. One of the last
19 things to do is to ensure that the system can be properly booted. The
20 instructions below apply only to computers of IA-32 architecture,
21 meaning mainstream PCs. Information on <quote>boot loading</quote> for
22 other architectures should be available in the usual resource-specific
23 locations for those architectures.</para>
24
25 <para>Boot loading can be a complex area, so a few cautionary
26 words are in order. Be familiar with the current boot loader and any other
27 operating systems present on the hard drive(s) that need to be
28 bootable. Make sure that an emergency boot disk is ready to
29 <quote>rescue</quote> the computer if the computer becomes
30 unusable (un-bootable).</para>
31
32 <para>Earlier, we compiled and installed the GRUB boot loader software
33 in preparation for this step. The procedure involves writing some
34 special GRUB files to specific locations on the hard drive. We highly
35 recommend creating a GRUB boot floppy diskette as a backup. Insert a
36 blank floppy diskette and run the following commands:</para>
37
38<screen><userinput>dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1
39dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1</userinput></screen>
40
41 <para>Remove the diskette and store it somewhere safe. Now, run the
42 <command>grub</command> shell:</para>
43
44<screen><userinput>grub</userinput></screen>
45
46 <para>GRUB uses its own naming structure for drives and partitions in
47 the form of <emphasis>(hdn,m)</emphasis>, where <emphasis>n</emphasis>
48 is the hard drive number and <emphasis>m</emphasis> is the partition
49 number, both starting from zero. For example, partition <filename
50 class="partition">hda1</filename> is <emphasis>(hd0,0)</emphasis> to
51 GRUB and <filename class="partition">hdb3</filename> is
52 <emphasis>(hd1,2)</emphasis>. In contrast to Linux, GRUB does not
53 consider CD-ROM drives to be hard drives. For example, if using a CD
54 on <filename class="partition">hdb</filename> and a second hard drive
55 on <filename class="partition">hdc</filename>, that second hard drive
56 would still be <emphasis>(hd1)</emphasis>.</para>
57
58 <para>Using the above information, determine the appropriate
59 designator for the root partition (or boot partition, if a separate
60 one is used). For the following example, it is assumed that the root
61 (or separate boot) partition is <filename
62 class="partition">hda4</filename>.</para>
63
64 <para>Tell GRUB where to search for its
65 <filename>stage{1,2}</filename> files. The Tab key can be used
66 everywhere to make GRUB show the alternatives:</para>
67
68<screen><userinput>root (hd0,3)</userinput></screen>
69
70 <warning>
71 <para>The following command will overwrite the current boot loader. Do not
72 run the command if this is not desired, for example, if using a third party
73 boot manager to manage the Master Boot Record (MBR). In this scenario, it
74 would make more sense to install GRUB into the <quote>boot sector</quote>
75 of the LFS partition. In this case, this next command would become
76 <userinput>setup (hd0,3)</userinput>.</para>
77 </warning>
78
79 <para>Tell GRUB to install itself into the MBR of
80 <filename class="partition">hda</filename>:</para>
81
82<screen><userinput>setup (hd0)</userinput></screen>
83
84 <para>If all went well, GRUB will have reported finding its files in
85 <filename class="directory">/boot/grub</filename>. That's all there is
86 to it. Quit the <command>grub</command> shell:</para>
87
88<screen><userinput>quit</userinput></screen>
89
90 <para>Create a <quote>menu list</quote> file defining GRUB's boot menu:</para>
91
92<screen><userinput>cat &gt; /boot/grub/menu.lst &lt;&lt; "EOF"
93<literal># Begin /boot/grub/menu.lst
94
95# By default boot the first menu entry.
96default 0
97
98# Allow 30 seconds before booting the default.
99timeout 30
100
101# Use prettier colors.
102color green/black light-green/black
103
104# The first entry is for LFS.
105title LFS &version;
106root (hd0,3)
107kernel /boot/lfskernel-&linux-version; root=/dev/hda4</literal>
108EOF</userinput></screen>
109
110 <para>Add an entry for the host distribution if desired. It might look
111 like this:</para>
112
113<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
114<literal>title Red Hat
115root (hd0,2)
116kernel /boot/kernel-2.6.5 root=/dev/hda3
117initrd /boot/initrd-2.6.5</literal>
118EOF</userinput></screen>
119
120 <para>If dual-booting Windows, the following entry will allow
121 booting it:</para>
122
123<screen><userinput>cat &gt;&gt; /boot/grub/menu.lst &lt;&lt; "EOF"
124<literal>title Windows
125rootnoverify (hd0,0)
126chainloader +1</literal>
127EOF</userinput></screen>
128
129 <para>If <command>info grub</command> does not provide all necessary material,
130 additional information regarding GRUB is located on its website at:
131 <ulink url="http://www.gnu.org/software/grub/"/>.</para>
132
133 <para>The FHS stipulates that GRUB's <filename>menu.lst</filename> file should
134 be symlinked to <filename class="symlink">/etc/grub/menu.lst</filename>. To
135 satisfy this requirement, issue the following command:</para>
136
137<screen><userinput>mkdir -v /etc/grub &amp;&amp;
138ln -sv /boot/grub/menu.lst /etc/grub</userinput></screen>
139
140</sect1>
Note: See TracBrowser for help on using the repository browser.