10.102.1. Installation de Yaboot
Les distributions multilib existantes modifient gcc pour que ses
programmes sortent en 32 bits par défaut. Comme notre gcc utilise
64 bits par défaut, nous devons passer les options appropriées à la
fois au compilateur et à l'éditeur de lien. Pour éviter des échecs
de construction à cause d'avertissements du compilateur, le drapeau
-Werror est supprimé. Le Makefile remplace les CC et ignore les
LDFLAGS en faveur de ses propres variables, donc nous devons
utiliser les sed suivants pour compiler et installer correctement.
sed -i -e "s/\(-print-libgcc-file-name\)/${BUILD32} \1/" \
-e "s/-Werror//" \
-e "s/\(-Bstatic\)/-melf32ppclinux \1/" Makefile
Voici la signification des paramètres de
sed :
-
"s/\(-print-libgcc-file-name\)/${BUILD32}
\1/"
-
Cela choisi un emplacement approprié dans la variable lgcc du
Makefile et insère le drapeau pour forcer gcc à créer du code 32 bits
lors de la compilation de yaboot.
-
"s/-Werror//"
-
Cela supprime le drapeau -Werror du Makefile.
-
"s/\(-Bstatic\)/-melf32ppclinux
\1/"
-
Cela choisi la fin du LDFLAGS que le Makefile envoie à
l'éditeur de lien pour créer le chargeur en deuxième étape de
Linux, et insère un drapeau pour forcer ld à utiliser l'émulation
32 bits appropriée choisie depuis la sortie de ld -V.
Le correctif suivant ajoute les fonctions stubs pour les nouvelles
versions de e2fsprogs :
patch -Np1 -i ../yaboot-1.3.17-stubfuncs-1.patch
Le correctif suivant ajoute le support de Parted à
yabootconfig :
patch -Np1 -i ../yaboot-1.3.17-parted-1.patch
La page de manuel fournie parle de /usr/local
. Ce sed corrige cela :
sed -i 's%/usr/local%/usr%' man/*
Compilez le paquet :
CFLAGS="${BUILD32}" make PREFIX=/usr
Installez le paquet :
Important
L'installation multilib de yaboot peut échouer s'il vous manque
le moindre correctif ou sed, ou que vous oubliez la variable
CFLAGS. ld vous
avertira, mais l'installation aura l'air de s'être terminée
correctement. Cela pourrait résulter en un système impossible à
démarrer, donc vous devrez sauvegarder la sortie pour la
vérifier.
make PREFIX=/usr install 2>&1 | tee instlog
Pour vous assurer que l'installation est correcte, lancez la
commande suivante :
grep 'powerpc:common64' instlog
Si la commande vous a donné le moindre message (... est incompatible
avec la sortie powerpc:common) la construction de yaboot est cassée
et vous devrez corrigez vos erreurs et recommencer.