Contents
See the page for GRUB in LFS book.
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.
This package is known to build and work properly using an LFS-11.0 platform.
Download (HTTP): https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
Download MD5 sum: cf0fd928b1e5479c8108ee52cb114363
Download size: 6.3 MB
Estimated disk space required: 185 MB
Estimated build time: 0.9 SBU
Unicode font data used to display GRUB menu
Download (HTTP): https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.pcf.gz
Download MD5 sum: 4fbc33c8d8d25985f1bcdd4d28bc2420
Download size: 1.3 MB
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/grub-efi
First, install font data as the root
user:
mkdir -pv /usr/share/fonts/unifont && gunzip -c ../unifont-13.0.06.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
Unset any environment variables which may affect the build:
unset {C,CPP,CXX,LD}FLAGS
Don'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.
Build GRUB with the following commands:
./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-efiemu \ --enable-grub-mkfont \ --with-platform=efi \ --disable-werror && make
This package does not have a test suite providing meaningful results.
Now, as the root
user:
make install && mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
--enable-grub-mkfont
: Build
the tool named grub-mkfont to generate the font
file for the boot loader from the font data we've installed.
If the recommended dependency FreeType-2.11.0 is not installed, it is possible to omit this option and build GRUB. However, if grub-mkfont is not built, or the unicode font data is not avaliable at the time GRUB is built, GRUB won't install any font for the boot loader. The GRUB boot menu will be displayed using a coarse font and the early stage of kernel initialization will be in “blind mode” — you can't see any kernel messages before the graphics card driver is initialized. It will be very difficult to diagnose some boot issues, especially if the graphics driver is built as module.
--with-platform=efi
:
Ensures building GRUB with EFI enabled.
Using GRUB to make the LFS system bootable on UEFI platform will be discussed in Using GRUB to Set Up the Boot Process with UEFI.
See the page for GRUB in LFS book.
Last updated on