10.54. GRUB-0.97

The GRUB package contains the GRand Unified Bootloader.

10.54.1. Installation de GRUB

GRUB has an issue where it sometimes doesn't detect the disk geometry correctly when used with Linux 2.6, resulting in the error message Error 24: Attempt to access block outside partition. The following patch contains a fix for this issue as well as various fixes for raid controllers and support for the new Intel Mac:

patch -Np1 -i ../grub-0.97-fixes-1.patch

By default, GRUB doesn't support ext2 filesystems with 256-byte inodes. Fix this by applying the following patch:

patch -Np1 -i ../grub-0.97-256byte_inode-1.patch

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.

Install the package:

make install
mkdir -pv /boot/grub
cp -v /usr/lib/grub/*/stage{1,2} /boot/grub

The directory in /usr/lib/grub (its name depends on your arch) 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.

10.54.2. Contents of GRUB

Installed programs: grub, grub-install, grub-md5-crypt, grub-set-default, 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-set-default

Sets the default boot entry for GRUB

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