source: chapter08/grub.xml@ 648f145

xry111/arm64
Last change on this file since 648f145 was 648f145, checked in by Xi Ruoyao <xry111@…>, 8 months ago

arm64: Revert "arm64: grub: Apply an upstream change to support generic zboot"

This reverts commit 0d4f1b46765e9c20362e3f20a718543f096921c4.

The change is already included in GRUB 2.12, and the file has been
renamed so the sed command is failing.

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