13.3. Rendre le système CLFS démarrable

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
[Avertissement]

Avertissement

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

Vous pourriez voir un message d'erreur référençant ioctl32 avec « Unknown cmd » et « /dev/nvram ». Cela ne semble pas causer de problème.

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