Gentoo Logo

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


10. Configurar el gestor de arranque

Contenido:

10.a. Realizando su elección

Introducción

Ahora que su núcleo está configurado y compilado y los archivos de configuración del sistema han sido completados correctamente, es hora de instalar un programa que iniciará el núcleo al iniciar el sistema. Este programa se llama gestor de arranque.

El gestor de arranque que utilizará dependerá del tipo de sistema PPC del que disponga.

Si usa una máquina IBM o Apple NewWorld, necesita yaboot. Las máquinas Apple OldWorld tienen dos opciones, BootX (recomendado) y quik. Las Pegasos no requieren gestor de arranque, pero debemos instalar bootcreator para crear un menú de inicio SmartFirmware.

10.b. Predeterminado: Usando Yaboot

Introducción

Importante: ¡yaboot sólo puede usarse en sistemas NewWorld Apple o IBM!

Para encontrar los dispositivos de arranque yaboot necesita acceder a los nodos de dispositivo creados por udev durante el arranque y al sistema de ficheros sysfs. Esos dos sistemas de ficheros se encuentran respectivamente en /dev y /sys. Para hacer esto, necesitaremos re-montar con bind esos sistemas de ficheros en el directorio root del CD de instalación a los puntos de montaje /dev y /sys dentro del entorno de chroot. Si ya lo hemos hecho no es necesario volver a hacerlo.

Listado de Código 2.1: Re-montando con bind los archivos de dispositivos y sysfs

# exit  # para salir del chroot
# mount --rbind /dev /mnt/gentoo/dev
# mount --rbind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile 

Para configurar yaboot, puede usar yabootconfig para crear automáticamente el fichero de configuración. Si está instalando Gentoo en un G5 (donde yabootconfig no siempre funciona), o pensamos arrancar desde FireWire o USB, debemos configurarlo manualmente.

Nota: Necesitará editar manualmente el fichero yaboot.conf al usar genkernel, incluso habiendo utilizado yabootconfig. La sección de la imagen del núcleo de yaboot.conf debe modificarse así (usando vmlinux e initrd como nombres del núcleo y de la imagen initrd):

Listado de Código 2.2: Añadiendo los argumentos de genkernel a yaboot.conf


###########################################################
## Esta sección se puede duplicar si tenemos más de un
## núcleo o conjunto de opciones de arranque - reemplazaremos la imagen
## y el initrd con el nombre exacto del fichero del núcleo
## y de la imagen initrd.
###########################################################

image=/boot/kernel-genkernel-ppc-3.4.9-gentoo
 label=Linux
 root=/dev/ram0
 partition=3
 initrd=/boot/initramfs-genkernel-ppc-3.4.9-gentoo
 
 # Podemos añadir argumentos adicionales al núcleo como por ejemplo
 # rootdelay=10 para un arranque USB/Firewire
 
 append="real_root=/dev/sda3"
 read-only
 ##########################################################

Por defecto: Usando yabootconfig

yabootconfig autodetectará las particiones en nuestra máquina y configurará un arranque múltiple con Linux, Mac OS y Mac OS X.

Para usar yabootconfig, el disco debe tener una partición Apple_Bootstrap, y /etc/fstab debe estar configurado reflejando nuestras particiones Linux (notemos que la partición Bootstrap no debe estar en el fstab). Estos pasos deben haberse satisfecho ya anteriormente, pero deberíamos revisar /etc/fstab antes de continuar. Ahora, instalaremos yaboot.

Listado de Código 2.3: Instalando yaboot

# emerge yaboot

Ahora salgamos del chroot y ejecutemos yabootconfig --chroot /mnt/gentoo. Primero, el programa pedirá confirmación de la ubicación de la partición de bootstrap. Si usaste el esquema de particionamiento sugerido, la partición de arranque debería ser /dev/sda2. Pulsaremos Y si es correcto. Si no, comprobaremos nuestro /etc/fstab. yabootconfig revisará entonces la configuración del sistema, creará /etc/yaboot.conf y ejecutará mkofboot. mkofboot se usa para formatear la partición Apple_Bootstrap e instalar allí el fichero de configuración de yaboot. Después de esto, entremos al chroot nuevamente.

