| Newsgroups |
gmane.linux.lfs.book |
| Message-ID |
<[email protected]> |
This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch xry111/non-x86-efi
in repository lfs.
commit fa28407bc30292b8f0f8df4ff79a984dc8590b60
Author: Xi Ruoyao <[email protected]>
AuthorDate: Sun Apr 5 16:28:48 2026 +0800
non-x86-efi: chapter08/grub: only keep one installation for UEFI
Non-x86 systems don't have so much churn: non-UEFI platforms are simply
unsupported.
---
chapter08/grub.xml | 156 ++++-------------------------------------------------
1 file changed, 11 insertions(+), 145 deletions(-)
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index 5d026bed4..1656bf736 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -25,15 +25,11 @@
<para>The GRUB package contains the GRand Unified Bootloader.</para>
- <note><para>This page is split up into multiple sections aimed to install
- for a specific boot method (BIOS, 64-bit UEFI, and 32-bit UEFI). GRUB
- cannot be built with all the boot method architectures at once.</para>
- <para>You may skip other sections to go to the boot method you need. If in
- doubt, you may follow all of the sections at the cost of extra build time.
- After you have installed support for your boot method, then continue
- building the rest of the packages in this chapter. Making your LFS system
- bootable with GRUB will be discussed in <xref linkend="ch-bootable-grub"
- role='.'/></para></note>
+ <note><para>The instruction for this package assumes your system
+ utilizes the UEFI firmware. Otherwise your may have to configure
+ GRUB differently (or GRUB may not work for the system at all), and
+ you may need to figure out how to boot the LFS system on your
+ own.</para></note>
<warning>
<para>Unset any environment variables which may affect the build:</para>
@@ -59,76 +55,12 @@
</sect2>
<sect2 role="installation">
- <title>Installation of GRUB for BIOS</title>
+ <title>Installation of GRUB for UEFI</title>
- <!-- See https://wiki.linuxfromscratch.org/lfs/ticket/5857. Remove this at
- next grub version -->
- <para>First fix a bug introduced in grub-2.14:</para>
-
-<screen><userinput remap="pre">sed 's/--image-base/--nonexist-linker-option/' -i configure</userinput></screen>
-
- <para>Prepare GRUB for compilation:</para>
-
-<screen><userinput remap="configure">./configure --prefix=/usr \
- --sysconfdir=/etc \
- --disable-efiemu \
- --disable-werror</userinput></screen>
-
- <variablelist>
- <title>The meaning of the new configure options:</title>
-
- <varlistentry>
- <term><parameter>--disable-werror</parameter></term>
- <listitem>
- <para>This allows the build to complete with warnings introduced
- by more recent versions of Flex.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><parameter>--disable-efiemu</parameter></term>
- <listitem>
- <para>This option minimizes what is built by disabling a feature and
- eliminating some test programs not needed for LFS.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>Compile the package:</para>
-
-<screen><userinput remap="make">make</userinput></screen>
-
- <para>The test suite for this packages is not recommended. Most of
- the tests depend on packages that are not available in the limited
- LFS environment. To run the tests anyway, run <command>make check</command>.</para>
-
- <para>Install the package:</para>
-
- <screen><userinput remap="install">make install</userinput></screen>
-
- </sect2>
-
- <sect2 role="installation">
- <title>Installation of GRUB for 64-bit UEFI</title>
-
- <para>If you want to boot with 64-bit UEFI, you should build support for
- it.</para>
-
- <para>First, if you built GRUB from any of the sections above,
- clean the source tree:</para>
-
-<screen><userinput remap="pre">make clean</userinput></screen>
-
- <para>Fix a bug introduced in grub-2.14:</para>
-
-<screen><userinput remap="pre">sed 's/--image-base/--nonexist-linker-option/' -i configure</userinput></screen>
-
- <para>Now configure GRUB for 64-bit UEFI support:</para>
+ <para>Now configure GRUB for UEFI support:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
- --target=x86_64 \
--with-platform=efi \
--disable-efiemu \
--disable-werror</userinput></screen>
@@ -136,81 +68,21 @@
<variablelist>
<title>The meaning of the new configure options:</title>
- <varlistentry>
- <term><parameter>--target=x86_64</parameter></term>
- <listitem>
- <para>This defines that the UEFI firmware architecture is x86_64,
- which GRUB should target.</para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><parameter>--with-platform=efi</parameter></term>
<listitem>
- <para>This specifies that EFI is a platform GRUB should target.
- In combination with <parameter>--target=x86_64</parameter>, GRUB will
- have the ability to target the <literal>x86_64-efi</literal>
- platform.</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
- <para>Compile the package for 64-bit UEFI support:</para>
-
-<screen><userinput remap="make">make</userinput></screen>
-
- <para>Install support for 64-bit UEFI:</para>
-
-<screen><userinput remap="install">make install</userinput></screen>
-
- </sect2>
-
- <sect2 role="installation">
- <title>Installation of GRUB for 32-bit UEFI</title>
-
- <para>If you want to boot with 32-bit UEFI, which is very rare, you should
- build support for it.</para>
-
- <para>First, if you built GRUB from any of the sections above,
- clean the source tree:</para>
-
-<screen><userinput remap="pre">make clean</userinput></screen>
-
- <para>Fix a bug introduced in grub-2.14:</para>
-
-<screen><userinput remap="pre">sed 's/--image-base/--nonexist-linker-option/' -i configure</userinput></screen>
-
- <para>Now configure GRUB for 32-bit UEFI support:</para>
-
-<screen><userinput remap="configure">./configure --prefix=/usr \
- --sysconfdir=/etc \
- --target=i386 \
- --with-platform=efi \
- --disable-efiemu \
- --disable-werror</userinput></screen>
-
- <variablelist>
- <title>The meaning of the new configure options:</title>
-
- <varlistentry>
- <term><parameter>--target=i386</parameter></term>
- <listitem>
- <para>This defines that the UEFI firmware architecture is
- i386/32-bit, which GRUB should target. In combination with
- <parameter>--with-platform=efi</parameter>, GRUB will
- have the ability to target the <literal>i386-efi</literal>
- platform.</para>
+ <para>This specifies that EFI is a platform GRUB should
+ target.</para>
</listitem>
</varlistentry>
</variablelist>
- <para>Compile the package for 32-bit UEFI support:</para>
+ <para>Compile the package for UEFI support:</para>
<screen><userinput remap="make">make</userinput></screen>
- <para>Install support for 32-bit UEFI:</para>
+ <para>Install support for UEFI:</para>
<screen><userinput remap="install">make install</userinput></screen>
@@ -239,12 +111,6 @@
</seglistitem>
</segmentedlist>
- <note><para>
- <filename class="directory">/usr/lib/grub</filename> will have different
- contents based on what platform(s) you have installed GRUB for. Namely,
- there will be different GRUB modules for each platform.
- </para></note>
-
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
--
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page