8.58. GRUB-2.06

The GRUB package contains the GRand Unified Bootloader.

Approximate build time: 0.7 SBU
Required disk space: 154 MB

8.58.1. Installation of GRUB

[Note]

Note

If your system has UEFI support and you wish to boot LFS with UEFI, you can skip this package in LFS, and install GRUB with UEFI support (and its dependencies) following the BLFS page at the end of this chapter.

Prepare GRUB for compilation:

./configure --prefix=/usr          \
            --sbindir=/sbin        \
            --sysconfdir=/etc      \
            --disable-efiemu       \
            --disable-werror

The meaning of the new configure options:

--disable-werror

This allows the build to complete with warnings introduced by more recent Flex versions.

--disable-efiemu

This option minimizes what is built by disabling a feature and testing programs not needed for LFS.

Compile the package:

make

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 make check.

Install the package:

make install
mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions

Using GRUB to make your LFS system bootable will be discussed in Section 10.4, “Using GRUB to Set Up the Boot Process”.

8.58.2. Contents of GRUB

Installed programs: grub-bios-setup, grub-editenv, grub-file, grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, grub-ofpathname, grub-probe, grub-reboot, grub-render-label, grub-script-check, grub-set-default, grub-sparc64-setup, and grub-syslinux2cfg
Installed directories: /usr/lib/grub, /etc/grub.d, /usr/share/grub, and /boot/grub (when grub-install is first run)

Short Descriptions

grub-bios-setup

Is a helper program for grub-install

grub-editenv

A tool to edit the environment block

grub-file

Checks if FILE is of the specified type.

grub-fstest

Tool to debug the filesystem driver

grub-glue-efi

Processes ia32 and amd64 EFI images and glues them according to Apple format.

grub-install

Install GRUB on your drive

grub-kbdcomp

Script that converts an xkb layout into one recognized by GRUB

grub-macbless

Mac-style bless on HFS or HFS+ files

grub-menulst2cfg

Converts a GRUB Legacy menu.lst into a grub.cfg for use with GRUB 2

grub-mkconfig

Generate a grub config file

grub-mkimage

Make a bootable image of GRUB

grub-mklayout

Generates a GRUB keyboard layout file

grub-mknetdir

Prepares a GRUB netboot directory

grub-mkpasswd-pbkdf2

Generates an encrypted PBKDF2 password for use in the boot menu

grub-mkrelpath

Makes a system pathname relative to its root

grub-mkrescue

Make a bootable image of GRUB suitable for a floppy disk or CDROM/DVD

grub-mkstandalone

Generates a standalone image

grub-ofpathname

Is a helper program that prints the path of a GRUB device

grub-probe

Probe device information for a given path or device

grub-reboot

Sets the default boot entry for GRUB for the next boot only

grub-render-label

Render Apple .disk_label for Apple Macs

grub-script-check

Checks GRUB configuration script for syntax errors

grub-set-default

Sets the default boot entry for GRUB

grub-sparc64-setup

Is a helper program for grub-setup

grub-syslinux2cfg

Transform a syslinux config file into grub.cfg format