Listado de Código 2.4: Entrar de nuevo al chroot

# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile

Debemos verificar el contenido de /etc/yaboot.conf. Si lo modificamos (por ejemplo, para indicar el sistema operativo predeterminado) debemos asegurarnos de volver a ejecutar ybin -v para aplicar los cambios en la partición Apple_Bootstrap. Cada vez que realicemos un cambio en yaboot.conf, como cuando probamos un nuevo núcleo, debemos recordar siempre ejecutar ybin -v para actualizar la partición de bootstrap.

Ahora continúe con Reiniciando el Sistema.

Alternativa: Configuración manual de yaboot

Primero, instale yaboot en su sistema:

Listado de Código 2.5: Instalando yaboot

# emerge yaboot

Un fichero ejemplo yaboot.conf se incluye abajo, sin embargo, necesitará modificarlo para que se ajuste a sus necesidades.

Listado de Código 2.6: /etc/yaboot.conf


## /etc/yaboot.conf
##
## Más detalles en "man yaboot.conf". ¡No se deben hacer cambios
## hasta haber consultado el manual!
## Hay más ejemplos de configuración en /usr/share/doc/yaboot/examples.
##
## En un menú de arranque dual, se añadirían una o más de las
## siguientes opciones:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

## La partición de bootstrap:


boot=/dev/sda2


## ofboot es la forma Open Firmware para especificar la partición de arranque.
## Si no está definido, yaboot falla en los G5 y algunos G4 (a menos que
## se pasen los parámetros necesarios al programa mkofboot/ybin program).
## hd:X significa /dev/sdaX (o /dev/hdaX).
##
## ¡¡Los usuarios de G5 deben descomentar esta línea!!

#ofboot=hd:2

## Los que arranquen desde firewire tener algo como:
# ofboot=fw/node/sbp-2/disk@0:

## Los que arranquen desde USB deben tener algo como::
# ofboot=usb/disk@0:

## hd: es la abreviatura del primer disco duro que ve Open Firmware

device=hd:


## Los usuarios de Firewire y USB deberán especificar el nombre entero
## del dispositivo OF.
## Se puede encontrar usando ofpath, incluido con yaboot.

# device=fw/node@0001d200e00d0207/sbp-2@c000/disk@0:


delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot


############################################################
## Esta sección puede duplicarse si tiene más de un núcleo o
## conjunto de opciones de arranque - reemplazaremos la variable
## imagen con el nombre exacto de nuestro núcleo.
###########################################################

image=/boot/kernel-3.4.9-gentoo
  label=Linux
  root=/dev/sda3
  partition=3
  
  #  append="rootdelay=10"  # Necesario para arrancar desde USB/Firewire
  
  read-only

##################
## Los usuarios de G5 y algunos de G4 deben indicar
##   macos=hd:13/
##   macosx=hd:12
## en lugar de los valores de ejemplo.

macos=/dev/sda13
macosx=/dev/sda12
enablecdboot
enableofboot

Una vez que yaboot.conf esté configurado, ejecutaremos mkofboot -v para formatear la partición Apple_bootstrap e instalar las configuraciones. Si cambiamos yaboot.conf después de que la partición Apple_bootstrap haya sido creada, se debe actualizar la configuración ejecutando ybin -v.

Listado de Código 2.7: Configurando la partición de bootstrap

# mkofboot -v

Para más información acerca de yaboot, de un vistazo a yaboot project. Ahora continuaremos la instalación con Reiniciando el sistema.

10.c. Alternativa: BootX

Importante: ¡BootX sólo puede usarse en sistemas Apple e IBM OldWorld con MacOS 9 o una versión anterior!

Debido a que BootX arranca Linux después de MacOS, el núcleo necesitará ser copiado desde la partición Linux a la partición MacOS. Primero montaremos la partición MacOS fuera del chroot. Usaremos mac-fdisk -l para encontrar el número de la partición MacOS, que en el ejemplo siguiente será sda6. Una vez que la partición esté montada, copiaremos el núcleo en la carpeta del sistema donde BootX pueda encontrarlo.

