It's now possible to use Grub2 on 32, multilib, and pure64 if you trick configure a bit. Instructions to compile and install Grub2 are as follows:
cat > config.cache < "EOF"
grub_cv_check_edata_symbol=yes
grub_cv_check_end_symbol=yes
grub_cv_check_uscore_edata_symbol=yes
grub_cv_check_uscore_end_symbol=yes
grub_cv_check_uscore_start_symbol=yes
grub_cv_check_uscore_uscore_bss_start_symbol=yes
grub_cv_i386_check_nested_functions=no
EOF
Compile and install:
./configure --prefix=/usr --cache-file=config.cache &&
make &&
make install
Configuring:
mkdir -p /boot/grub &&
cat > /boot/grub/grub.cfg << "EOF"
set timeout=30
set default=0
menuentry "Linux 2.6.22.1" {
linux (hd0,1)/kernel-2.6.22.1 root=/dev/hda1
}
EOF
Installing the bootsector.
grub-setup --directory=/boot/grub --device-map=/boot/grub/device.map /dev/hda
Comments, testing, improvements would be appreciated.
Reference: http://lists.cross-lfs.org/pipermail/clfs-dev/2007-July/000667.html