![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
![]() BIDOUILLE Guru ![]() ![]() ![]() ![]() ![]() Groupe : Admin Messages : 55 525 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 ![]() |
Les premiers Mac Pro sont des machines increvables et bien que ces produits soient sortis il y a plus de 7 ans, nombre d'entre elles continuent à fonctionner comme des horloges pour le plus grand plaisir de leurs propriétaires.
Elles ont toutefois un gros défaut qui n'était pas visible au moment de leur commercialisation. Bien que dotées de Xeon 64 bits, elles n'avaient qu'un EFI 32 bits. Cela a posé bien des problèmes à leurs propriétaires pour les faire évoluer, que ce soit au niveau de leur carte graphique ou celui de l'OS. Ainsi, il est aujourd'hui impossible de leur installer Mavericks sans bidouilles assez complexes. Un membre des forums de Macrumors appelé Tiamo a toutefois grandement facilité les choses en proposant une nouvelle version du fichier boot.efi (et son code source) permettant de supporter Mavericks. Il a en fait réussi à créer un fichier capable d'intercepter les requêtes 64 bits et de les traiter en 32 bits (en résumé). Tout fonctionne, y compris la veille profonde et Filevault 2. PS: si l'un d'entre vous réalise la bidouille, merci d'en réaliser un pas à pas, que nous publierons avec plaisir. Lien vers le billet original -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
![]() |
![]()
Message
#2
|
|
![]() Nouveau Membre Groupe : Membres Messages : 30 Inscrit : 6 Jul 2004 Membre no 20 781 ![]() |
Salut
Depuis Mavericks, les binaires EFI ne sont plus universels, c'est à dire qu'ils contiennent une seule architecture (x86_64 / 64-bit). Les binaires dit universels sont des conteneurs, qui pointent la machine vers l'exécutable selon l'architecture (i386 - cad 32-bit, ou x86_64 - cad 64-bit). Le magic (bits de début de fichier qui permet de déterminer son contenu) d'un binaire EFI mono-architecture est effectivement MZ (0x4D5A), comme les binaires PC (ici Mavericks) : Code $ hexdump -C /System/Library/CoreServices/boot.efi | head -n 1 00000000 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 |MZ..............| Le magic des binaires EFI universels est 0xB9FAF10E - en fait 0x0EF1FAB9 en big indian - (ici Lion, idem Mountain Lion) : Code $ file /System/Library/CoreServices/boot.efi /System/Library/CoreServices/boot.efi: Universal EFI binary with 2 architectures, x86_64, i386 $ hexdump -C /System/Library/CoreServices/boot.efi | head -n 5 00000000 b9 fa f1 0e 02 00 00 00 07 00 00 01 03 00 00 00 |................| 00000010 30 00 00 00 40 cc 08 00 00 00 00 00 07 00 00 00 |0...@...........| 00000020 03 00 00 00 70 cc 08 00 40 4e 08 00 00 00 00 00 |....p...@N......| 00000030 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 |MZ..............| 00000040 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......| Le header universel se termine en 0x2F inclus, et le binaire 64-bit commence en 0x30. Pour info, voici le contenu de l'en–tête PE dans HT Editor du boot.efi de Mavericks : ![]() Et celui de Tiamo : ![]() Quelques questions m'interpellent : - quel est l'idiot chez Apple qui a oublié de faire un firmware 64-bit après le tout 64-bit du G5 ? - pourquoi Apple n'adopta pas la même solution ? - pourquoi les sources de Tiamo ont une date de création en 2009 (la plupart) et 2012 ? Code //******************************************************************** // created: 4:11:2009 10:04 // filename: boot.cpp // author: tiamo // purpose: main //******************************************************************** Reste que Tiamo a fait un sacré boulot. Ce message a été modifié par noar - 28 Nov 2013, 01:53. -------------------- Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la règle d'éligibilité
|
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 06:56 |