Move OpenSSL-1.1.0g from BLFS to LFS
[linux_from_scratch.git] / chapter06 / grub.xml
blob3c7f15386a59e8bccd68b3e92cc9009c5e5a6efa
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-grub" role="wrap">
9   <?dbhtml filename="grub.html"?>
11   <sect1info condition="script">
12     <productname>grub</productname>
13     <productnumber>&grub-version;</productnumber>
14     <address>&grub-url;</address>
15   </sect1info>
17   <title>GRUB-&grub-version;</title>
19   <indexterm zone="ch-system-grub">
20     <primary sortas="a-Grub">GRUB</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The GRUB package contains the GRand Unified Bootloader.</para>
28     <segmentedlist>
29       <segtitle>&buildtime;</segtitle>
30       <segtitle>&diskspace;</segtitle>
32       <seglistitem>
33         <seg>&grub-ch6-sbu;</seg>
34         <seg>&grub-ch6-du;</seg>
35       </seglistitem>
36     </segmentedlist>
38   </sect2>
40   <sect2 role="installation">
41     <title>Installation of GRUB</title>
43     <para>Prepare GRUB for compilation:</para>
45 <screen><userinput remap="configure">./configure --prefix=/usr          \
46             --sbindir=/sbin        \
47             --sysconfdir=/etc      \
48             --disable-efiemu       \
49             --disable-werror</userinput></screen>
51     <variablelist>
52       <title>The meaning of the new configure options:</title>
54       <varlistentry>
55         <term><parameter>--disable-werror</parameter></term>
56         <listitem>
57           <para>This allows the build to complete with warnings introduced
58           by more recent Flex versions.</para>
59         </listitem>
60       </varlistentry>
62       <varlistentry>
63         <term><parameter>--disable-efiemu</parameter></term>
64         <listitem>
65           <para>This option minimizes what is built by disabling a feature and
66           testing programs not needed for LFS.</para>
67         </listitem>
68       </varlistentry>
70     </variablelist>
72     <para>Compile the package:</para>
74 <screen><userinput remap="make">make</userinput></screen>
76     <para>This package does not come with a test suite.</para>
78     <para>Install the package:</para>
80 <screen><userinput remap="install">make install</userinput></screen>
82   <para>Using GRUB to make your LFS system bootable will be discussed in
83   <xref linkend="ch-bootable-grub"/>.</para>
85   </sect2>
87   <sect2 id="contents-gRUB" role="content">
88     <title>Contents of GRUB</title>
90     <segmentedlist>
91       <segtitle>Installed programs</segtitle>
92       <segtitle>Installed directories</segtitle>
94       <seglistitem>
96        <seg>grub-bios-setup,      grub-editenv,    grub-file,        grub-fstest,
97             grub-glue-efi,        grub-install,    grub-kbdcomp,     grub-macbless,   
98             grub-menulst2cfg,     grub-mkconfig,
99                                   grub-mkimage,    grub-mklayout,    grub-mknetdir,
100             grub-mkpasswd-pbkdf2, grub-mkrelpath,  grub-mkrescue,    grub-mkstandalone,
101             grub-ofpathname,      grub-probe,      grub-reboot,      grub-render-label, 
102             grub-script-check,
103             grub-set-default,     grub-sparc64-setup, and grub-syslinux2cfg</seg>
105         <seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub, and boot/grub (when grub-install
106         is first run)</seg>
107       </seglistitem>
108     </segmentedlist>
110     <variablelist>
111       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
112       <?dbfo list-presentation="list"?>
113       <?dbhtml list-presentation="table"?>
115       <varlistentry id="grub-bios-setup">
116         <term><command>grub-bios-setup</command></term>
117         <listitem>
118           <para>Is a helper program for grub-install</para>
119           <indexterm zone="ch-system-grub grub-bios-setup">
120             <primary sortas="b-grub-bios-setup">grub-bios-setup</primary>
121           </indexterm>
122         </listitem>
123       </varlistentry>
125       <varlistentry id="grub-editenv">
126         <term><command>grub-editenv</command></term>
127         <listitem>
128           <para>A tool to edit the environment block</para>
129           <indexterm zone="ch-system-grub grub-editenv">
130             <primary sortas="b-grub-editenv">grub-editenv</primary>
131           </indexterm>
132         </listitem>
133       </varlistentry>
135       <varlistentry id="grub-file">
136         <term><command>grub-file</command></term>
137         <listitem>
138           <para>Checks if FILE is of the specified type.</para>
139           <indexterm zone="ch-system-grub grub-file">
140             <primary sortas="b-grub-file">grub-file</primary>
141           </indexterm>
142         </listitem>
143       </varlistentry>
145       <varlistentry id="grub-fstest">
146         <term><command>grub-fstest</command></term>
147         <listitem>
148           <para>Tool to debug the filesystem driver</para>
149           <indexterm zone="ch-system-grub grub-fstest">
150             <primary sortas="b-grub-fstest">grub-fstest</primary>
151           </indexterm>
152         </listitem>
153       </varlistentry>
155       <varlistentry id="grub-glue-efi">
156         <term><command>grub-glue-efi</command></term>
157         <listitem>
158           <para>Processes ia32 and amd64 EFI images and glues them
159           according to Apple format.</para>
160           <indexterm zone="ch-system-grub grub-glue-efi">
161             <primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
162           </indexterm>
163         </listitem>
164       </varlistentry>
166       <varlistentry id="grub-install">
167         <term><command>grub-install</command></term>
168         <listitem>
169           <para>Install GRUB on your drive</para>
170           <indexterm zone="ch-system-grub grub-install">
171             <primary sortas="b-grub-install">grub-install</primary>
172           </indexterm>
173         </listitem>
174       </varlistentry>
176       <varlistentry id="grub-kbdcomp">
177         <term><command>grub-kbdcomp</command></term>
178         <listitem>
179           <para>Script that converts an xkb layout into one recognized by
180           GRUB</para>
181           <indexterm zone="ch-system-grub grub-kbdcomp">
182             <primary sortas="b-grub-kbdcomp">grub-kbdcomp</primary>
183           </indexterm>
184         </listitem>
185       </varlistentry>
187       <varlistentry id="grub-macbless">
188         <term><command>grub-macbless</command></term>
189         <listitem>
190           <para>Mac-style bless on HFS or HFS+ files</para>
191           <indexterm zone="ch-system-grub grub-macbless">
192             <primary sortas="b-grub-macbless">grub-macbless</primary>
193           </indexterm>
194         </listitem>
195       </varlistentry>
197       <varlistentry id="grub-menulst2cfg">
198         <term><command>grub-menulst2cfg</command></term>
199         <listitem>
200           <para>Converts a GRUB Legacy <filename>menu.lst</filename>
201           into a <filename>grub.cfg</filename> for use with GRUB 2</para>
202           <indexterm zone="ch-system-grub grub-menulst2cfg">
203             <primary sortas="b-grub-menulst2cfg">grub-menulst2cfg</primary>
204           </indexterm>
205         </listitem>
206       </varlistentry>
208       <varlistentry id="grub-mkconfig">
209         <term><command>grub-mkconfig</command></term>
210         <listitem>
211           <para>Generate a grub config file</para>
212           <indexterm zone="ch-system-grub grub-mkconfig">
213             <primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
214           </indexterm>
215         </listitem>
216       </varlistentry>
218       <varlistentry id="grub-mkimage">
219         <term><command>grub-mkimage</command></term>
220         <listitem>
221           <para>Make a bootable image of GRUB</para>
222           <indexterm zone="ch-system-grub grub-mkimage">
223             <primary sortas="b-grub-mkimage">grub-mkimage</primary>
224           </indexterm>
225         </listitem>
226       </varlistentry>
228       <varlistentry id="grub-mklayout">
229         <term><command>grub-mklayout</command></term>
230         <listitem>
231           <para>Generates a GRUB keyboard layout file</para>
232           <indexterm zone="ch-system-grub grub-mklayout">
233             <primary sortas="b-grub-mklayout">grub-mklayout</primary>
234           </indexterm>
235         </listitem>
236       </varlistentry>
238       <varlistentry id="grub-mknetdir">
239         <term><command>grub-mknetdir</command></term>
240         <listitem>
241           <para>Prepares a GRUB netboot directory</para>
242           <indexterm zone="ch-system-grub grub-mknetdir">
243             <primary sortas="b-grub-mknetdir">grub-mknetdir</primary>
244           </indexterm>
245         </listitem>
246       </varlistentry>
248       <varlistentry id="grub-mkpasswd-pbkdf2">
249         <term><command>grub-mkpasswd-pbkdf2</command></term>
250         <listitem>
251           <para>Generates an encrypted PBKDF2 password for use in the boot
252           menu</para>
253           <indexterm zone="ch-system-grub grub-mkpasswd-pbkdf2">
254             <primary sortas="b-grub-mkpasswd-pbkdf2">grub-mkpasswd-pbkdf2</primary>
255           </indexterm>
256         </listitem>
257       </varlistentry>
259       <varlistentry id="grub-mkrelpath">
260         <term><command>grub-mkrelpath</command></term>
261         <listitem>
262           <para>Makes a system pathname relative to its root</para>
263           <indexterm zone="ch-system-grub grub-mkrelpath">
264             <primary sortas="b-grub-mkrelpath">grub-mkrelpath</primary>
265           </indexterm>
266         </listitem>
267       </varlistentry>
269       <varlistentry id="grub-mkrescue">
270         <term><command>grub-mkrescue</command></term>
271         <listitem>
272           <para>Make a bootable image of GRUB suitable for a floppy disk or CDROM/DVD</para>
273           <indexterm zone="ch-system-grub grub-mkrescue">
274             <primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
275           </indexterm>
276         </listitem>
277       </varlistentry>
279       <varlistentry id="grub-mkstandalone">
280         <term><command>grub-mkstandalone</command></term>
281         <listitem>
282           <para>Generates a standalone image</para>
283           <indexterm zone="ch-system-grub grub-mkstandalone">
284             <primary sortas="b-grub-mkstandalone">grub-mkstandalone</primary>
285           </indexterm>
286         </listitem>
287       </varlistentry>
289       <varlistentry id="grub-ofpathname">
290         <term><command>grub-ofpathname</command></term>
291         <listitem>
292           <para>Is a helper program that prints the path of a GRUB device</para>
293           <indexterm zone="ch-system-grub grub-ofpathname">
294             <primary sortas="b-grub-ofpathname">grub-ofpathname</primary>
295           </indexterm>
296         </listitem>
297       </varlistentry>
299       <varlistentry id="grub-probe">
300         <term><command>grub-probe</command></term>
301         <listitem>
302           <para>Probe device information for a given path or device</para>
303           <indexterm zone="ch-system-grub grub-probe">
304             <primary sortas="b-grub-probe">grub-probe</primary>
305           </indexterm>
306         </listitem>
307       </varlistentry>
309       <varlistentry id="grub-reboot">
310         <term><command>grub-reboot</command></term>
311         <listitem>
312           <para>Sets the default boot entry for GRUB for the next boot only</para>
313           <indexterm zone="ch-system-grub grub-reboot">
314             <primary sortas="b-grub-reboot">grub-reboot</primary>
315           </indexterm>
316         </listitem>
317       </varlistentry>
319       <varlistentry id="grub-render-label">
320         <term><command>grub-render-label</command></term>
321         <listitem>
322           <para>Render Apple .disk_label for Apple Macs</para>
323           <indexterm zone="ch-system-grub grub-render-label">
324             <primary sortas="b-grub-render-label">grub-render-label</primary>
325           </indexterm>
326         </listitem>
327       </varlistentry>
329       <varlistentry id="grub-script-check">
330         <term><command>grub-script-check</command></term>
331         <listitem>
332           <para>Checks GRUB configuration script for syntax errors</para>
333           <indexterm zone="ch-system-grub grub-script-check">
334             <primary sortas="b-grub-script-check">grub-script-check</primary>
335           </indexterm>
336         </listitem>
337       </varlistentry>
339       <varlistentry id="grub-set-default">
340         <term><command>grub-set-default</command></term>
341         <listitem>
342           <para>Sets the default boot entry for GRUB</para>
343           <indexterm zone="ch-system-grub grub-set-default">
344             <primary sortas="b-grub-set-default">grub-set-default</primary>
345           </indexterm>
346         </listitem>
347       </varlistentry>
349       <varlistentry id="grub-sparc64-setup">
350         <term><command>grub-sparc64-setup</command></term>
351         <listitem>
352           <para>Is a helper program for grub-setup</para>
353           <indexterm zone="ch-system-grub grub-sparc64-setup">
354             <primary sortas="b-grub-sparc64-setup">grub-setup</primary>
355           </indexterm>
356         </listitem>
357       </varlistentry>
359       <varlistentry id="grub-syslinux2cfg">
360         <term><command>grub-syslinux2cfg</command></term>
361         <listitem>
362           <para>Transform a syslinux config file into grub.cfg format</para>
363           <indexterm zone="ch-system-grub grub-syslinux2cfg">
364             <primary sortas="b-grub-syslinux2cfg">grub-syslinux2cfg</primary>
365           </indexterm>
366         </listitem>
367       </varlistentry>
369     </variablelist>
371   </sect2>
373 </sect1>