7.12. GRUB-0.97

The GRUB package contains the GRand Unified Bootloader.

7.12.1. Installation of GRUB

This package is known to have issues when its default optimization flags (including the -march and -mcpu options) are changed. If any environment variables that override default optimizations have been defined, such as CFLAGS and CXXFLAGS, unset them when building GRUB.

Prepare GRUB for compilation:

CC="${CC} ${BUILD32}" ./configure --prefix=/usr \
   --host=${LFS_TARGET}

Compile the package:

make

Install the package:

make DESTDIR=${LFS} install
mkdir -v ${LFS}/boot/grub
cp -v ${LFS}/usr/lib/grub/x86_64-pc/stage{1,2} ${LFS}/boot/grub

Replace x86_64-pc with whatever directory is appropriate for the hardware in use.

The x86_64-pc directory contains a number of *stage1_5 files, different ones for different file systems. Review the files available and copy the appropriate ones to the ${LFS}/boot/grub directory. Most users will copy the e2fs_stage1_5 and/or reiserfs_stage1_5 files.

Details on this package are located in Section 10.66.2, “Contents of GRUB.”