Contents
A list of the installed files, along with their short descriptions can be found at the section called “Contents of GRUB”.
Listed below are the newly installed programs along with short descriptions.
The GRUB package provides GRand Unified Bootloader. In this page it will be built with UEFI support, which is not enabled for GRUB built in LFS.
Download (HTTP): https://mirror.csclub.uwaterloo.ca/gnu/grub/grub-2.12.tar.xz
Download SHA256 Sum: f3c97391f7c4eaa677a78e090c7e97e6dc47b16f655f04683ebd37bef7fe0faa
Download MD5 sum: 60c564b1bdc39d8e43b3aab4bc0fb140
Download size: 6,524 KB
Estimated disk space required: 174 MB (with optional dependencies and download)
Estimated build time: 0.6 SBU
Optional Unicode font data for the GRUB menu (only useful if FreeType is installed)
Download (HTTP): https://unifoundry.com/pub/unifont/unifont-17.0.01/font-builds/unifont-17.0.01.pcf.gz
Download SHA256 Sum: 8240c381398a21f4eef993d16f0976d6a627e61054f0add275d195408f24efa9
Download MD5 sum: c3fbc239da0fb49a9afc9b141f606ad4
Download size: 1.3 MB
efibootmgr-18 (runtime)
First, install font data, if you've downloaded it and you've installed the optional dependency FreeType-2.14.1:
mkdir -pv /usr/share/fonts/unifont zcat ../unifont-17.0.01.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
![[Warning]](../images/warning.png)
Unset any environment variables which may affect the build:
unset {C,CPP,CXX,LD}FLAGSDon't try “tuning” this package with custom compilation flags: this package is a bootloader, with low-level operations in the source code which is likely to be broken by some aggressive optimizations.
Add a file missing from the release tarball:
echo depends bli part_gpt > grub-core/extra_deps.lst
Now Prepare GRUB for compilation with the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-efiemu \
--with-platform=efi \
--target=x86_64 \
--disable-werrorNow Compile GRUB with the following commands:
make
This package does not have a test suite providing meaningful results.
Now, if you've skipped the the section called “GRUB-2.12”, install GRUB and skip the remaining instructions in this section:
make install mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
If you've not skipped the section called “GRUB-2.12”, only install the components not installed:
make -C grub-core install
If you've installed the optional font data and FreeType-2.14.1, install the grub-mkfont program and the font data files (without the font data files GRUB can still function normally, but the boot menu will be displayed using a coarse font or in a smaller region on the screen).
install -vm755 grub-mkfont /usr/bin/ install -vm644 ascii.h widthspec.h *.pf2 /usr/share/grub/
If both Fuse-3.17.4 and LVM2-2.03.36 are installed, also install the grub-mount program:
install -vm755 grub-mount /usr/bin/
--with-platform=efi: Ensures building GRUB with
EFI enabled.
--target=x86_64: Ensures building GRUB for
x86_64 even if building on a 32-bit LFS system. Most EFI firmware
on x86_64 does not support 32-bit bootloaders.
--target=i386: A few 32-bit x86 platforms have EFI
support. And, some x86_64 platforms have a 32-bit EFI implementation,
but they are very old and rare. Use this instead of
--target=x86_64 if you are
absolutely sure that LFS is running
on such a system.
Using GRUB to make the LFS system bootable on UEFI platform will be discussed in grub-setup.
A list of the installed files, along with their short descriptions can be found at the section called “Contents of GRUB”.
Listed below are the newly installed programs along with short descriptions.