source: chapter08/grub.xml@ 5a458e8

xry111/arm64 xry111/arm64-12.0
Last change on this file since 5a458e8 was 5a458e8, checked in by Xi Ruoyao <xry111@…>, 20 months ago

arm64: grub: reword the note about UEFI

No instruction change is needed.

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