Gentoo Logo

Renuncia de responsabilidad: Este manual ha sido sustituido por una versión más reciente y no tendrá soporte de aquí en adelante.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


10. Configurando el gestor de arranque

Contenido:

10.a. Realizando su elección

Introducción

Ahora que su kernel 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 kernel cuando arranque el sistema. Este programa es conocido como gestor de arranque. Para x86, Gentoo dispone de GRUB y LILO. Pero antes de instalar uno de los dos gestores de arranque, le informaremos sobre como configurar la memoria de imagen (framebuffer) , siempre que usted quiera, claro. Con la memoria de imagen puede ejecutar la línea de comandos de Linux con algunas características gráficas (limitadas) como, por ejemplo, el empleo de un bonita imagen de Gentoo durante el inicio (bootsplash)

Opcional: Memoria de imagen (Framebuffer)

Si ha configurado su kernel con soporte framebuffer (o ha utilizado la configuración predeterminada de genkernel) puede activarlo añadiendo el parámetro vga y/o video al archivo de configuración del gestor de inicio.

Lo primero que necesita es conocer que tipo de dispositivo de framebuffer está utilizando. Si está utilizando un kernel parcheado por Gentoo (como puede ser gentoo-sources) tiene la posibilidad de seleccionar vesafb-tng como tipo de controlador para vesa (VESA driver type), éste viene predeterminado en las fuentes del kernel. Si este es su caso, está utilizando vesafb-tng y no necesita el parámetro vga. Si no es así, está utilizando el controlador vesafb y necesita el parámetro vga.

El parámetro vga controla la resolución y la profundidad de color de su framebuffer utilizando vesafb. Como se indica en /usr/src/linux/Documentation/fb/vesafb.txt (el cual se instala cuando instalas un paquete con las fuentes del kernel) necesita pasar el número VESA correspondiente con la resolución y profundidad de color que quiera.

La siguiente lista muestra las resoluciones y profundidad de color disponibles y su correspondiente valor para el parámetro vga.

640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31A
16M 0x312 0x315 0x318 0x31B

El parámetro video controla las opciones de visualización. Necesita que se le indique el controlador de framebuffer (vesafb para kernels 2.6, o vesa para kernels 2.4) seguido de los parámetro de control que quiera activar. Todas las variables se pueden encontrar en /usr/src/linux/Documentation/fb/vesafb.txt, pero aquí le informamos sobre las más utilizadas:

Control Descripción
ywrap Asume que su tarjeta gráfica puede volver sobre su memoria. (e.j. continuar al principio cuando se aproxima al final)
mtrr Configura los registros MTRR
mode (solamente vesafb-tng)
Configura la resolución, la profundidad de color y la tasa de refresco. Por ejemplo, 1024x768-32@85 para una resolución de 1024x768, profundidad de color 32 bit y una tasa de refresco de 85 Hz.

El resultado de estas dos configuraciones podría ser algo como: vga=0x318 video=vesafb:mtrr,ywrap o video=vesafb:mtrr,ywrap,1024x768-32@85. Recuerde (o anote) está configuración. La necesitará dentro de poco.

Ahora continué con la instalación de GRUB o LILO.

10.b. Por defecto: Usando GRUB

Comprendiendo 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/hda1 es denominada (hd0,0) por GRUB. Note los paréntesis alrededor de hd0,0, 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, sólo 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 la BIOSs está configurada para arrancar desde los dispositivos scsi). Cuando se le indica a la BIOS que arranque desde un disco duro diferente (por ejemplo el esclavo primario), ese disco será marcado como hd0.

Asumiendo que tiene un disco duro en /dev/hda, un lector de cdrom en /dev/hdb, una grabadora en /dev/hdc, un segundo disco duro en /dev/hdd y ningún disco duro scsi, la partición /dev/hdd7 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.

Instalando GRUB

Para instalar GRUB, primero lo instalamos con emerge:

Listado de Código 2.1: Instalando GRUB

# emerge grub

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 kernel recién creado. Cree el archivo /boot/grub/grub.conf con nano, o cualquier otro editor:

Listado de Código 2.2: Creando el archivo /boot/grub/grub.conf

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

Ahora vamos a escribir el grub.conf. A continuación encontrará dos posibles archivos grub.conf para el ejemplo de particiones que manejamos en esta guía. Sólo hemos comentado exhaustivamente el primer grub.conf. Asegúrese de utilizar el nombre de su archivo de imagen del kernel y, si es necesario, el nombre de su imagen initrd.

  • El primer grub.conf es para quienes no hayan usado genkernel para construir su kernel
  • El segundo grub.conf es para quienes hayan utilizado genkernel para construir su kernel.

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

Listado de Código 2.3: grub.conf para quienes no hayan usado genkernel

# Cual 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,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
# Partición donde se encuentra la imagen del kernel (o sistema operativo)
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3

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

Listado de Código 2.4: grub.conf para usuarios del genkernel

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10
# Solo en caso de arranque dual
title=Windows XP
root (hd0,5)
makeactive
chainloader +1

