Gentoo Logo

1.  Elegir

Introducción

Ahora que su núcleo está configurado y compilado y los archivos de configuración necesarios han sido llenados correctamente, ha llegado la hora de instalar el programa que iniciará el núcleo cuando arranque el sistema. Este programa es conocido como gestor de arranque.

Para ${arch}, Gentoo dispone de GRUB2, LILO y GRUB Heredado.

Ahora, debería instalar el gestor de arranque elilo.

1.  Predeterminado: Utilizar GRUB2

Instalar GRUB2

GRUB2 se ofrece a través del paquete sys-boot/grub.

Listado de Código 1.1: Instalar GRUB2

# emerge sys-boot/grub:2

El software GRUB2 ahora está instalado en el sistema, sin embargo, todavía no está activado.

Configurar GRUB2

En primer lugar, instalaremos los ficheros necesarios de GRUB2 en /boot/grub. Asumiremos que el primer disco (el que se utiliza para iniciar el sistema) es /dev/sda, la siguiente orden hará esto por nosotros:

Listado de Código 1.1: Instalar los ficheros de GRUB2 en /boot/grub

# grub2-install /dev/sda

A continuación, generamos la configuración de GRUB2 basada en la configuración de usuario especificada en el fichero /etc/default/grub y los guiones en /etc/grub.d. En la mayoría de los casos, no se necesita ninguna configuración por parte del usuario ya que GRUB2 detectará de forma automática el núcleo que se debe iniciar (el que tenga el número de versión más alto disponible en /boot) y qué sistema de ficheros tiene el directorio raíz.

Para generar la configuración final de GRUB2, ejecute la orden grub2-mkconfig:

Listado de Código 1.1: Generar la configuración de GRUB2

# grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/${kernel-name}
Found initrd image: /boot/${genkernel-initrd}
done

La salida de la orden debe mencionar al menos que se ha encontrado una imagen Linux, ya que éstas son necesarias para iniciar el sistema. Si utiliza initramfs o genkernel para construir su núcleo, se debería detectar igualmente la imagen initrd correcta. Si no es así, vaya a /boot y compruebe el contenido con la orden ls. Si los ficheros no están, vuelva a las instrucciones de configuración e instalación del núcleo.

1.  Alternativa: Utilizar LILO

Instalar LILO

LILO, representa LInuxLOader, y es el caballito de batalla probado y comprobado de los gestores de inicio de Linux. Sin embargo, carece de algunas características de GRUB (razón por la cual GRUB actualmente está ganando popularidad). La razón por la cual LILO sigue en uso es que en algunos sistemas, GRUB no funciona mientras que LILO sí. Por supuesto también se usa porque hay muchos que lo conocen y prefieren seguir con este gestor. De cualquier manera, Gentoo soporta ambos gestores y por lo visto, ha elegido usar LILO.

Instalar LILO es fácil, sencillamente use emerge.

Listado de Código 1.1: Instalar LILO

# emerge lilo

Configurar LILO

Para configurar LILO, debe crear el archivo /etc/lilo.conf. Use su editor de textos preferido (en el manual usamos nano para ser consistentes) y creemos este archivo.

Listado de Código 1.1: Crear /etc/lilo.conf

# nano -w /etc/lilo.conf

Algunas secciones atrás, le pedimos que se acordara del nombre de la imagen del núcleo creado. En el siguiente ejemplo de lilo.conf haremos uso del esquema ejemplo de particionamiento.

Asegúrese de utilizar el nombre de su archivo de imagen del núcleo y, si es necesario, el nombre de su imagen initrd.

Nota: Si su sistema de ficheros para root es JFS, deberá añadir la línea append="ro" después de cada elemento de arranque, ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura.

Listado de Código 1.1: Ejemplo de /etc/lilo.conf

boot=/dev/sda            # Instalar LILO en el MBR
prompt                     # Darle al usuario una oportunidad de seleccionar otra opción
timeout=50                # Esperar 5 (cinco) segundos antes de arrancar la opción por defecto
default=gentoo          # Al transcurrir el plazo de espera, arrancar la opción "gentoo"

 image=/boot/${kernel-name}
 label=gentoo            # El nombre de la sección
 read-only               # Comience con la raíz solo lectura. ¡No modifique!
 root=/dev/sda4          # Ubicación del sistema raíz de archivos

 image=/boot/${kernel-name}
 label=gentoo.rescue     # El nombre de la sección
 read-only               # Comience con la raíz solo lectura. ¡No modifique!
 root=/dev/sda4          # Ubicación del sistema raíz de archivos
 append="init=/bin/bb"   # Lanzar el intérprete de comandos estático de rescate de Gentoo

