8.58. GRUB-2.04

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

First, fix an issue introduced by binutils-2.36:

sed "s/gold-version/& -R .note.gnu.property/" \
    -i Makefile.in grub-core/Makefile.in

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

This package does not come with a test suite.

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