Votre tout nouveau système CLFS est presque terminé. L'une des dernières étapes est de vous assurer que vous pouvez démarrer. Les instructions ci-dessous ne s'appliquent qu'aux Macintoshs NewWorld.
Le démarrage est un domaine qui peut s'avérer complexe, donc quelques conseils de prudence s'imposent. Familiarisez-vous avec le chargeur d'amorçage actuel et tous les systèmes d'exploitation présents sur les disques qui devront être démarrables. Assurez-vous qu'un CD de secours est prêt à « réparer » l'ordinateur s'il devient impossible de le démarrer. C'est aussi une bonne idée d'activer le démarrage depuis Open Firmware s'il se passe quelque chose de vraiment mauvais.
Plus tôt, nous avons compilé et installé le chargeur d'amorçage yaboot en prévision de cette étape. La procédure consiste à écrire le bootloader sur une partition bootstrap et la rendre démarrable pour qu'Open Firmware démarre dessus. Tout est géré par la commande ybin, l'installateur de yaboot.
Ybin écrit une menu de sélection de l'OS facultatif dans l'Open
Firmware, puis écrit yaboot et son yaboot.conf
dans la partition de bootstrap,
l'active et met à jour le disque de démarrage dans la nvram. Au
démarrage, l'OF fournit le menu initial pour choisir entre Linux, un
CD et par exemple OSX (en fonction de ce qui se trouve dans
yaboot.conf
). Si vous démarrez
« Linux », yaboot est exécuté et vous laissera choisir le
noyau à utiliser.
Les images (noyaux) sont spécifiés, avec le chemin nécessaire, dans
yaboot.conf
— les détails sont inclus
dans le chargeur d'amorçage, mais rien n'est fait pour accéder ou
valider les chemin jusqu'à leur sélection. Il y a plusieurs options
possibles qui peuvent être spécifiées dans yaboot.conf
, regardez les pages de manuel pour plus
de détails. La plupart des gens pourront spécifier device=hd: (pour
un seul disque), mais si vous avez plus de disques, ou si vous êtes
pointilleux, vous pouvez spécifier le chemin OF complet vers le
disque, qu'on peut obtenir en lançant ofpath /dev/hdX.
Avec les informations ci-dessus, déterminez les désignations
appropriées pour la partition de bootstrap et la partition racine.
Dans l'exemple suivant, nous supposerons que la partition de
bootstrap est hda2
et que la partition
racine est hda7
. Nous supposerons aussi
que vous souhaitez démarrer un système OSX sur hda4
. Changez ces valeurs comme nécessaire pour
votre machine.
Si votre machine a un disque SATA, spécifiez les partition avec
/dev/sda7
etc, comme d'habitude.
Certaines distributions spécifient le chemin OF complet vers le
disque et les images, comme par exemple device=/ht@0,f2000000/pci@3/k2-sata-root@c/k2-sata@0/disk@0:
pour le disque et image=/ht@0,f2000000/pci@3/k2-sata-root@c/k2-sata@0/disk@0:9,/boot/clfskernel-4.9
ce qui fonctionne toujours.
Créez un fichier « yaboot.conf » pour définir le menu de démarrage de yaboot :
cat > /etc/yaboot.conf << "EOF"
# Begin /etc/yaboot.conf
# By default, yaboot will boot the first menu entry.
# Allow 10 seconds before booting the default.
# this will also apply to the first-stage os selector
timeout=100
# These variables are global
# first, where to put the bootstrap partition
boot=/dev/hda2
# Which disk to use
device=hd:
# Default partition for the kernel images
partition=7
# default root partition
root=/dev/hda7
# where ybin is to find yaboot and ofboot
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
# allow the initial menu to offer CD as an option
enablecdboot
# allow the initial menu to offer booting from Open Firmware
enableofboot
# allow the initial menu to boot from mac osx
macosx=/dev/hda4
# white on black is boring!
# note the spellings : 'fgcolor' but 'light'
# in this context, light means 'without high intensity'
fgcolor=light-green
# The first entry is for CLFS.
# For all images, the pathname is relative to the filesystem
# on which they are situated and can include at most one
# directory
image=/boot/clfskernel-4.9.21
label=GIT-20170803
read-only
EOF
Ajoutez une entrée pour la distribution hôte si vous en avez une.
Cela peut ressembler à cela si le noyau et l'initrd sont dans le
répertoire « / » sur hda6
:
cat >> /etc/yaboot.conf << "EOF"
title Debian
image=/pci@f4000000/ata-6d/disk@0:6,/vmlinux
label=Debian
initrd=/pci@f4000000/ata-6d/disk@0:6,/initrd.gz
initrd-size=10000
append="root=/dev/hda7"
read-only
EOF
La commande suivante mettra à jour la partition bootstrap et la variable de démarrage dans l'Open Firmware. Ne lancez pas la commande si ce n'est pas souhaitable.
ybin
Autrement, si la partition de bootstrap n'a pas déjà été initialisée, peut-être parce que vous utilisez un Live CD, vous devrez utiliser une autre commande pour installer le chargeur d'amorçage pour la première fois :
mkofboot