# La siguientes dos líneas solo corresponden si hace arranque dual con un sistema Windows.
# En este ejecmplo, Windows se encuentra en /dev/sda6.
other=/dev/sda6
  label=windows

Nota: Si usa un esquema de particionamiento o imagen de núcleo distinta, haga los ajustes correspondientes.

Cuando construya el núcleo Linux, si opta por incluir un initramfs desde el cual iniciar, entonces tendrá que cambiar la configuración haciendo referencia a este fichero initramfs e indicándole donde se encuentra su sistema de ficheros raíz en:

Listado de Código 1.1: Fragmento de LILO para construcciones de núcleo con initramfs habilitado

image=/boot/${kernel-name}
  label=gentoo
  read-only
  append="real_root=/dev/sda4"
  initrd=/boot/${genkernel-initrd}

Si hace falta pasar alguna opción adicional al núcleo, incluya un enunciado append a la sección. A modo de ejemplo, agregamos un enunciado video para activar framebuffer:

Listado de Código 1.1: Utilizar append para agregar opciones al núcleo

 image=/boot/${kernel-name}
 label=gentoo
 read-only
 root=/dev/sda4
append="video=uvesafb:mtrr,ywrap,1024x768-32@85"

Si está utilizando un núcleo 2.6.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes, necesitará añadir sda=stroke.

Usuarios de genkernel deben saber que sus núcleos usan las mismas opciones de arranque que el CD de instalación. Por ejemplo, si tiene dispositivos SCSI, debe agregar doscsi como opción del núcleo.

Ahora, salve el archivo y salga del editor. Para terminar, debe ejecutar la orden /sbin/lilo para poder aplicar /etc/lilo.conf a su sistema (que se instale en el disco). Acuérdese de que debe volver a ejecutar /sbin/lilo cada vez que instale un nuevo núcleo o haga cambios en el menú.

Listado de Código 1.1: Terminar la instalación de LILO

# /sbin/lilo

Si tiene más preguntar con respecto a LILO, por favor, consulte su página en la wikipedia.

Ahora puede continuar con Reiniciar el Sistema.

1.  Alternativa: Usar GRUB Heredado

¿Qué implica "Heredado"?

GRUB se ha rediseñado y se ha lanzado una nueva versión llamada GRUB2. El nuevo código base de GRUB2 difiere bastante del GRUB actual, por lo que esta versión de GRUB se llama por el momento "GRUB Heredado".

Comprender la terminología de GRUB

La parte más crítica para la comprensión de GRUB, es el habituarse a la manera en que GRUB se refiere a los discos duros y las particiones. Su partición Linux /dev/sda2 es denominada (hd0,1) por GRUB. Note los paréntesis alrededor de hd0,1, que son obligatorios.

La numeración de los discos duros comienza con un cero, en lugar de utilizar una "a" y las particiones empiezan con cero en lugar de con un uno. Advertimos también que entre los dispositivos hd, solo se cuentan los discos duros y no los dispositivos atapi-ide como cdroms y grabadoras. Además, la especificación es igual para dispositivos SCSI. (Usualmente son asignados números mayores, excepto cuando el bios está configurada para arrancar desde los dispositivos scsi). Cuando se le indica la BIOS que arranque desde un disco duro diferente (por ejemplo, el esclavo primario), ese disco duro se verá como hd0.

Asumiendo que tiene un disco duro en /dev/sda y dos más en /dev/sdb y /dev/sdc, la partición /dev/sdd7 que descrita como (hd1,6). A lo mejor puede sonar raro y bien podría serlo, pero como veremos, GRUB ofrece un mecanismo de terminación por tabulador que es de gran ayuda para los que tienen una gran cantidad de discos duros y que andan algo perdidos con este esquema de numeración.

Habiéndole tomado la medida, es hora de instalar GRUB.

Instalar GRUB

Para instalar GRUB Heredado, primero lo instalamos con emerge:

Listado de Código 1.1: Instalar GRUB

# emerge sys-boot/grub:0

Aunque GRUB esté instalado, todavía necesitamos crear un archivo de configuración para él e instalar GRUB en nuestro MBR para que pueda arrancar automáticamente nuestro núcleo recién creado. Cree el archivo /boot/grub/grub.conf con nano, o cualquier otro editor:

Listado de Código 1.1: Crear el archivo /boot/grub/grub.conf

# nano -w /boot/grub/grub.conf

Ahora vamos a escribir el grub.conf. Asegúrese de utilizar el nombre de su archivo de imagen del núcleo y, si es necesario, el nombre de su imagen initrd.