Listado de Código 3.1: Copiando el núcleo a la partición MacOS

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/usr/src/linux/vmlinux "/mnt/mac/System Folder/Linux Kernels/kernel-3.4.9-gentoo"

Si se usa genkernel, debe copiar tanto el núcleo como el initrd en la partición MacOS.

Listado de Código 3.2: Copiando el núcleo de genkernel y el initrd a la partición MacOS

# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-genkernel-ppc-3.4.9-gentoo "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initramfs-genkernel-ppc-3.4.9-gentoo "/mnt/mac/System Folder"

Ahora que el núcleo ha sido copiado, necesitaremos reiniciar para configurar BootX.

Listado de Código 3.3: Desmontando las particiones y reiniciando

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

Desde luego, no olvidemos extraer el CD arrancable, de otra manera el sistema volverá a iniciarse desde el CD.

Una vez que la máquina ha arrancado en MacOS, abre el panel de control de BootX. Si no estamos usando genkernel seleccionaremos Options, desactivando Use specified RAM disk. Usando genkernel, nos aseguraremos que el initrd de genkernel está seleccionado en lugar del initrd del CD de instalación. Si no se usa genkernel, hay una opción para especificar el disco y la partición raíz de Linux. La rellenaremos con los valores apropiados. Dependiendo de la configuración del núcleo probablemente deberemos aplicar algunos parámetros adicionales de inicio del núcleo.

BootX puede ser configurado para arrancar Linux tras el inicio. Si hace esto, primero verá que su máquina se inicia en MacOS y luego, durante el proceso de arranque, BootX se cargará e iniciará Linux. Hay más información disponible en la página web de Boot X.

Importante: Debemos asegurarnos de tener soporte para los sistemas de fichero HFS y HFS+ en el núcleo, en caso contrario, no podremos actualizar o cambiar el núcleo en la partición MacOS.

Ahora reiniciaremos otra vez cargando Linux, y luego continuaremos con Finalizando la instalación de Gentoo.

10.d. Alternativa: quik

quik permite a los Macs OldWorld arrancar sin MacOS. Sin embargo, no está bien soportado y tiene algunas peculiaridades. Si puede, es recomendable usar BootX en su lugar, por ser mucho más confiable y fácil de configurar que quik.

Primero, debemos instalar quik:

Listado de Código 4.1: Haciendo emerge de quik

# emerge quik

A continuación, necesitaremos configurarlo. Editaremos /etc/quik.conf e indicaremos la imagen del núcleo que hemos copiado en la partición de arranque.

Listado de Código 4.2: Configurando quik.conf

# Ejemplo de quik.conf
init-message = "Gentoo Linux\n"

# Esta es la partición de boot

partition = 2
root = /dev/sda4
timeout = 30
default = gentoo

# Este es su núcleo

image = /kernel-3.4.9-gentoo
  label = gentoo

El fichero quik.conf debe estar en el mismo disco que las imágenes de arranque quik, sin embargo puede estar en una partición diferente del mismo disco, aunque es recomendable tenerlo en la partición de arranque.

Listado de Código 4.3: Moviendo quik.conf a /boot

# mv /etc/quik.conf /boot/quik.conf

Necesitaremos ahora indicar las variables de arranque que cargará quik al inicio. Para hacerlo, usaremos un programa llamado nvsetenv. Las variables que hay que configurar cambian de una máquina a otra, por lo que es mejor buscar primero nuestra máquina en quirks antes de intentar esto.

Listado de Código 4.4: Configurando las variables de arranque

# nvsetenv auto-boot true

# Establezca a false si quiere arrancar en OF, no todos los modelos muestran los mensajes de OF

# nvsetenv output-device video

# Mire la página de quirks, hay algunas variantes posibles

# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0 # Para SCSI
# nvsetenv boot-device ata/ata-disk@0:0 # Para ATA
# nvsetenv boot-file /boot/kernel-3.4.9-gentoo root=/dev/hda4

