TÍTULO: GRUB-Cómo
VERSIÓN LFS: cualquiera
AUTOR: Fabio Fracassi <turiya@linuxfromscratch.org>
TRADUCTOR: Proyecto LFS-ES
SINOPSIS:
GRUB es una alternativa a LILO. Este documento explica cómo
hacerlo funcionar.
RECETA:
GRUB es el Gran Gestor de Arranque Unificado de GNU (GNU GRand Unified
Bootloader), un proyecto que intenta solucionar todos los problemas de
arranque de una vez por todas.
Una de las características más interesantes es que no tienes que
instalar una partición nueva o un núcleo nuevo, puedes cambiar todos los
parámetros en el arranque usando la Consola GRUB, ya que conoce los
sistemas de ficheros.
Empecemos a trabajar:
1. - Descarga: ftp://alpha.gnu.org/pub/gnu/grub/grub-0.92.tar.gz
1b.- PARECE QUE NO HAY UN PARCHE PARA ESTA VERSIÓN, SI SABES DE ALGUNO
ENVÍAME UNA NOTA, POR FAVOR.
Descarga: http://linuxfromscratch.org/~gerard/grub-0.91-vga16.patch
Esto añade el soporte para un dibujo de fondo en grub, si lo
quieres.
2. - Extrae: tar -xvzf grub-0.92.tar.gz
2b.- Opcionalmente, aplica el parche: patch -Np1 -i grub-0.91-vga16.patch
3. - Instala:
./configure --prefix=/usr # lee INSTALL para saber más opciones
make
make install
mkdir /boot/grub
cp /usr/share/grub/i386-pc/stage1 /boot/grub
cp /usr/share/grub/i386-pc/stage2 /boot/grub
Y, si quieres, copia también uno de los ficheros stage1.5
(posteriormente daremos más detalles).
4. - Iniciando Grub:
Ahora hay dos formas de continuar, puedes iniciar la Consola GRUB
usando /usr/sbin/grub (que a mí no me funcionó demasiado bien :( )
o utilizando un disco de arranque:
cd /boot/grub
cat stage1 stage2 >/dev/fd0 # ¡Asegúrate de tener un disco vacío
# en la disquetera!
¡Reinicia!
5. - Configuración:
Ahora tienes que definir tu configuración:
Primero, GRUB quiere saber en qué partición está instalado. GRUB
nombra a las particiones como sigue:
(hd<NúmBios>,<NúmPartición>) esto es, /dev/hda es (hd0),
/dev/hda1 (hd0,0), /dev/hdb2 (hd1,1)...
(Espero que hayas cogido la clave ;) - si no, lee man grub o
info grub)
Si no sabes la partición, puedes intentar con
find /boot/grub/stage1
en la Consola GRUB.
Ahora di a GRUB dónde está instalado:
root (hd0,1) # Esta es mi configuración (/dev/hda2)
E instálalo en el Registro Maestro de Arranque (MBR)
setup (hd0)
Si quieres, puedes reiniciar ahora, y con
kernel (hd0,1)/boot/bzImage root=/dev/hda2
iniciar tu sistema.
Existe la posibilidad de "enseñar" a GRUB sobre el sistema de
ficheros, de esa forma, GRUB no necesita un mapa de bloques para
el fichero stage2 y es, entonces, más robusto contra cambios en
el sistema de ficheros. Esto se consigue con los ficheros
stage1.5:
después de hacer
root (hd0,1)
escribe
embed /boot/grub/reiserfs_stage1_5 (hd0) # o e2fs_stage1_5
y anota el número de sectores
ahora escribe
setup (hd0)
o
install /boot/grub/stage1 (hd0) (hd0)1+<número_sectores_que_devolvió_embed> p
/boot/grub/stage2 /boot/grub/menu.lst
6. - Instalando un Menú de Arranque:
Simplemente crea un fichero menu.lst en el directorio
/boot/grub. ¡Puedes poner allí la mayoría de los comandos de la
Consola GRUB! (Lee info grub)
Como referencia, aquí está mi configuración:
# Fichero /boot/grub/menu.lst - Definición del Menú de Arranque
#
# Arrancar por defecto la Entrada 0
default 0
timeout 10
# para hacerlo más bonito ;)
color green/black light-green/black
# Si has aplicado el parche Pixmap, puedes definir un dibujo
# como fondo aquí
# La bonita imagen de LFS se puede encontrar en
# http://linuxfromscratch.org/~gerard/lfslogos/lfs-grub-splash.xpm
splashimage (hd0,1)/boot/grub/lfs-grub-splash.xpm
#Teclado alemán
setkey y z
setkey z y
setkey Y Z
setkey Z Y
setkey equal parenright
setkey parenright parenleft
setkey parenleft asterisk
setkey doublequote at
setkey plus bracketright
setkey minus slash
setkey slash ampersand
setkey ampersand percent
setkey percent caret
setkey underscore question
setkey question underscore
setkey semicolon less
setkey less numbersign
setkey numbersign backslash
setkey colon greater
setkey greater bar
setkey asterisk braceright
#Linux Estándar
title LFS-Linux 2.4
kernel (hd0,1)/boot/bzImage root=/dev/hda2
#Linux Antiguo
title Antiguo Suse Linux 6.4
kernel (hd1,0)/bzImage root=/dev/hdb2
#Windows 98
title Windows 98
chainloader (hd0,0)+1
#instala grub
title (Re)Instala grub
root (hd0,1)
embed /boot/grub/reiserfs_stage1_5
install /boot/grub/stage1 (hd0) (hd0)1+19 p /boot/grub/stage2
/boot/grub/menu.lst
Creo que esto te da una idea de cómo es de poderosa la herramienta GRUB,
y ves que tampoco es tan difícil :)
El único problema que me he encontrado fue que los comandos de
instalación y configuración no funcionaron desde /usr/sbin/grub, pero no
tuve ningún problema con el disco de arranque. No sé mucho más sobre
GRUB que lo que he escrito aquí, consulta la Documentación
(especialmente, info grub) para más información.
Gracias a la Revista German C't por el gran artículo sobre GRUB.
Actualización: 17/Abr/2002 Fabio Fracassi (turiya@linuxfromscratch.org)
Gracias a Gerard Beekmans por el Parche Splashscreen (y por el LFS ;) )
|