Nota: Grub asigna las designaciones según el BIOS. Al cambiar la configuración del BIOS, cambiarán también las designaciones de los dispositivos. Por ejemplo, si cambia el orden de los dispositivos para el arranque, tal vez tenga que cambiar la configuración grub también.

Nota: Si su sistema de ficheros para root es JFS, deberá añadir "ro" a la línea del núcleo ya que JFS necesita leer su log antes de permitir montajes de lectura-escritura.

Nota: Si realiza un arranque dual con Windows, el ejemplo de particionamiento utilizado en esta guía no será suficiente (nuestro ejemplo utiliza todas las particiones para Lnux, mientras que al menos una debería ser extendida si se va a instalar Windows en una partición lógica). Por favor, vaya con cuidado y considere este listado como un ejemplo que necesitará modificar para que se adapte a sus necesidades.

Listado de Código 1.1: grub.conf ejemplo

# Qué título arrancar por defecto. 0 es el primero, 1 el segundo, etc.
default 0
# Cuantos segundos esperar antes de arrancar el título por defecto.
timeout 30
# Una bella, hermosa imagen para ensalzar las cosas un poco :)
# Coméntela si no tiene una tarjeta gráfica instalada 
splashimage=(hd0,1)/boot/grub/splash.xpm.gz

title Gentoo Linux ${kernel-version}
# Partición donde se encuentra la imagen del núcleo (o sistema operativo)
root (hd0,1)
kernel /boot/${kernel-name} root=/dev/sda4

title Gentoo Linux ${kernel-version} (rescate)
# Partición dónde se encuentra la imagen del núcleo (o sistema operativo)
root (hd0,1)
kernel /boot/${kernel-name} root=/dev/sda4 init=/bin/bb

# Las siguientes cuatro líneas solo se usan en caso de arranque dual con un sistema Windows.
# En este caso, Windows reside en la partición /dev/sda6.
title Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Cuando construya el núcleo Linux, si opta por incluir un initramfs desde el cual iniciar, entonces tendrá que cambiar la configuración haciendo referencia a este fichero initramfs e indicándole donde se encuentra su sistema de ficheros raíz en:

Listado de Código 1.1: Fragmento de GRUB para construcciones de núcleo con initramfs habilitado

title Gentoo Linux ${kernel-version}
root (hd0,1)
kernel /boot/${kernel-version} real_root=/dev/sda4
initrd /boot/${genkernel-initrd}

Si se utiliza un esquema de particiones y/o imagen de núcleo distinta, haga los ajustes respectivos. Sin embargo, asegúrese que cualquier cosa que siga un dispositivo GRUB (tal como (hd0,1)) sea relativa al punto de montaje y no de la raíz. En otras palabras, (hd0,1)/grub/splash.xpm.gz es en realidad /boot/grub/splash.xpm.gz ya que (hd0,1) es /boot.

Además, si se eligió utilizar un esquema de particionamiento diferente y no colocó /boot en una partición separada, el prefijo /boot empleado en los ejemplos anteriores, es realmente necesario. Si ha seguido el plan de particionamiento sugerido, el prefijo /boot no es obligatorio, un enlace simbólico /bootlo hace funcionar. En resumen, los ejemplos anteriores deberían funcionar si ha definido una partición separada para /boot o no.

Si necesita pasar algún parámetro adicional al núcleo, sencillamente agréguelo al final de la línea de comandos del núcleo. Ya estamos pasando una opción (root=/dev/sda4 o real_root=/dev/sda4), pero se pueden pasar otras también, como el parámetro video del que hablamos previamente.

Si su archivo de configuración del gestor de arranque contiene el parámetro real_root, use el parámetro real_rootflags para establecer las opciones de montaje del sistema de archivos raíz.

Si está utilizando un núcleo 2.6.7 o superior y ha puenteado su disco duro porque la BIOS no puede manejar discos duros grandes, necesitará añadir sda=stroke.

Los usuarios de genkernel deben saber que sus núcleos usan las mismas opciones de arranque que el CD de instalación. Por ejemplo, si tiene dispositivos scsi, debería agregar el parámetro doscsi al núcleo.

Ahora grabe el archivo grub.conf y salga. Aún necesita instalar GRUB en el MBR (Master Boot Record) para que GRUB se ejecute automáticamente cuando arranque su sistema.

Los desarrolladores de GRUB recomiendan utilizar grub-install. Sin embargo, si por alguna razón grub-install no funciona correctamente todavía tiene la opción de instalar GRUB manualmente.

Continúe con Predeterminado: Configurando GRUB utilizando grub-install o Alternativa: Configurando GRUB a mano, utilizando instrucciones.

