source: chapter08/grub.xml@ d0da969c

12.0 12.0-rc1 12.1 12.1-rc1 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/update-glibc
Last change on this file since d0da969c was 3608d06a, checked in by Xi Ruoyao <xry111@…>, 16 months ago

grub: Add upstream fixes patch for unrecognized ext2/3/4 features (#5219)

  • Property mode set to 100644
File size: 14.4 KB
Line 
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]>
7
8<sect1 id="ch-system-grub" role="wrap">
9 <?dbhtml filename="grub.html"?>
10
11 <sect1info condition="script">
12 <productname>grub</productname>
13 <productnumber>&grub-version;</productnumber>
14 <address>&grub-url;</address>
15 </sect1info>
16
17 <title>GRUB-&grub-version;</title>
18
19 <indexterm zone="ch-system-grub">
20 <primary sortas="a-Grub">GRUB</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The GRUB package contains the GRand Unified Bootloader.</para>
27
28 <segmentedlist>
29 <segtitle>&buildtime;</segtitle>
30 <segtitle>&diskspace;</segtitle>
31
32 <seglistitem>
33 <seg>&grub-fin-sbu;</seg>
34 <seg>&grub-fin-du;</seg>
35 </seglistitem>
36 </segmentedlist>
37
38 </sect2>
39
40 <sect2 role="installation">
41 <title>Installation of GRUB</title>
42
43 <note>
44 <para>
45 If your system has UEFI support and you wish to boot LFS with UEFI,
46 you can skip this package in LFS,
47 and install GRUB with UEFI support (and its dependencies) by following
48 the instructions on
49 <ulink url="&blfs-book;postlfs/grub-efi.html">the BLFS page</ulink>.
50 </para>
51 </note>
52
53 <warning>
54 <para>Unset any environment variables which may affect the build:</para>
55
56 <screen><userinput remap='pre'>unset {C,CPP,CXX,LD}FLAGS</userinput></screen>
57
58 <para>Don't try <quote>tuning</quote> this package with custom
59 compilation flags. This package is a bootloader. The low-level
60 operations in the source code may be broken by
61 aggressive optimization.</para>
62 </warning>
63
64 <para>
65 Fix an issue causing <command>grub-install</command> to fail when the
66 <filename class='directory'>/boot</filename> partition (or the root
67 partition if <filename class='directory'>/boot</filename> is not a
68 separate partition) is created by e2fsprogs-1.47.0 or later:
69 </para>
70
71<screen><userinput remap='pre'>patch -Np1 -i ../grub-&grub-version;-upstream_fixes-1.patch</userinput></screen>
72
73 <para>Prepare GRUB for compilation:</para>
74
75<screen><userinput remap="configure">./configure --prefix=/usr \
76 --sysconfdir=/etc \
77 --disable-efiemu \
78 --disable-werror</userinput></screen>
79
80 <variablelist>
81 <title>The meaning of the new configure options:</title>
82
83 <varlistentry>
84 <term><parameter>--disable-werror</parameter></term>
85 <listitem>
86 <para>This allows the build to complete with warnings introduced
87 by more recent versions of Flex.</para>
88 </listitem>
89 </varlistentry>
90
91 <varlistentry>
92 <term><parameter>--disable-efiemu</parameter></term>
93 <listitem>
94 <para>This option minimizes what is built by disabling a feature and
95 eliminating some test programs not needed for LFS.</para>
96 </listitem>
97 </varlistentry>
98
99 </variablelist>
100
101 <para>Compile the package:</para>
102
103<screen><userinput remap="make">make</userinput></screen>
104
105 <para>The test suite for this packages is not recommended. Most of
106 the tests depend on packages that are not available in the limited
107 LFS environment. To run the tests anyway, run <command>make check</command>.</para>
108
109 <para>Install the package:</para>
110
111<screen><userinput remap="install">make install
112mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userinput></screen>
113
114 <para>Making your LFS system bootable with GRUB will be discussed in
115 <xref linkend="ch-bootable-grub"/>.</para>
116
117 </sect2>
118
119 <sect2 id="contents-gRUB" role="content">
120 <title>Contents of GRUB</title>
121
122 <segmentedlist>
123 <segtitle>Installed programs</segtitle>
124 <segtitle>Installed directories</segtitle>
125
126 <seglistitem>
127
128 <seg>grub-bios-setup, grub-editenv, grub-file, grub-fstest,
129 grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless,
130 grub-menulst2cfg, grub-mkconfig,
131 grub-mkimage, grub-mklayout, grub-mknetdir,
132 grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone,
133 grub-ofpathname, grub-probe, grub-reboot, grub-render-label,
134 grub-script-check,
135 grub-set-default, grub-sparc64-setup, and grub-syslinux2cfg</seg>
136
137 <seg>/usr/lib/grub, /etc/grub.d, /usr/share/grub, and /boot/grub (when grub-install
138 is first run)</seg>
139 </seglistitem>
140 </segmentedlist>
141
142 <variablelist>
143 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
144 <?dbfo list-presentation="list"?>
145 <?dbhtml list-presentation="table"?>
146
147 <varlistentry id="grub-bios-setup">
148 <term><command>grub-bios-setup</command></term>
149 <listitem>
150 <para>Is a helper program for <command>grub-install</command></para>
151 <indexterm zone="ch-system-grub grub-bios-setup">
152 <primary sortas="b-grub-bios-setup">grub-bios-setup</primary>
153 </indexterm>
154 </listitem>
155 </varlistentry>
156
157 <varlistentry id="grub-editenv">
158 <term><command>grub-editenv</command></term>
159 <listitem>
160 <para>Is a tool to edit the environment block</para>
161 <indexterm zone="ch-system-grub grub-editenv">
162 <primary sortas="b-grub-editenv">grub-editenv</primary>
163 </indexterm>
164 </listitem>
165 </varlistentry>
166
167 <varlistentry id="grub-file">
168 <term><command>grub-file</command></term>
169 <listitem>
170 <para>Checks to see if the given file is of the specified type</para>
171 <indexterm zone="ch-system-grub grub-file">
172 <primary sortas="b-grub-file">grub-file</primary>
173 </indexterm>
174 </listitem>
175 </varlistentry>
176
177 <varlistentry id="grub-fstest">
178 <term><command>grub-fstest</command></term>
179 <listitem>
180 <para>Is a tool to debug the filesystem driver</para>
181 <indexterm zone="ch-system-grub grub-fstest">
182 <primary sortas="b-grub-fstest">grub-fstest</primary>
183 </indexterm>
184 </listitem>
185 </varlistentry>
186
187 <varlistentry id="grub-glue-efi">
188 <term><command>grub-glue-efi</command></term>
189 <listitem>
190 <para>Glues 32-bit and 64-bit binaries into a single file (for Apple machines)</para>
191 <indexterm zone="ch-system-grub grub-glue-efi">
192 <primary sortas="b-grub-glue-efi">grub-glue-efi</primary>
193 </indexterm>
194 </listitem>
195 </varlistentry>
196
197 <varlistentry id="grub-install">
198 <term><command>grub-install</command></term>
199 <listitem>
200 <para>Installs GRUB on your drive</para>
201 <indexterm zone="ch-system-grub grub-install">
202 <primary sortas="b-grub-install">grub-install</primary>
203 </indexterm>
204 </listitem>
205 </varlistentry>
206
207 <varlistentry id="grub-kbdcomp">
208 <term><command>grub-kbdcomp</command></term>
209 <listitem>
210 <para>Is a script that converts an xkb layout into one recognized by
211 GRUB</para>
212 <indexterm zone="ch-system-grub grub-kbdcomp">
213 <primary sortas="b-grub-kbdcomp">grub-kbdcomp</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217
218 <varlistentry id="grub-macbless">
219 <term><command>grub-macbless</command></term>
220 <listitem>
221 <para>Is the Mac-style bless for HFS or HFS+ file systems (<command>bless</command>
222 is peculiar to Apple machines; it makes a device bootable)</para>
223 <indexterm zone="ch-system-grub grub-macbless">
224 <primary sortas="b-grub-macbless">grub-macbless</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="grub-menulst2cfg">
230 <term><command>grub-menulst2cfg</command></term>
231 <listitem>
232 <para>Converts a GRUB Legacy <filename>menu.lst</filename>
233 into a <filename>grub.cfg</filename> for use with GRUB 2</para>
234 <indexterm zone="ch-system-grub grub-menulst2cfg">
235 <primary sortas="b-grub-menulst2cfg">grub-menulst2cfg</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="grub-mkconfig">
241 <term><command>grub-mkconfig</command></term>
242 <listitem>
243 <para>Generates a <filename>grub.cfg</filename> file</para>
244 <indexterm zone="ch-system-grub grub-mkconfig">
245 <primary sortas="b-grub-mkconfig">grub-mkconfig</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="grub-mkimage">
251 <term><command>grub-mkimage</command></term>
252 <listitem>
253 <para>Makes a bootable image of GRUB</para>
254 <indexterm zone="ch-system-grub grub-mkimage">
255 <primary sortas="b-grub-mkimage">grub-mkimage</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="grub-mklayout">
261 <term><command>grub-mklayout</command></term>
262 <listitem>
263 <para>Generates a GRUB keyboard layout file</para>
264 <indexterm zone="ch-system-grub grub-mklayout">
265 <primary sortas="b-grub-mklayout">grub-mklayout</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="grub-mknetdir">
271 <term><command>grub-mknetdir</command></term>
272 <listitem>
273 <para>Prepares a GRUB netboot directory</para>
274 <indexterm zone="ch-system-grub grub-mknetdir">
275 <primary sortas="b-grub-mknetdir">grub-mknetdir</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="grub-mkpasswd-pbkdf2">
281 <term><command>grub-mkpasswd-pbkdf2</command></term>
282 <listitem>
283 <para>Generates an encrypted PBKDF2 password for use in the boot
284 menu</para>
285 <indexterm zone="ch-system-grub grub-mkpasswd-pbkdf2">
286 <primary sortas="b-grub-mkpasswd-pbkdf2">grub-mkpasswd-pbkdf2</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290
291 <varlistentry id="grub-mkrelpath">
292 <term><command>grub-mkrelpath</command></term>
293 <listitem>
294 <para>Makes a system pathname relative to its root</para>
295 <indexterm zone="ch-system-grub grub-mkrelpath">
296 <primary sortas="b-grub-mkrelpath">grub-mkrelpath</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="grub-mkrescue">
302 <term><command>grub-mkrescue</command></term>
303 <listitem>
304 <para>Makes a bootable image of GRUB suitable for a floppy disk,
305 CDROM/DVD, or a USB drive</para>
306 <indexterm zone="ch-system-grub grub-mkrescue">
307 <primary sortas="b-grub-mkrescue">grub-mkrescue</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="grub-mkstandalone">
313 <term><command>grub-mkstandalone</command></term>
314 <listitem>
315 <para>Generates a standalone image</para>
316 <indexterm zone="ch-system-grub grub-mkstandalone">
317 <primary sortas="b-grub-mkstandalone">grub-mkstandalone</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry id="grub-ofpathname">
323 <term><command>grub-ofpathname</command></term>
324 <listitem>
325 <para>Is a helper program that prints the path to a GRUB device</para>
326 <indexterm zone="ch-system-grub grub-ofpathname">
327 <primary sortas="b-grub-ofpathname">grub-ofpathname</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="grub-probe">
333 <term><command>grub-probe</command></term>
334 <listitem>
335 <para>Probes device information for a given path or device</para>
336 <indexterm zone="ch-system-grub grub-probe">
337 <primary sortas="b-grub-probe">grub-probe</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
342 <varlistentry id="grub-reboot">
343 <term><command>grub-reboot</command></term>
344 <listitem>
345 <para>Sets the default boot entry for GRUB for the next boot only</para>
346 <indexterm zone="ch-system-grub grub-reboot">
347 <primary sortas="b-grub-reboot">grub-reboot</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="grub-render-label">
353 <term><command>grub-render-label</command></term>
354 <listitem>
355 <para>Renders Apple .disk_label for Apple Macs</para>
356 <indexterm zone="ch-system-grub grub-render-label">
357 <primary sortas="b-grub-render-label">grub-render-label</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="grub-script-check">
363 <term><command>grub-script-check</command></term>
364 <listitem>
365 <para>Checks the GRUB configuration script for syntax errors</para>
366 <indexterm zone="ch-system-grub grub-script-check">
367 <primary sortas="b-grub-script-check">grub-script-check</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="grub-set-default">
373 <term><command>grub-set-default</command></term>
374 <listitem>
375 <para>Sets the default boot entry for GRUB</para>
376 <indexterm zone="ch-system-grub grub-set-default">
377 <primary sortas="b-grub-set-default">grub-set-default</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="grub-sparc64-setup">
383 <term><command>grub-sparc64-setup</command></term>
384 <listitem>
385 <para>Is a helper program for grub-setup</para>
386 <indexterm zone="ch-system-grub grub-sparc64-setup">
387 <primary sortas="b-grub-sparc64-setup">grub-setup</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="grub-syslinux2cfg">
393 <term><command>grub-syslinux2cfg</command></term>
394 <listitem>
395 <para>Transforms a syslinux config file into grub.cfg format</para>
396 <indexterm zone="ch-system-grub grub-syslinux2cfg">
397 <primary sortas="b-grub-syslinux2cfg">grub-syslinux2cfg</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 </variablelist>
403
404 </sect2>
405
406</sect1>
Note: See TracBrowser for help on using the repository browser.