Cette méthode est toujours d'actualité et en partie simplifiée par Chameleonv2. Le plus complexe et le moins automatisé consistera à personnaliser le dossier /Extra.
Qu'est-ce qu'une partition EFI ?
La partition EFI n'est présente que si le disque possède une table de partition GUID (voir GUID Vs MBR)
Quand vous formatez un disque en GUID dans l'Utilitaire de Disque, il crée une petite partition cachée de 200Mb en FAT32 nommée EFI. Cette partition sert à l'origine à stocker les drivers de l'EFI d'apple mais n'est plus utilisée...
Nous allons donc nous servir de cette partition pour y placer un EFI et les extensions nécessaire à un boot optimal. Nos Extensions seront donc à l'abris dans cette petite partition (reformatée en HFS+) de sorte que nous ne devrions plus craindre grand chose des mise à jour à venir.
Installation sur partition EFI dans l'installateur Chameleonv2(RC1)
Rien de plus simple pour cette partie, sélectionner Personnaliser puis Chameleon EFI HFS

Paramétrer sa partition EFI
 Monter la partition pour l'éditer :
Passer Root !
sudo -s
Créer un dossier /Volume/EFI
mkdir -p /Volumes/EFI/
Identifier le disque système (/)
diskutil info / | grep Identifier
Monter le disque
mount_hfs /dev/diskXs1 /Volumes/EFI
NB : Si vous êtes en IDE, vous pouvez relancer le Finder (Alt+clic droit sur l'icône du Dock) et voir apparaitre la partition EFI. En AHCI elle n'apparaîtra pas.
 Editer /Volumes/EFI/Extra/com.appe.Boot.plist
sudo nano /Volumes/EFI/Extra/com.apple.boot.plist
NB : L'installateur recopie votre com.apple.Boot.plist actuel. Vos EFI Strings sont aussi recopiés.
Mettre à jour les Extensions et le fichier Extensions.mkext avec le scripte "updateEFI.sh"
Voici en attendant mieux un scripte qui devrait vous faciliter la vie : update_efi.sh (v2 - fr).zipCréer un dossier "KEXT" sur le bureau et placez-y toutes les extensions à installer. Attention, il va tout remplacer ! Ce n'est donc pas vraiment une mise à jour.
En root, glisser le scripte dans le terminal :

Le scripte s'occupe désormais de tout. Il devrait vous retourner le message "terminé !" si tout va bien.
NB: La première fois un message d'erreur apparait car Extensions.mkext n'existait pas encore.
Démonter la partition EFI
umount -f /Volumes/EFI
Voilà , le répertoire /Volumes/EFI sera automatiquement effacé par le système. Il faudra donc chaque fois répéter toutes les étapes ci-dessus.
Bonus : Réparer la partiton EFI après l'installation d'un autre OS
Voici tout ce dont vous avez besoin : efi_boot_RescuePlacer le répertoire efi_boot_Recue sur le bureau et ouvrir le Terminal.Passer Root
sudo -s
Identifier votre disque
diskutil info / | grep Identifier
Aller dans le réperoire
cd ~/Desktop/efi_boot_Rescue
Placer stage 0 bootloader sur le disque cible
fdisk -f boot0 -u -y /dev/rdiskX
Placer stage 1 bootloader sur la partition cible (partition EFI)
dd if=boot1h of=/dev/rdiskXs1
Rendre le disque bootable
fdisk -e /dev/diskX
Voilà , au prochain reboot Chameleonv2 sera de nouveau à sa place.
| Chameleon v2 Acte I : l'installation | Chameleon v2 Acte III: Options de boot |
|---|



Commentaires
Avec le script suivant, il ne devrait plus y avoir d'erreur lors du premier run.
De plus, le fichier mkext de sauvegarde précédant n'est plus écrasé par le nouveau (enfin, ce n'est pas sure à 100% car le process id '$$' n'est pas garanti unique...)
Attention, ce script n'a pas été testé...
----------------------------------
#!/bin/bash
cd /Volumes/EFI/Extra
echo "Updating EFI boot cache"
[ -e "Extensions.mkext" ] && mv Extensions.mkext Extensions.mkext.$$
chmod -R 644 Extensions
chown -R 0:0 Extensions
kextcache -a i386 -m Extensions.mkext Extensions > update.log 2>&1
chmod 644 Extensions.mkext
chown 0:0 Extensions.mkext
echo "done."
L'install sur la partition EFI cachée marche bien pour moi tant que je ne branche pas mon disque avec XP (MBR).
Lorsque je branche le disque XP alors ça se bloque sur un écran noir.
Apparemment c'est un pb connu, mais qqun sait-il si c'est une limitation définitive ou un bug de la RC1?
Y aurait-t-il moyen de dire au bootloader de ne pas s'occuper du disque MBR pour que je puisse au moins booter sur ma partition leopard?
l'installer copiera automatiquement toutes les kext présents dans /Extra/Extensions et construit automatiquement le Extensions.mkext.
Même chose pour le com.apple.boot.plist s'il est présent dans /Extra.
Comme ça on n'a pas trop besoin de aire de shell.
Cette commande ne passe pas: "fdisk -e /dev/rdiskX" ("X" remplacé par "0" pour moi)...
ça m'indique: "Enter 'help' for information" ...
-> "Voilà , le répertoire /Volumes/EFI sera automatiquement effacé par le système. Il faudra donc chaque fois répéter toutes les étapes ci-dessus."
Comment ça, "chaque fois"????
De quoi on parle là ???
_______________ _______________ _______________ ______________
->" Editer /Volumes/EFI/Extra/com.appe.Boot.plist:
sudo nano /Volumes/EFI/Extra/com.apple.boot.plist "
Pourquoi l'éditer, y mettre quoi encore???
PS: Puis merci beaucoup d'avoir indiqué qu'il fallait faire "Ctrl - X" pour sortir, car dans nano " ^ " est égale à "Ctrl"(pas clair du tout ça)...Il fallait le savoir, hein???
_______________ _______________ _______________ _______________
Je vient de planté mon système maintenant à cause de tout ça, j'ai plus de son, j'ai l'impression que mes Kext ne se chargent plus. Pfffff, BRAVO VRAIMENT ...
Je crois que tu ne peux que t'en prendre à toi même si tu ne maîtrise pas ton installation, pourquoi incriminer les autres?
J'ai amélioré le script de mise à jour de la partiton EFI (c'était trop galère).
J'ai appris à faire ça ici :
www.tuteurs.ens.fr/.../script.html
Sur ce, bon dimanche, bonjour chez vous, bonne lecture sur darwinx86.org et longue vie au projet !
Non, je ne pense pas. Mais tu peux toujours tester et nous dire si ça marche...
Merci