# El primer ítem es la ruta al núcleo, el segundo es la partición raíz.
# Se pueden añadir las opciones del núcleo al final de esta línea.

# nvsetenv boot-command boot

# Establezca esta opción para arrancar desde Linux en vez de MacOS

Nota: También es posible cambiar las variables de arranque desde MacOS. Dependiendo del modelo, tanto bootvars o Apple System Disk pueden usarse. Por favor, busque más> información en la página de quik en quirks.

Ahora que hemos configurado la máquina para el arranque, necesitaremos asegurarnos que las imágenes de arranque están correctamente instaladas. Ejecutaremos quik -v -C /boot/quik.conf. Nos deberá decir que ha instalado el primer "stage QUIK boot block".

Nota: Si algo no ha ido bien, siempre se puede inicializar la PRAM con los valores por defecto pulsando command + option + p + r antes de apagar la máquina. Esto borra los valores establecidos con nvsetenv y debería permitir arrancar tanto con un disco de inicio MacOS como un disco de inicio Linux.

Ahora, seguiremos con Reiniciando el sistema.

10.e. Alternativa: BootCreator

Importante: BootCreator creará un bonito menú de arranque SmartFirmware escrito en Forth para el Pegasos.

Primero nos aseguraremos de tener bootcreator instalado en el sistema:

Listado de Código 5.1: Instalando bootcreator

# emerge bootcreator

Ahora copiaremos el fichero /etc/bootmenu.example en /etc/bootmenu y lo editaremos convenientemente:

Listado de Código 5.2: Editando el fichero de configuración de bootcreator

# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu

A continuación se encuentra un completo fichero de configuración /etc/bootmenu. vmlinux e initrd deben cambiarse por los nombres de núcleo e imagen initrd que estemos utilizando.

Listado de Código 5.3: Fichero de configuración de bootcreator


#
# Ejemplo de fichero de configuración para bootcreator 1.1
#


[VERSION]
1

[TITLE]
Boot Menu

[SETTINGS]
AbortOnKey = false
Timeout    = 9
Default    = 1

[SECTION]
Local HD -> Morphos      (Normal)
ide:0 boot2.img ramdebug edebugflags="logkprintf"

[SECTION]
Local HD -> Linux (Normal)
ide:0 kernel-3.4.9-gentoo video=radeonfb:1024x768@70 root=/dev/sda3

[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernel-genkernel-ppc-3.4.9-gentoo root=/dev/ram0 real_root=/dev/sda3 initramfs-genkernel-ppc-3.4.9-gentoo

Finalmente el bootmenu debe transferirse a Forth y copiarse a la partición de inicio para que SmartFirmware pueda leerlo. Sin embargo, deberemos llamar a bootcreator:

Listado de Código 5.4: Instalando el bootmenu

# bootcreator /etc/bootmenu /boot/menu

Nota: Durante el siguiente reinicio nos aseguraremos de revisar en la configuración de SmartFirmware que menu es el fichero que se cargará por defecto.

Por el momento, continuaremos con la instalación en Reiniciando el sistema.

10.f. Reiniciando el sistema

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

Listado de Código 6.1: Saliendo del chroot, desmontando todas las particiones y reiniciando

# exit
livecd ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/sys /mnt/gentoo
livecd ~# reboot

Una vez que reiniciado y en nuestra nueva instalación de Gentoo, acabaremos con Finalizando su instalación de Gentoo.


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


Imprimir

Ver completo

Página actualizada 17 de agosto, 2014

Sumario: Existen diversos gestores de arranque. Cada uno tiene su propia forma de configuración. En este capítulo describiremos todas las posibilidades y lo llevaremos paso a paso a través del proceso de configuración de un gestor de arranque según sus necesidades.

Sven Vermeulen
Autor

Grant Goodyear
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

Lars Weiler
Editor

Jochen Maes
Editor

Xavier Neys
Editor

Joseph Jezak
Editor

Joshua Saddler
Editor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

John Christian Stoddart
Traductor

José Luis Rivero
Traductor

Carles Ferrer Peris
Traductor

Sebastián Magrí
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

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