Predeterminado: Configurar GRUB mediante grub-install

Para instalar GRUB necesita ejecutar la orden grub-install. Sin embargo grub-install no funcionará tal cual se instala, ya que estamos dentro de un entorno chroot. Antes de seguir, necesitará actualizar /etc/mtab, el cual contiene la información relativa a todos los sistemas de archivos montados. Afortunadamente hay una manera sencilla de realizar esto, simplemente copie /proc/mounts a /etc/mtab, excluyendo la línea rootfs si no ha creado una partición separada para boot. La siguiente orden funcionará en ambos casos:

Listado de Código 1.1: Crear /etc/mtab

# grep -v rootfs /proc/mounts > /etc/mtab

Cuando se utilicen discos virtio Linux, necesitaremos indicarle a grub donde puede encontrar los discos, de lo contrario la orden grub-install fallará. Para evitar esto, se puede añadir la definición del dispositivo al fichero device.map:

Listado de Código 1.1: Añadir el disco virtio a la tabla de mapas de dispositivos

# echo "(hd0)       /dev/vda" >> /boot/grub/device.map

Ahora podemos instalar GRUB mediante grub-install:

Listado de Código 1.1: Ejecutar grub-install

# grub-install --no-floppy /dev/sda

Si tiene alguna pregunta más acerca de GRUB, por favor consulte el FAQ de GRUB , la Wiki de GRUB, o lea info grub en su terminal (estos documentos están en inglés).

Continué con Reiniciar el sistema.

Alternativa: Configurar GRUB a mano, mediante instrucciones

Para comenzar a configurar GRUB, debe ejecutar las órdenes dentro de grub. Se le presentará el intérprete de comandos propio de grub grub>. Ahora necesita ejecutar las órdenes necesarias para instalar el registro de arranque de GRUB en su disco duro.

Listado de Código 1.1: Iniciar el intérprete de comandos de GRUB

# grub --no-floppy

Nota: Si su sistema no tiene ningún dispositivo de disquetes, añada la opción --no-floppy a la orden anterior para evitar que grub pruebe los dispositivos (no existentes) de disquetes.

En el ejemplo de configuración queremos instalar GRUB para que lea la información de la partición de arranque ${/boot}, e instala el registro de arranque de GRUB en el MBR (Master boot Record) de su disco duro para que lo primero que veamos aparecer al encender el ordenador sea GRUB. Por supuesto, si no ha seguido el ejemplo de configuración durante la instalación, cambie las órdenes de acuerdo a su modelo:

El mecanismo de completar órdenes con la tecla tabulador puede utilizarse dentro de GRUB. Por ejemplo, si escribe "root (" seguido de una tabulación, notará que se le presenta una lista de dispositivos (como pueda ser hd0). Si tecleamos "root (hd0," seguido de una tabulación recibiremos una lista de particiones disponibles para elegir (como pueda ser hd0,1).

Mediante el uso de este mecanismo para completar por tabulación, configurar GRUB no debería resultar tan duro. Ahora vamos a por ello, ¡Configuremos GRUB!.

Listado de Código 1.1: Instalar GRUB en el MBR

grub> root (hd0,1)          (Especifique donde tiene su partición /boot)
grub> setup (hd0)           (Instalamos GRUB en el MBR)
grub> quit                  (Salimos del intérprete de comandos de GRUB)

Nota: Si quiere instalar GRUB en una partición concreta en lugar del MBR, debe modificar la orden setup para que apunte a la partición correcta. Por ejemplo, si quiere que GRUB se instale en /dev/sda4, la orden adecuada sería setup (hd0,3). Sin embargo, pocos usuarios querrán hacer esto.

Si tiene alguna pregunta más acerca de GRUB, por favor consulte el FAQ de GRUB , la Wiki de GRUB, o lea info grub en su terminal (estos documentos están en inglés).

Continúe con Reiniciar el sistema.

1.  Reiniciar el sistema

Salga del entorno chroot y desmonte todas las particiones que continúen montadas. Luego escriba la orden mágica que estaba esperando: reboot.

Listado de Código 1.1: Desmontar todas las particiones y reiniciar

# exit
cdimage ~# cd
cdimage ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
cdimage ~# umount /mnt/gentoo{/boot,/sys,/proc,}
cdimage ~# reboot

Por supuesto, no olvide quitar el CD arrancable, o el CD será arrancado de nuevo en lugar de su nuevo sistema Gentoo.

Una vez que haya reiniciado su instalación de Gentoo, termínela con (Finalizar su instalación de Gentoo).

Página actualizada 17 de agosto, 2014

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.