Update to Python-3.8.2.
[linux_from_scratch.git] / chapter06 / grub.xml
blob25a61077b97d9561caf06b8d3f37452260244755
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
81 mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userinput></screen>
83   <para>Using GRUB to make your LFS system bootable will be discussed in
84   <xref linkend="ch-bootable-grub"/>.</para>
86   </sect2>
88   <sect2 id="contents-gRUB" role="content">
89     <title>Contents of GRUB</title>
91     <segmentedlist>
92       <segtitle>Installed programs</segtitle>
93       <segtitle>Installed directories</segtitle>
95       <seglistitem>
97        <seg>grub-bios-setup,      grub-editenv,    grub-file,        grub-fstest,
98             grub-glue-efi,        grub-install,    grub-kbdcomp,     grub-macbless,   
99             grub-menulst2cfg,     grub-mkconfig,
100                                   grub-mkimage,    grub-mklayout,    grub-mknetdir,
101             grub-mkpasswd-pbkdf2, grub-mkrelpath,  grub-mkrescue,    grub-mkstandalone,
102             grub-ofpathname,      grub-probe,      grub-reboot,      grub-render-label, 
103             grub-script-check,
104             grub-set-default,     grub-sparc64-setup, and grub-syslinux2cfg</seg>
106         <seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub, and /boot/grub (when grub-install
107         is first run)</seg>
108       </seglistitem>
109     </segmentedlist>
111     <variablelist>
112       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
113       <?dbfo list-presentation="list"?>
114       <?dbhtml list-presentation="table"?>
116       <varlistentry id="grub-bios-setup">
117         <term><command>grub-bios-setup</command></term>
118         <listitem>
119           <para>Is a helper program for grub-install</para>
120           <indexterm zone="ch-system-grub grub-bios-setup">
121             <primary sortas="b-grub-bios-setup">grub-bios-setup</primary>
122           </indexterm>
123         </listitem>
124       </varlistentry>
126       <varlistentry id="grub-editenv">
127         <term><command>grub-editenv</command></term>
128         <listitem>
129           <para>A tool to edit the environment block</para>
130           <indexterm zone="ch-system-grub grub-editenv">
131             <primary sortas="b-grub-editenv">grub-editenv</primary>
132           </indexterm>
133         </listitem>
134       </varlistentry>
136       <varlistentry id="grub-file">
137         <term><command>grub-file</command></term>
138         <listitem>
139           <para>Checks if FILE is of the specified type.</para>
140           <indexterm zone="ch-system-grub grub-file">
141             <primary sortas="b-grub-file">grub-file</primary>
142           </indexterm>
143         </listitem>
144       </varlistentry>
146       <varlistentry id="grub-fstest">
147         <term><command>grub-fstest</command></term>
148         <listitem>
149           <para>Tool to debug the filesystem driver</para>
150           <indexterm zone="ch-system-grub grub-fstest">
151             <primary sortas="b-grub-fstest">grub-fstest</primary>
152           </indexterm>
153         </listitem>
154       </varlistentry>
156       <varlistentry id="grub-glue-efi">
157         <term><command>grub-glue-efi</command></term>
158         <listitem>
159           <para>Processes ia32 and amd64 EFI images and glues them
160           according to Apple format.</para>
161           <indexterm zone="ch-system-grub grub-glue-efi">
162             <primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
163           </indexterm>
164         </listitem>
165       </varlistentry>
167       <varlistentry id="grub-install">
168         <term><command>grub-install</command></term>
169         <listitem>
170           <para>Install GRUB on your drive</para>
171           <indexterm zone="ch-system-grub grub-install">
172             <primary sortas="b-grub-install">grub-install</primary>
173           </indexterm>
174         </listitem>
175       </varlistentry>
177       <varlistentry id="grub-kbdcomp">
178         <term><command>grub-kbdcomp</command></term>
179         <listitem>
180           <para>Script that converts an xkb layout into one recognized by
181           GRUB</para>
182           <indexterm zone="ch-system-grub grub-kbdcomp">
183             <primary sortas="b-grub-kbdcomp">grub-kbdcomp</primary>
184           </indexterm>
185         </listitem>
186       </varlistentry>
188       <varlistentry id="grub-macbless">
189         <term><command>grub-macbless</command></term>
190         <listitem>
191           <para>Mac-style bless on HFS or HFS+ files</para>
192           <indexterm zone="ch-system-grub grub-macbless">
193             <primary sortas="b-grub-macbless">grub-macbless</primary>
194           </indexterm>
195         </listitem>
196       </varlistentry>
198       <varlistentry id="grub-menulst2cfg">
199         <term><command>grub-menulst2cfg</command></term>
200         <listitem>
201           <para>Converts a GRUB Legacy <filename>menu.lst</filename>
202           into a <filename>grub.cfg</filename> for use with GRUB 2</para>
203           <indexterm zone="ch-system-grub grub-menulst2cfg">
204             <primary sortas="b-grub-menulst2cfg">grub-menulst2cfg</primary>
205           </indexterm>
206         </listitem>
207       </varlistentry>
209       <varlistentry id="grub-mkconfig">
210         <term><command>grub-mkconfig</command></term>
211         <listitem>
212           <para>Generate a grub config file</para>
213           <indexterm zone="ch-system-grub grub-mkconfig">
214             <primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
215           </indexterm>
216         </listitem>
217       </varlistentry>
219       <varlistentry id="grub-mkimage">
220         <term><command>grub-mkimage</command></term>
221         <listitem>
222           <para>Make a bootable image of GRUB</para>
223           <indexterm zone="ch-system-grub grub-mkimage">
224             <primary sortas="b-grub-mkimage">grub-mkimage</primary>
225           </indexterm>
226         </listitem>
227       </varlistentry>
229       <varlistentry id="grub-mklayout">
230         <term><command>grub-mklayout</command></term>
231         <listitem>
232           <para>Generates a GRUB keyboard layout file</para>
233           <indexterm zone="ch-system-grub grub-mklayout">
234             <primary sortas="b-grub-mklayout">grub-mklayout</primary>
235           </indexterm>
236         </listitem>
237       </varlistentry>
239       <varlistentry id="grub-mknetdir">
240         <term><command>grub-mknetdir</command></term>
241         <listitem>
242           <para>Prepares a GRUB netboot directory</para>
243           <indexterm zone="ch-system-grub grub-mknetdir">
244             <primary sortas="b-grub-mknetdir">grub-mknetdir</primary>
245           </indexterm>
246         </listitem>
247       </varlistentry>
249       <varlistentry id="grub-mkpasswd-pbkdf2">
250         <term><command>grub-mkpasswd-pbkdf2</command></term>
251         <listitem>
252           <para>Generates an encrypted PBKDF2 password for use in the boot
253           menu</para>
254           <indexterm zone="ch-system-grub grub-mkpasswd-pbkdf2">
255             <primary sortas="b-grub-mkpasswd-pbkdf2">grub-mkpasswd-pbkdf2</primary>
256           </indexterm>
257         </listitem>
258       </varlistentry>
260       <varlistentry id="grub-mkrelpath">
261         <term><command>grub-mkrelpath</command></term>
262         <listitem>
263           <para>Makes a system pathname relative to its root</para>
264           <indexterm zone="ch-system-grub grub-mkrelpath">
265             <primary sortas="b-grub-mkrelpath">grub-mkrelpath</primary>
266           </indexterm>
267         </listitem>
268       </varlistentry>
270       <varlistentry id="grub-mkrescue">
271         <term><command>grub-mkrescue</command></term>
272         <listitem>
273           <para>Make a bootable image of GRUB suitable for a floppy disk or CDROM/DVD</para>
274           <indexterm zone="ch-system-grub grub-mkrescue">
275             <primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
276           </indexterm>
277         </listitem>
278       </varlistentry>
280       <varlistentry id="grub-mkstandalone">
281         <term><command>grub-mkstandalone</command></term>
282         <listitem>
283           <para>Generates a standalone image</para>
284           <indexterm zone="ch-system-grub grub-mkstandalone">
285             <primary sortas="b-grub-mkstandalone">grub-mkstandalone</primary>
286           </indexterm>
287         </listitem>
288       </varlistentry>
290       <varlistentry id="grub-ofpathname">
291         <term><command>grub-ofpathname</command></term>
292         <listitem>
293           <para>Is a helper program that prints the path of a GRUB device</para>
294           <indexterm zone="ch-system-grub grub-ofpathname">
295             <primary sortas="b-grub-ofpathname">grub-ofpathname</primary>
296           </indexterm>
297         </listitem>
298       </varlistentry>
300       <varlistentry id="grub-probe">
301         <term><command>grub-probe</command></term>
302         <listitem>
303           <para>Probe device information for a given path or device</para>
304           <indexterm zone="ch-system-grub grub-probe">
305             <primary sortas="b-grub-probe">grub-probe</primary>
306           </indexterm>
307         </listitem>
308       </varlistentry>
310       <varlistentry id="grub-reboot">
311         <term><command>grub-reboot</command></term>
312         <listitem>
313           <para>Sets the default boot entry for GRUB for the next boot only</para>
314           <indexterm zone="ch-system-grub grub-reboot">
315             <primary sortas="b-grub-reboot">grub-reboot</primary>
316           </indexterm>
317         </listitem>
318       </varlistentry>
320       <varlistentry id="grub-render-label">
321         <term><command>grub-render-label</command></term>
322         <listitem>
323           <para>Render Apple .disk_label for Apple Macs</para>
324           <indexterm zone="ch-system-grub grub-render-label">
325             <primary sortas="b-grub-render-label">grub-render-label</primary>
326           </indexterm>
327         </listitem>
328       </varlistentry>
330       <varlistentry id="grub-script-check">
331         <term><command>grub-script-check</command></term>
332         <listitem>
333           <para>Checks GRUB configuration script for syntax errors</para>
334           <indexterm zone="ch-system-grub grub-script-check">
335             <primary sortas="b-grub-script-check">grub-script-check</primary>
336           </indexterm>
337         </listitem>
338       </varlistentry>
340       <varlistentry id="grub-set-default">
341         <term><command>grub-set-default</command></term>
342         <listitem>
343           <para>Sets the default boot entry for GRUB</para>
344           <indexterm zone="ch-system-grub grub-set-default">
345             <primary sortas="b-grub-set-default">grub-set-default</primary>
346           </indexterm>
347         </listitem>
348       </varlistentry>
350       <varlistentry id="grub-sparc64-setup">
351         <term><command>grub-sparc64-setup</command></term>
352         <listitem>
353           <para>Is a helper program for grub-setup</para>
354           <indexterm zone="ch-system-grub grub-sparc64-setup">
355             <primary sortas="b-grub-sparc64-setup">grub-setup</primary>
356           </indexterm>
357         </listitem>
358       </varlistentry>
360       <varlistentry id="grub-syslinux2cfg">
361         <term><command>grub-syslinux2cfg</command></term>
362         <listitem>
363           <para>Transform a syslinux config file into grub.cfg format</para>
364           <indexterm zone="ch-system-grub grub-syslinux2cfg">
365             <primary sortas="b-grub-syslinux2cfg">grub-syslinux2cfg</primary>
366           </indexterm>
367         </listitem>
368       </varlistentry>
370     </variablelist>
372   </sect2>
374 </sect1>