source: chapter08/grub.xml@ 55955149

10.1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 55955149 was 55955149, checked in by Pierre Labastie <pieere@…>, 3 years ago

fix grub to prevent generation of a huge binary blob for lzma compression

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12143 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

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