El paquete GRUB contiene el GRand Unified Bootloader (Gran Gestor de Arranque Unificado).
Se sabe que este programa se comporta mal si se cambian sus parámetros de optimización (incluyendo las opciones -march y -mcpu). Si tienes definida cualquier variable de entorno que altere las optimizaciones por defecto, como CFLAGS o CXXFLAGS, desactívala cuando construyas GRUB.
Comienza aplicando el siguiente parche para permitir una mejor detección de los dispositivos, corregir algunos problemas con GCC 4.x y proporcionar un mejor soporte para algunos controladores de disco SATA:
patch -Np1 -i ../grub-0.97-disk_geometry-1.patch
Prepara GRUB para su compilación:
./configure --prefix=/usr
Compila el paquete:
make
Para comprobar los resultados, ejecuta: make check.
Instala el paquete:
make install mkdir -v /boot/grub cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub
Sustituye i386-pc por el directorio apropiado para tu hardware.
El directorio i386-pc contiene también una serie de ficheros *stage1_5 para diferentes sistemas de ficheros. Mira los disponibles y copia el apropiado al directorio /boot/grub. La mayoría copiareis el fichero e2fs_stage1_5 y/o reiserfs_stage1_5.