Bonjour,
La cause est probablement un bug dans le yaboot installer PPC quand on utilise des volumes logiques. Le fichier yaboot.conf construit pas l'installer DEBIAN (pendant l'installation) est incorrect. A mon avis, il y a AUSSI un problème avec ybin, mais il est peut-être seulement lié à la désignation de la partition de boot.
Voilà les éléments qui permettent de rectifier la situation et de retrouver sa machine déjà installée.
A// Ce qu'il FAUT obtenir
A.1 les partitions à la mode OpenFirmware Apple, avec les bons types.
/dev/sda
# type name length base ( size ) system
/dev/sda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/sda2 Apple_Bootstrap Apple_Bootstrap 1954 @ 64 (977.0k) NewWorld bootblock
/dev/sda3 Apple_UNIX_SVR2 boot_sda 250001 @ 2018 (122.1M) Linux native
/dev/sda4 Linux_RAID raid_sda 159834509 @ 252019 ( 76.2G) Unknown
Commentaires.
* /dev/sda2 est la partition qui contiendra les fichiers relatifs à yaboot. Taille mini 800Ko. Normalement fabriquée correctement pendant l'installation, mais physiquement corrompue sur ma machine. Attention, ybin ne sait pas formater cette partition, et il faudra utiliser mkofboot.
* /dev/sda3 est la partition qui contiendra l'image du noyau linux (vmlinux + le initrd). C'est une partition EXT2 standard qui sera montée ensuite sous /boot. Elle n'est pas en RAID (raid logiciel sur ma machine), ni en LVM.
* /dev/sda4 est la partition RAID support au LVM. Les partitions /, /usr, /var, etc... sont dessus.
* vous pouvez avoir des variantes, bien entendu.
A.2 le fichier /etc/yaboot.conf
## yaboot.conf generated by debian-installer
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ
boot=/dev/sda2
ofboot=/ht@0,f2000000/pci@7/k2-sata-root@c/k2-sata@0/disk@0:2
partition=3
root=/dev/mapper/deb3vol0-root
timeout=50
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
image=/vmlinux
partition=3
label=Linux
read-only
initrd=/initrd.img
Commentaires
* boot=/dev/sda2. Vous pouvez vérifier sous OpenFirmware avec la commande devalias comment sont désignés les disques connus sur votre machine. Sur la mienne, /dev/sda2 ne l'était pas, ce qui rend nécessaire de préciser la partition de boot sous son format OpenFirmware (ofboot=...).
* partition=3. Cela indique quelle est la partition sur laquelle se trouve le noyau Linux (selon le plan ci-dessus).
* root=/dev/mapper/deb3vol0-root. Cela indique au noyau comment trouver la partition / une fois le système chargé. C'est ici que l'on remarque l'utilisation du mapper LVM. Cela implique évidemment que le mapper LVM fait partie de l'image du noyau Linux que vous chargez.
* install=/usr/lib/yaboot/yaboot
* magicboot=/usr/lib/yaboot/ofboot. Localisation de fichiers indispensables au fonctionnement de l'installeur yaboot, puis du boot de la machine.
* peu de variantes possibles, sauf la désignation de ofboot
B// Ce qu'il faut avoir : le package hfsutils
Ce package est normalement installé sur votre disque, mais il n'est pas dans l'image rescue64 du CD. Les fichiers utiles sont :
/usr/bin/hattrib
/usr/bin/hcd
/usr/bin/hcopy
/usr/bin/hdel
/usr/bin/hdir
/usr/bin/hformat
/usr/bin/hls
/usr/bin/hmkdir
/usr/bin/hmount
/usr/bin/hpwd
/usr/bin/hrename
/usr/bin/hrmdir
/usr/bin/humount
/usr/bin/hvol
C// Ce qu'il faut faire pour retrouver un boot fonctionnel.
C.1 reboot sur le CD, choisir rescue64 (si G5, rescue si G4 -- non testé)
C.2 suivre les premiers pas du rescue (langue, clavier, réseau, ....)
C.3 choisir de passer en mode rescue, puis d'avoir un terminal dans ce mode. La séquence de commandes suivante permet de reconstruire une partition de boot correcte. Le "!" introduit un commentaire si besoin. N'oubliez pas que dans ce mode, / désigne une partition en RAM chargée à partir d'une image Linux.
# mkdir mntusr ! point de montage pour la partition usr du disque
# mount /dev/mapper/deb3vol0-usr /mntusr ! comme cela, on dispose de hfsutils et yaboot
# mount /dev/mapper/deb3vol0-root /mnt ! la partition / du disque
# cd /mntusr/bin
# cp hattrib hcd hcopy hdel hdir hformat hls hmkdir hmount hrename hrmdir humount hvol /usr/bin ! copie des binaires hfsutils dans la RAM
# cp /mnt/bin/mktemp /bin ! mkofboot en aura besoin
# cd /mnt/etc
# nano yaboot.conf ! corriger le fichier pour qu'il ressemble autant que possible à celui indiqué plus haut.
# mkdir /usr/lib/yaboot ! pour que la localisation des fichiers indiqués soit correcte
# cp /mntusr/lib/yaboot/yaboot /mntusr/lib/yaboot/ofboot /usr/lib/yaboot ! pour que les fichiers existent
# /mntusr/sbin/mkofboot -o /ht@0,f2000000/pci@7/k2-sata-root@c/k2-sata@0/disk@0:2 -b /dev/sda2 -C yaboot.conf ! ......disk@0:2 désigne sda, partition n°2, c-à-d le boot. A adapter selon votre machine
Normalement, cette commande s'exécute sans erreur. Vous pouvez donc quitter le terminal par CTRL-D, puis quitter l'installer Debian en demandant un reboot, lequel devrait être fonctionnel.
D// Remarques
* La désignation des disques par OpenFirmware est logique, et ne porte que sur la fin de la chaîne.
* ybin ne fonctionne pas, et risque probablement de casser ce que vous avez péniblement refait avec mkofboot. Toute modification secondaire de yaboot.conf conduit à retaper la commande mkofboot ....
* Cette procédure s'est montrée fonctionnelle sur une machine préalablement installée, et tout à fait utilisable... jusqu'au reboot fatal. Elle ne fonctionnera pas sur une machine qui ne dispose pas des binaires hfsutils accessibles quelque part (mais USB... pourquoi pas ?).
Bon courage