
A tout ceux qui aimeraient franchir le pas mais qui se disent que faire tourner OSX sur PC semble être une vraie galère. C'est vrai que ça peut être le cas et qu'il y a beaucoup d'informations à digérer si l'on veut que cela aboutisse.
Je vous rassure, je n'entrerai pas trop dans le côté technique, je vais tenter de vous donner la ligne de conduite qui me semble être la plus efficace. Mon but est aussi que les gens tentent de faire une installation sur des machines fixes ou portables sur lesquelles ça n'a peut être pas encore été tenté. Si après ça certain d'entre vous publient leurs méthodes d'installation sur ces même machines, j'aurai atteint mon objectif.
Pour ce qui du choix du matériel, le principe est assez simple: Plus votre matériel sera semblable à un vrai mac, plus votre quête du hackintosh sera facilitée. Partant de là , allons jeter un oeil aux caractéristiques techniques d'Apple concernant Lion.
CPU:
Ram:
GPU:
Bien sûr il existe des hacks à base de processeurs AMD ou Intel Atom (j'en fais parti) mais c'est plus complexe et votre installation sera moins "propre".
Et oui, vous avez bien lu, vous allez faire une clé usb bootable sous Ubuntu!!! Je vous garanti que ça en vaut grandement la peine pour la suite. Qui plus est, c'est super rapide et facile avec des logiciels comme lili usb creator (sous Windows) ou équivalent... Ce qui est important c'est d'utiliser une version 10.x d'Ubuntu, faute de quoi les commandes suivantes ne seront pas interprétées convenablement.
Mais alors pourquoi Ubuntu?? Tout d'abord, Ubuntu va vous permettre de ripper proprement votre table DSDT. Ensuite, vous allez utiliser la commande "lspci" qui va vous donner des renseignements bien utiles pour patcher vous même votre table DSDT.
Après avoir booté sur votre clé usb sous Ubuntu 10.x, allez dans le terminal et taper les commandes suivantes:
sudo cat /proc/acpi/dsdt > dsdt.aml
Cette commande va copier votre DSDT dans un fichier DSDT.aml qui va apparaître sur le bureau. Copier et conservez ce fichier soigneusement.
lspci -nn
Cette commande vous affiche quelques lignes d'informations bien utiles pour patcher votre DSDT à l'avenir, notamment les device-id et les vendor-id. Copiez ces info et conservez les également.
Voilà un exemple de ce que cette commande peut générer:

Etape 2: Le DSDT
Là , ça se complique un peu mais le Lion se mérite!! Il va maintenant falloir patcher la table DSDT que vous venez de générer. Plusieurs logiciels d'édition de DSDT existent, libre à vous de choisir celui qui vous convient le mieux.
Je vais essayer de ne pas trop répéter ce qui a déjà été vu ailleurs. Sachez qu'il faudra tout d'abord injecter la méthode DTGP, méthode qui sera appelée par une autre méthode, la méthode _DSM. Ne vous posez pas plus de questions, insérez la méthode DTGP le plus en amont possible dans le votre DSDT.
La méthode DTGP:

Vient ensuite la méthode _DSM. C'est cette méthode qui va particulièrement nous intéresser car c'est grâce à elle que l'on pourra patcher son DSDT à la main et sur mesure!!!
Dans cet exemple, on s'attardera sur l'injection du GPU, mais cela s'applique bien sûr aux autres composants tels que le chipset son, l'éthernet, le wifi, le LPC, etc....
La méthode _DSM pour mon GPU, un GMA950. Oui, je sais, il est pas dans la liste des GPU supporté!! ;D

Où injecter cette méthode??
Jetons un oeil à ce que la commande lspci a retourné précédemment. On voit que le GPU est à l'adresse 00:02.0
Faites une recherche dans votre éditeur de DSDT afin de trouver la chaine suivante: Name (_ADR, 0x00020000)
Ca y est?? Vous voilà arrivé à l'endroit du DSDT où le GPU est déclaré. Il ne vous reste plus qu'à injecter la méthode _DSM comme si dessous, tout en remplaçant le device-id et le vendor-id par celui de votre GPU. Là encore, ces infos se trouvent dans celles retournées par la commande lspci sous la syntaxe [vendor-id:device-id]. Dans notre cas, [8086:2772]. Ces IDs sont déterminant, c'est grâce à eux que Lion charge les kexts correspondants à votre matériel.
Pour plus d'info concernant l'édition de cette méthode _DSM, voyez ce tuto, il est très bien fait et vous sera bien utile!!!
Et si je trouve rien et que l'adresse n'existe pas???
Ben c'est simple, à vous de créer le device entier (ici, GFX0) sans oublier son adresse (_ADR, 0xadresse) ainsi que la fameuse méthode _DSM.
L'exception à la règle:
J'ai remarqué que pour le matériel se situant sur le bus PCIe, l'adressage est à interpréter différemment. Dans mon cas, on pourrait croire que le contrôleur éthernet est à l'adresse 01:00.0 Ben non, perdu, il est sur le bus PCIe et l'adresse du bus PCIe, port 1 est 00:1C.0. C'est une exception à connaître, rien de bien méchant!!
Les extensions de noyau sont en quelque sorte des drivers. Pourquoi en parler?? Et bien simplement car comme je vous le disais auparavant, le système va les charger s'il trouve une correspondances entre les device-id et vendor-id que vous avez injecté et ceux listés dans les kexts correspondants. Seulement voilà , il se pourrait que les ids de votre matériel n'y soient pas listés!!!
Mais que faire alors??
Reprenons l'exemple de mon GPU. C'est un gma950 dont le [vendor-id:device-id] est [8086:2772].
Dans les kexts du système, situés dans /system/library/extensions, c'est le kext nommé AppleIntelGMA950.kext qui nous intéresse. Si l'on pénètre dans ce kext, on trouve un dossier nommé "contents" dans lequel figure le fichier "info.plist". Editez ce fichier et recherchez la clé "IOPCIPrimaryMatch". C'est à cet endroit que figurent les correspondances que l'on cherche à modifier. Rajoutez y simplement les ids de votre matériel, 0x27728086 dans notre exemple. Sauvegardez le tout et voilà , le tour est joué!!
Il se peut aussi que le système ne possède pas de kext adéquat pour votre matériel. Heureusement, la toile regorge de ressources et l'on peut soit trouver des kexts officiels développés par les constructeurs, soit utiliser des drivers adaptées en provenances de la communauté Linux.
Pour conclure avec les kexts, n'oubliez pas FakeSMC.kext, ni NullCPUpowermanagement.kext. Le premier est indispensable, il émule la puce SMC afin de faire croire à votre os qu'il tourne bien sur un vrai mac. Le second annule la gestion d'énergie du CPU. Vous pourrez peut être vous en passer à l'avenir si vous menez à bien ce tuto.
Armez vous de patience et ne baissez pas les bras. Même si vous parvenez à installer Lion rapidement, vous vous apercevrez vite qu'il y a des petits bugs ça et là , et se sont ces petits bugs qui prendront un temps fou à être corriger, s'ils le sont un jour!!!
Bonne chance et merci d'avoir lu tout ça jusqu'au bout !!!
| Quelques dossiers indispensables d'osx86 |
|---|
Commentaires
On s'y colle depuis le début pour voir si cette méthode et plus propre que mes grosses bidouilles (qui marchent !!!)
;-)
Pourrait on y rémédier ?
Merci d'avance....
Citation en provenance du commentaire précédent de Patrice99 :
J'essaie de faire mon premier hackintosh sur base P55-USB3 et je galère bien (à priori c'est la carte graphique..)
Tout ça pour dire : merci pour ce tuto et ce site qui me permets de mieux comprendre l'architecture mac et les hackintosh !
mais sans les captures d'écran/codes, on n'y comprends rien ! :)
Aux programmeurs, pas de bol j'ai une formation économique et financière.
Au lieu de cela en supplément de citer les articles de loi et de dire ou les trouver, j’expliquais comment s’en servir, comment rédiger son argumentation et les références de jurisprudence à citer pour l’appuyer et ainsi pouvoir gagner sa procédure engagée contre l’employeur.
Lorsque je rédigeais un article je m’imposais de considérer que les membres du forum, n’y connaissaient absolument rien et devaient pouvoir rédiger seul une argumentation efficace et « fonctionnelle ».
Ce site est le seul en français et il apporte beaucoup d’information, s’il pouvait en supplément, être d’avantage pédagogique, ce serait l’idéal.
Promis je vais désormais la fermer !
Bonne vie à tous
en effet merci bop pour cet article bien compréhensible mais j ai tout de meme un question qd vs avez 2 gpu
ex: gt540m et hd3000 en fin de compte la technologie optimus la gt540m ne fonctionnera pas il faut faire tourner la hd3000 en full résolution mais la gt540m empêche le pc de botter sur lion meme avec GraphicsEnabler =No
car hd3000 best no et ttes les autres c'est Yes bizarre non enfin pour dire que ça ne veux pas booter (dmos as arrived ) pfffff