[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
10. Configurando el gestor de arranque
Contenido:
10.a. Elegir un gestor de arranque
Introducción
Ahora que su núcleo está configurado y compilado se necesita un gestor de
arranque, o bootloader, para poder iniciar su nueva instalación de linux.
El gestor de arranque que usaremos dependerá del tipo de máquina PPC de
que se trate.
Si está utilizando una máquina IBM o Apple NewWorld, necesita usar yaboot. Con las máquinas Apple OldWorld tenemos dos
opciones, BootX (recomendado) y
quik.
Las Pegasos no necesitan gestor de arranque, pero se necesita instalar BootCreator para crear un menú de inicio
SmartFirmware.
10.b. Por defecto: yaboot
Introducción
Importante:
¡yaboot sólo puede usarse en sistemas NewWorld Apple e IBM!
|
Para poder 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 hacer un "bind mount" de 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: Montar y enlazar los sistemas de ficheros de dispositivo y sysfs |
# exit # para salir del chroot
# mount -o bind /dev /mnt/gentoo/dev
# mount -o bind /sys /mnt/gentoo/sys
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Para configurar yaboot, puede usar yabootconfig para que se cree
automáticamente un fichero de configuración. Si estamos instalando Gentoo en
un G5 (donde yabootconfig no siempre funciona), o pensamos arrancar desde
firewire o USB, debemos configurarlo manualmente.
Nota:
Necesitaremos editar el fichero yaboot.conf si usamos genkernel, incluso
habiendo utilizado yabootconfig. La sección de la imagen del núcleo de
yaboot.conf deberá ser modificada así:
|
Listado de Código 2.2: Añadir opciones de arranque de genkernel a yaboot.conf |
image=/boot/kernel-2.6.15
label=Linux
root=/dev/ram0
partition=3
append="real_root=/dev/hda3 init=/linuxrc"
read-only
|
Por defecto: 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
para reflejar nuestras las particiones Linux. Estos pasos deberían
haberse hecho ya, pero no estaría de más volver a comprobar
/etc/fstab. Ahora nos aseguraremos de tener yaboot
instalado.
Listado de Código 2.3: Instalación de yaboot con GRP |
# emerge --usepkg yaboot
|
Ahora saldremos del chroot y ejecutaremos yabootconfig --chroot
/mnt/gentoo. Primero, el programa pedirá confirmación de la
ubicación de la partición de bootstrap. Si estamos utilizando el esquema
de particionamiento sugerido, la partición de arranque será /dev/hda2.
Pulsaremos Y si lo mostrado es correcto. Si no lo es, comprobaremos
nuestro /etc/fstab. yabootconfig revisará entonces la
configuración del sistema, creará /etc/yaboot.conf y
ejecutará mkofboot. mkofboot se utiliza para formatear la
partición Apple_Bootstrap, e instalar el fichero de configuración de
yaboot en ella. Después de esto, entraremos en el chroot nuevamente.
Listado de Código 2.4: Volver a entrar en el chroot |
# chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update && source /etc/profile
|
Puede que queramos verificar el contenido de /etc/yaboot.conf.
Si lo modificamos (por ejemplo para indicar el sistema operativo por
defecto) debemos asegurarnos de volver a ejecutar ybin -v para
aplicar los cambios en la partición Apple_Bootstrap.
Ahora, continuaremos en Reiniciando el sistema.
Alternativa: Configuración manual de yaboot
En primer lugar, nos aseguraremos que se ha instalado en el sistema
yaboot.
Listado de Código 2.5: Instalación de yaboot con GRP |
# emerge --usepkg yaboot
|
A continuación se encuentra un ejemplo del fichero yaboot.conf,
pero deberemos adaptarlo a nuestras necesidades. Los usuarios de un G5 y los
que arranquen de firewire o USB deben tener cuidado que sus discos sean
vistos como discos SCSI por el núcleo Linux, por lo que necesitaremos cambiar
/dev/hda por /dev/sda).
Listado de Código 2.6: /etc/yaboot.conf |
boot=/dev/hda2
device=hd:
delay=5
defaultos=macosx
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/boot/kernel-2.6.9
label=Linux
root=/dev/hda3
partition=3
read-only
macos=/dev/hda13
macosx=/dev/hda12
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 deberemos actualizar la configuración
ejecutando ybin -v.
Para más información a cerca de yaboot, se puede hojear yaboot
project. Ahora continuaremos la instalación con Reiniciando el sistema.
10.c. Alternativa: BootX
Importante:
¡BootX sólo puede usarse en sistemas Apple OldWorld con MacOS 9
o anterior!
|
Puesto 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: Copia del kernel en 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"
|
Si se usa genkernel, tanto el núcleo como el initrd deberán ser copiados en la
partición MacOS.
Listado de Código 3.2: Copia del kernel e initrd compilados con genkernel a la partición MacOS |
# exit
cdimage ~# mkdir /mnt/mac
cdimage ~# mount /dev/sda6 /mnt/mac -t hfs
cdimage ~# cp /mnt/gentoo/boot/kernel-* "/mnt/mac/System Folder/Linux Kernels"
cdimage ~# cp /mnt/gentoo/boot/initramfs-* "/mnt/mac/System Folder"
|
Ahora que el núcleo ha sido copiado, necesitaremos reiniciar para configurar
BootX.
Listado de Código 3.3: Desmontar todas las particiones y reiniciar |
cdimage ~# cd /
cdimage ~# umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo /mnt/mac
cdimage ~# reboot
|
Desde luego, no nos olvidemos de extraer el CD arrancable, en caso contrario
el CD volverá a iniciarse en lugar de MacOS.
Ahora que la máquina ha arrancado en MacOS, abriremos 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 en el inicio. Si queremos
hacer esto primero haremos arrancar la máquina en MacOS y después,
durante el arranque, se cargará BootX que a su vez iniciará Linux. Hay
más información disponible en
Boot X home page.
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 tiene opción, es recomendable
usar BootX en su lugar, porque es mucho más de fiar y fácil de configurar que
quik.
Primero, necesitamos instalar quik:
Listado de Código 4.1: Emerge 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: Configuración de quik.conf |
# Ejemplo de quik.conf
init-message = "Gentoo 2006.0\n"
partition = 2
root = /dev/hda4
timeout = 30
default = gentoo
image = /vmlinux-2.6.15
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, a pesar de lo cual es recomendable tenerlo en la partición de arranque.
Listado de Código 4.3: Mover 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
hacer esto.
Listado de Código 4.4: Indicar las variables de arranque |
# nvsetenv auto-boot true
# nvsetenv output-device video
# nvsetenv input-device kbd
# nvsetenv boot-device scsi/sd@1:0
# nvsetenv boot-device ata/ata-disk@0:0
# nvsetenv boot-file /boot/vmlinux-2.6.15 root=/dev/hda4
# nvsetenv boot-command boot
|
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.
|
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: Instalación de bootcreator |
# emerge --usepkg bootcreator
|
Ahora copiaremos el fichero /etc/bootmenu.example en
/etc/bootmenu y lo editaremos convenientemente:
Listado de Código 5.2: Edición del fichero de configuración de bootcreator |
# cp /etc/bootmenu.example /etc/bootmenu
# nano -w /etc/bootmenu
|
A continuación se encuentra un fichero de configuración completo de
/etc/bootmenu. Lo modificaremos convenientemente:
Listado de Código 5.3: fichero de configuración de bootcreator |
[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 2.6.15 (Normal)
ide:0 linux-2.6.15 video=radeonfb:1024x768@70 root=/dev/hda3
[SECTION]
Local HD -> Genkernel (Normal)
ide:0 kernelz-2.6.15 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc
|
Finalmente, el bootmenu debe transferirse a Forth y copiarse
a la partición de inicio para que SmartFirmware pueda leerlo. Para
ello deberemos llamar a bootcreator:
Listado de Código 5.4: Instalación de 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.
|
Ahora continuaremos con la instalación en Reiniciando el sistema.
10.f. Reiniciando el sistema
Saldremos del entorno chroot y desmontaremos todas las particiones. Luego
teclearemos el comando mágico que estabamos esperando: reboot.
Listado de Código 6.1: Desmontar todas las particiones y reiniciar |
# exit
livecd ~# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo
livecd ~# reboot
|
Una vez que se haya reiniciado nuestra instalación de Gentoo, acabaremos
con Finalizando la instalación de
Gentoo.
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|