Je l'ai mis dans les deux 10.11 et 10.12 (et dans les deux EFI) pour qu'il soit disponible depuis partout mais t'as raison, le plus simple c'est de le mettre dans "other"...
Deux dossiers EFI ? Hmm… Non
. C'est inutile voire même problématique.
Quelque soit le nombre de version d'OS X que tu utilises sur ton Hack, un seul dossier EFI pour les gérer est largement suffisant.
C'est (encore) une autre raison de ne pas utiliser MultiBeast puisque si on place les kexts dans EFI/CLOVER/kexts/10.x ou Other et non pas dans le L/E ou S/L/E de chaque partition OS X, on peut parfaitement gérer chaque OS individuellement avec ses propres kexts et ses propres patchs.
Ex :
Sur ma H97-HD3, j'ai actuellement 4 versions d'OS X : Mavericks, Yosemite, El Capitan et Sierra (et 1 Windows + 1 Linux).
Je n'ai qu'un seul dossier EFI/CLOVER sur mon disque El Capitan et je mets les kexts communs à tous dans Other et ceux qui sont spécifiques dans 10.9, 10.10, 10.11 et 10.12. J'ai donc ces 3 kexts dans 10.11 et 10.12 (je n'ai rien de spécifique dans 10.9 et 10.10) :
• FakePCIID_XHCIMux.kext
• FakePCIID.kext
• USB_Injector.kext
Et le reste dans Other :
• AppleALC.kext
• FakeSMC.kext
• RealtekRTL8111.kext
Idem pour le config.plist : je n'en utilise qu'un avec des Kernel and Kexts Patches spécifiques à chaque version (le cas échéant) + des patchs communs (comme le TRIM par exemple).
C'est donc beaucoup plus simple à gérer et ça me permet de brancher n'importe quel disque équipé d'OS X sans avoir à installer Clover à chaque fois sur chaque disque. Ainsi, l'année prochaine, je n'aurais qu'à ajouter un dossier 10.13 dans EFI/CLOVER/kexts et éventuellement, des patchs spécifiques à ce nouvel OS (pour faire sauter la limite de l'USB par exemple même si personnellement, je n'en ai pas besoin) et c'est tout.
Dans le même ordre idée, si j'installe OS X sur un disque externe, je n'ai qu'à le brancher et mon Clover situé sur la partition EFI El Capitan se chargera de le démarrer. C'est très pratique quand il s'agit de tester des bêtas par exemple
.
Bref, revenons à nos moutons
Pourriez vous l'un et l'autre nous expliquer comment vous avez procédé (à moins qu'il ne s'agisse de secrets de fabrication !!!!) ? Et puis aussi, pour satisfaire les curieux : c'est quoi la différence entre les 2 versions ?
Le secret, c'est d'abord d'utiliser les bons outils :
• MaciASL pour tout le bazar avec les fichiers ACPI
• IORegistry Explorer pour repérer/vérifier que ce qu'on trafique avec le bootloader, les DSDT/SSDT ou les kexts est bien appliqué
• PlistEdit Pro pour faire mumuse avec les fichiers .plist (il y en a quasiment partout et pour tout dans OS X)
• Du temps et beaucoup de patience
Personnellement, si je devais te donner un point de départ, je dirais que la maîtrise de PlistEdit Pro (y a un outil similaire dans XCode mais faut se coltiner les 3,80 Go de téléchargement) est essentielle.
Elle te sera bien plus utile que la compréhension de MaciASL et de la norme ACPI (c'est vraiment hardcore comme truc). Mais si tu te sens à l'aise ou curieux d'en apprendre plus, alors fonce car si tu arrives à piger comment ça marche, tu peux faire des merveilles avec ça !
Pour l'injecteur en question, tu avais déjà fait le plus gros du boulot et en fait, il te suffisait "simplement" de modifier les valeurs de l'injecteur de fjlagd pour qu'elles correspondent à tes adresses de ports (elles étaient incorrectes dans la version qu'il t'a fourni).
Donc si c'était à refaire ou si c'était pour une autre carte-mère, il faudrait là aussi commencer par identifier les ports/adresses avec IORegistry Explorer + USBInjectAll.kext + patch Clover pour faire sauter la limite et ensuite, éditer l'info.plist et mettre ses propres valeurs HSxx/SSxx avec les bonnes adresses.
C'est ça le tuto .
Sauf que je ne suis pas sûr de tout comprendre !
@polyzargone, je suis preneur d'explications sur ton kext, car les valeurs numériques que j'y trouve ne correspondent pas à la copie d'écran fournie par
@gradou :
http://forums.macg.co/attachments/dpci-capture-png.110545/[
(…)
Pour répondre à gradou : si tu regardes le contenu du kext, celui-ci est pratiquement vide, il ne contient qu'un Info.plist. Je suis juste parti du modèle pour X99 de fjlagd et je l'ai édité avec PlistEdit Pro, en adaptant les IDs des contrôleurs AHCI et USB 3.0 xHCI.
En ce qui concerne les différences entre les deux versions :
Même si je doute un peu que ça ait changé grand chose, je ne suis pas parti sur l'injecteur de fjlagd (qui contient un champ "IntelC610/X99SeriesAHCI" dont je ne m'explique pas la présence) mais en me basant sur /System/Library/Extensions/IOUSBHostFamily.kext/Contents/PlugIns/
AppleUSBXHCIPCI.kext.
Je n'ai conservé que les champs "AppleUSBXHCIxxxxx" dans
IOKitPersonalities et je les ais tout simplement copier/coller à la place de ce qu'il y avait dans l'injecteur de fjlagd et de
@Barijaona tout en conservant le champ iMac17,1-XHC avec les adresses définies par
@gradou et intégrées par
@Barijaona.
Du coup, je n'ai pas utilisé les IDs des contrôleurs AHCI (pourquoi faire ? C'est l'USB qui nous intéresse ici) ni des contrôleur USB 3.0 XHCI. Par conséquent, l'injecteur ne se fie qu'à ce qui est défini dans la DSDT.
Ça me semble plus cohérent et plus propre mais encore une fois, je ne suis pas certain que ça ait changé quoique ce soit puisque tu nous dis que finalement, la version de
@Barijaona a fonctionné.
Cela étant, le kext v2 est normalement plus en adéquation avec le propre injecteur d'Apple, l'AppleUSBXHCIPCI.kext qu'il est sensé remplacer. Et donc, je pense qu'il devrait se comporter exactement pareil. Moins on s'éloigne de ce qu'Apple propose en standard, plus on a de chance d'éviter des comportements inattendus.
Pour l’anecdote; c'est comme ça que j'ai résolu un problème de manque d'alimentation des ports USB 2 de mon portable (genre le Finder qui se plaint que le périphérique n'est pas assez alimenté alors que c'est une simple clé USB). Il manquait tout simplement des champs dans l'injecteur
.