cf : installeur de Trauma23
ORIGINAL TOPIC : http://forum.insanelymac.com/index.php?showtopic=127330
°°©°° :
Topic original et efi_boot_vX : munky
Aide topic original : BladeRunner, B612, roisoft
Boot 132 : David Eliott, Superhai
Chameleon team : Turbo, Dense, dfe, zef et les autres
Prérequis :
• Installation Leo 10.5 Retail via Boot 132
• Bonne connaissance des kext nécessaire à son système habituel
• Table de partition GUID
Objectifs :
• Installation Leopard 10.5 Original et mise à niveau 10.5.5 via la pomme.
• Aucune modification du répertoire /System/Library/Extensions/
• Résistance aux mise à jour à venir
Remarques importantes de munky :
• Il est inepte d'installer une version Retail pour aller ensuite modifier le répertoire /System/Library/Extensions/ autant installer une version hacké classique (Kalyway, JaS, Leo4all, iDeneb etc.)
• L'utilisation de sudo -s évite les problèmes de permissions erronées.
• Il est conseillé d'apprendre d'abord à personnaliser une iso de Boot132 via la méthode Superhai. Cela vous permettra non seulement de récupérer le système en cas d'erreur mais aussi de connaître précisément les kext nécessaire à votre partition de boot /EFI
• Vous ne pouvez pas utiliser autre chose qu'un DVD Original, un DVD de restauration ou de mise à niveau ne fonctionnerai pas, par exemple.
• Ce que vous faites est à vos risques et périls
Remarques personnelles et infos glanées :
• Il est préférable de commencer par un dossier /Extensions basique puis de l'améliorer extension par extension afin de savoir précisément d'où vient l'erreur.
• Bootez en -v et lisez, dans la mesure du possible les messages d'erreur.
• Commencez avec un kernel vanilla car, lors d'un boot en -x, com.apple.Boot.plist est ignoré et le système ne trouvera pas votre mach_kernel (vous comprendrez par la suite).
• L'utilisation Extension.mkext via le script update.sh est préférable car évite les problèmes d'autorisations. Dans ce cas, pas de dossier /EFI/System/Booter/Extensions/ mais juste /EFI/Extenions ; le Extensions.mkext se placera dans /EFI/System/Booter/
• N'hésitez pas à vous servir de la version PRINT_ME de ce tuto (et à l'imprimer !).
1/ Comprendre :
• 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.
2/ Prendre ce dont on a besoin (et laisser le reste !).
base :
• efi_boot_v5.1.zip
• efi_boot_v4.zip
• efi_boot_v3.zip
• efi_bootv2.zip
• update.sh.zip
bonus :
• Dossier Extensions Generic.zip
• Dossier Extensions ICHx.zip
• Dossier Extensions GA-P35-DS3v1.0.zip (by PM!)
• Dossier Extensions GA-P35-DS3v2.5.zip (AppleACPIPlatform/SMBIOS fixed ! - dsmos)
• Dossier Extensions GA G33m DS2R.zip (by xinux)
• Dossier Extension Asus P5K.zip (by PM!)
• Dossier Extensions GA-EP45-DS3R.zip (by PM!)
• Dossier Extensions GA-(E)P35-DS4v4.2.zip (by coucou)
• RTL8111B (GA-P35-DS4).zip
• CFGetHostUUIDString: ...UUID for host. Error: 35 fix.zip
• AudioHDAFix_updated.zip (alc889A)
• Alc889-Patch-temporaire (faire glisser le ALC889Adump.txt sur l'icône Tagura - Thx to him)
NB : Les dossiers Extensions GA-P35-DS3 et ICHx possèdent déjà le fix CFGetHostUUIDString sous forme d'un IONetworkingFamily.kext modifié.
Ce fix est destiné à corriger le message d'erreur cité plus haut lors d'un diskutil info / | grep Identifier
Cf Topic et fix
3/ Dans le vif :
PHASE #1 : FORMATAGE DE LA PARTITION EFI
1) Ouvrir le Terminal
2)
CODE
sudo -s
(et taper votre mot de passe)3)
CODE
diskutil info / | grep Identifier
# Ceci vous indique les valeurs pour diskXsY pour '/', qui est le système actuellement booté. (Si vous faites cette opération depuis un autre disque, modifiez ces valeurs en consequence)4)
CODE
diskutil list
# diskXs1 devrait s'appeller EFI. C'est la partition cachée EFI sur votre disque cible.5)
CODE
diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1
# Maintenant soyez VRAIMENT certain que c'est le bon disque. Celà va formater la partition EFI en HFS+. (N.B : Après effacement, il va essayer de la monter, sans succès "Could not mount disk0s1 with name after erase" Ignorez ce message).PHASE #2 : INSTALLATION DU BOOTLOADER MODIFIE
1) Extraire le dossier efi_boot_vX.zip sur le bureau #Remplacer X par le numéro de version
2) Dans Terminal :
CODE
cd ~/Desktop/efi_boot_vX
(qui contient boot0, boot1h, boot2-turbo.bin and fdisk)N.B : le ~ s'obtient avec Alt+N
3)
CODE
./fdisk -f boot0 -u -y /dev/rdiskX
# Place stage 0 bootloader sur le disque cible4)
CODE
dd if=boot1h of=/dev/rdiskXs1
# Place stage 1 bootloader sur la partition cible (partition EFI)5)
CODE
mkdir /Volumes/EFI
# Crée un dossier /EFI dans /Volumes6)
CODE
mount_hfs /dev/diskXs1 /Volumes/EFI
# Monte diskXs1 dans /Volumes/EFI7)
CODE
cp boot-turbo-munky.bin /Volumes/EFI/boot
(le fichier nommé boot2-turbo.bin est lié à efi_bootv1 qui ne supporte pas les efi strings)PHASE #3 : RENDRE LE DISQUE BOOTABLE
N.B :Ce passage peut ne pas être nécessaire sur certaines Cartes Mères, mais sur les cartes Intel et Bade Axe il l'est. Aussi, si vous passez ce passage et que votre système ne boot pas essayez ceci. Ma logique est que ça ne fait pas de mal de le faire alors je vous conseille de le faire quand même...
Tapez la commande fdisk suivante (1) puis chaque ligne suivante :
1)
CODE
./fdisk -e /dev/rdiskX
NB: Ignorez toute erreur "fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory"
2) f 1
3) w
4) q
PHASE #4 : PARAMÉTREZ VOTRE NOUVELLE PARTITION-EFI-BOOTLOADER
N.B Trad : On s'écarte un peu ici de la simple traduction, vous proposant d'utiliser un répertoire /EFI/Extensions/ et d'utiliser le Extensions.mkext généré par le script "update.sh". N'oubliez pas d'y aller pas à pas...
1)
CODE
mkdir -p /Volumes/EFI/Extensions
1bis)
CODE
mkdir -p /Volumes/EFI/System/Booter
2) Mettre toutes les extensions dans un dossier sur le Bureau nommé /KEXT
+ Mettre le script update.sh sur le Bureau
3) Copier les extensions nécessaires dans /Volumes/EFI/Extensions :
CODE
cp -R ~/Desktop/KEXT/* /Volumes/EFI/Extensions/
CODE
cp ~/Desktop/update.sh /Volumes/EFI/
CODE
chmod +x /Volumes/EFI/update.sh
CODE
/Volumes/EFI/update.sh
#Devrait vous retourner le message "done" si tout va bienCODE
umount -f /Volumes/EFI
# oui -f !CODE
rm -rf /Volumes/EFI
N.B 2: A partir d'un reboot la procédure complète à suivre sera :
sudo -s
diskutil info / | grep Identifier #On vérifie le X de diskXs1
mount_hfs /dev/diskXs1 /Volumes/EFI # Remplacez X !
... modification des kext dans /Volumes/EFI/Extensions # En ligne de commande avec cp -R et en root (sudo -s) !
/Volumes/EFI/update.sh
umount -f /Volumes/EFI
rm -rf /Volumes/EFI
reboot # Si vous voulez redémarrer sur le champ
N.B 3: Pour pouvoir être chargé correctement, une extension doit contenir à la clé
<key>OSBundleRequired</key>
<string>Root</string>
tout à la fin du fichier Info.plist (Afficher le contenu du paquet -> Content -> Info.plist ; copier sur le bureau modifier puis réparer autorisation chown -R root:wheel /lefichier et chmod -R 775 /lefichier).
PHASE #5 : TEST BOOT !
On se lance en -v et on ouvre les yeux !
Si ça ne marche pas on boot avec le CD ou la clé USB Boot132 et on modifie le dossier /Volumes/EFI/Extentions/ (procédure décrite plus haut en N.B 2).
PROCEDURE POUR KERNELS HACKES :
Si vous souhaitez vous servir d'un kernel hacké comme le magnifique voodoo XNU kernel 9.5.0 http://groups.google.com/group/xnu-dev/web...oo-9-5-0-kernel la procédure est la suivante :
1) Après avoir monté /dev/diskXs1 dans /Volume/EFI et extrait le kernel sur le Bureau, placez le kernel dans /Volulmes/EFI :
CODE
cp ~/Desktop/mach_kernel.voodoo /Volumes/EFI/
#adaptez au nom de votre kernel favori2) Le chargement de ce kernel nécessite une commande de boot : bt(0,0)/mach_kernel.voodoo -v boot-uuid=<l'UUID de votre disque d'installation> # Pour connaitre l'UUID du disque "diskXsY" allez dans l'Utilitaire de Disque puis Cmd+I sur la partition principale du disque en question.
exemple : Identifiant unique universel : C17F2077-CCE5-34BA-8F71-53E60FEB6E5E (pas la peine d'essayer d'utiliser le mien... chaque disque à un UUID propre et invariable).
Nos allons donc placer cette ligne dans com.apple.Boot.plist en option de boot.
CODE
sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
et à la ligne
<key>Kernel Flags</key>
<string>bt(0,0)/mach_kernel.voodoo -v boot-uuid=<l'UUID de votre disque d'installation></string>
puis Ctrl+O suivit de Enter pour sauver
enfin Ctrl+X pour quitter l'éditeur nano.
GFX STRINGS :
Depuis la v2 le efi_boot supporte les GFX Strings, pour plus d'information voir ce topic (merci à sonotone).
Pour toute autre informations se référer au topic original.
Je mettrai à jour mon Dossier GA-P35-DS3 régulièrement.
@+
PM!
-------- MISE A JOUR-----------
efi_boot_v5.1.zip
-> Code de détection du FSB de Chameleon mis à jour.
efi_boot_v4
-> Support de JMicron64 (munky kicks ass !)
efi_boot_v3
-> Permet de placer com.apple.Boot.plist sur la partition EFI (à la racine ou dans Libray/Prefereces/SystemConfiguration) Boot plus rapide !
--------PAS ENCORE AU TOP-----------
Les SMBiosEnabler et SMBiosResolver : j'utilise toujours un AppleSMBIOS-27


