6.45. GRUB-0.96

The GRUB package contains the GRand Unified Bootloader.

Approximate build time: 0.2 SBU
Required disk space: 10.0 MB
Installation depends on: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, Ncurses, and Sed

6.45.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:

./configure --prefix=/usr

Compile the package:

make

To test the results, issue: make check.

Note that the test results will always show the error “ufs2_stage1_5 is too big.” This is due to a compiler issue, but can be ignored unless you plan to boot from an UFS partition. The partitions are normally only used by Sun workstations.

Install the package:

make install
mkdir /boot/grub
cp /usr/lib/grub/i386-pc/stage{1,2} /boot/grub

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

The i386-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 /boot/grub directory. Most users will copy the e2fs_stage1_5 and/or reiserfs_stage1_5 files.

6.45.2. Contents of GRUB

Installed programs: grub, grub-install, grub-md5-crypt, grub-terminfo, and mbchk

Short Descriptions

grub

The Grand Unified Bootloader's command shell

grub-install

Installs GRUB on the given device

grub-md5-crypt

Encrypts a password in MD5 format

grub-terminfo

Generates a terminfo command from a terminfo name; it can be employed if an unknown terminal is being used

mbchk

Checks the format of a multi-boot kernel