Si se utiliza un esquema de particiones y/o imagen de kernel distinta, haga los ajustes respectivos. Sin embargo, asegúrese que cualquier cosa que siga un dispositivo GRUB (tal como (hd0,0)) sea relativa al punto de montaje y no de la raíz. En otras palabras, (hd0,0)/grub/splash.xpm.gz es en realidad /boot/grub/splash.xpm.gz ya que (hd0,0) 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 kernel, sencillamente agréguelo al final de la línea de comando del kernel. Ya estamos pasando una opción (root=/dev/hda3 o real_root=/dev/hda3), pero se pueden pasar otras también. Cómo por ejemplo video y/o vga para el framebuffer discutido previamente:

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

Los usuarios de genkernel deben saber que sus kernels 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 kernel.

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.

Continué con Por defecto: Configurando GRUB utilizando grub-install o Alternativa: Configurando GRUB a mano, utilizando instrucciones.

Por defecto: Configurando GRUB utilizando grub-install

Para instalar GRUB necesita ejecutar el comando 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. El siguiente comando fucionará en ambos casos:

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

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

Ahora podemos instalar GRUB utilizando grub-install:

Listado de Código 2.6: Ejecutando grub-install

# grub-install /dev/hda

Si tiene alguna pregunta más acerca de GRUB, por favor consulte el FAQ de GRUB (en inglés) o el Manual de GRUB (en inglés).

Continué con Reiniciando el sistema.

Alternativa: Configurando GRUB a mano, utilizando instrucciones

Para comenzar a configurar GRUB, debe ejecutar los comandos dentro de grub. Conocerá a grub> intérprete de comandos propio de grub. Ahora necesita ejecutar los comandos necesarios para instalar el registro de arranque de GRUB en su disco duro.

Listado de Código 2.7: Iniciando el intérprete de comandos de GRUB

# grub

Nota: Si su sistema no tiene ningún dispositivo de disquetes, añada la opción --no-floppy al comando 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 /dev/hda1, 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 los comandos de acuerdo a su modelo:

El mecanismo de completar comandos por tabulación de GRUB 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,0).

Utilizando este mecanismo de completar por tabulación, configurar GRUB no debería resultar tan duro. Ahora vamos a por ello, configuremos GRUB!.

Listado de Código 2.8: Instalando GRUB en el MBR

grub> root (hd0,0)          (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 el comando setup para que apunte a la partición correcta. Por ejemplo, si quiere que GRUB se instale en /dev/hda3, el comando adecuado sería setup (hd0,2). Sin embargo, pocos usuarios querrán hacer esto.

Si tiene alguna pregunta más acerca de GRUB, por favor consulte el FAQ de GRUB o el Manual de GRUB.

Nota: Cuando reinstale un kernel, no necesita copiar los archivos. Simplemente ejecute make install después de compilar el núcleo; automáticamente se copiarán los archivos necesarios y se ajustará la configuración de GRUB.

Continué con Reiniciando el sistema.

10.c. Alternativa: Utilizando LILO

Instalando 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 3.1: Instalando LILO

# emerge lilo

Configurando 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 3.2: Creando /etc/lilo.conf

# nano -w /etc/lilo.conf

Algunas secciones atrás, le pedimos que se acordara del nombre de la imagen del kernel creado. En el siguiente ejemplo de lilo.conf haremos uso del esquema ejemplo de particionamiento. Hay dos partes separadas:

  • Para los que no hayan usado genkernel para construir su kernel
  • Para los que hayan usado un genkernel para construir su kernel

Asegúrese de utilizar el nombre de su archivo de imagen del kernel 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 3.3: Ejemplo de /etc/lilo.conf

boot=/dev/hda            # 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"  

# Para los que no usaron genkernel
image=/boot/kernel-2.6.12-gentoo-r10
 label=gentoo            # El nombre de la sección
 read-only               # Comience con la raíz solo lectura. ¡No modifique!
  root=/dev/hda3         # Ubicación del sistema raíz de archivos

# Para usuarios de genkernel
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

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

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

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

Listado de Código 3.4: Usando append para agregar opciones al kernel

image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/hda3
  append="vga=788"

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

Usuarios de genkernel deben saber que sus kernel 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 kernel.

Ahora, salve el archivo y salga del editor. Para terminar, debe ejecutar el comando /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 kernel o haga cambios en el menú.

Listado de Código 3.5: Terminando la instalación de LILO

# /sbin/lilo

Nota: Cuando reinstale un kernel, ya no necesitará sobreescribir los archivos. Simplemente, ejecute make install después de compilar el kernel; automáticamente copiará los archivos necesarios y ajustará la configuración de LILO.

Ahora puede continuar con Reiniciando el Sistema.

10.d. Reiniciando el Sistema

Salga del entorno chroot y desmonte todas las particiones que continúen montadas. Después podemos ejecutar el mágico comando que hemos estado esperando: reboot.

Listado de Código 4.1: Desmontando todas las particiones y reiniciando

# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
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 Finalizando su instalación de Gentoo.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 13 de octubre, 2005

Esta traducción ha dejado de tener soporte

Sumario: Existen varios gestores de arranque para la arquitectura x86. Cada uno tiene su propia configuración. Procederemos paso a paso al configurar el gestor de arranque según sus necesidades.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desarrollador Gentoo x86

Tavis Ormandy
Desarrollador Gentoo Alpha

Jason Huebel
Desarrollador Gentoo AMD64

Guy Martin
Desarrollador Gentoo HPPA

Pieter Van den Abeele
Desarrollador Gentoo PPC

Joe Kallar
Desarrollador Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Contribuidor

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Donate to support our development efforts.

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