Jump to content

Clover_InfoPlist_Patch


fantomas
 Share

13 posts in this topic

Recommended Posts

pour les utilisateurs de Clover... avez-vous des soucis avec le patch à la volé ?

 

je ne sais pas pourquoi mais depuis la 10.10.1 je crois, quoi que je fasse, impossible pour moi de patcher mes kexts à la volé

 

pour rappel, j'utilise patch à la volé pour ma HD 6770 (et oui, elle n'était pas morte   ^_^ ) et ma HD4830 (qe_ci exotic patch)

 

bon, apparement la méthode du patch de l'Info.plist a quelque peu changée... slice l'explique ici : http://www.insanelymac.com/forum/topic/282787-clover-v2-instructions/?p=2108022

 

mais malgré cela, je n'ai pas réussi à le faire,  :(  ...  que ce soit sur Mavericks ou El Capitan, les kexts ne se chargent pas.

 

Est-que quelqu'un voudrait essayer cette nouvelle méthode et me dire si cela fonctionne ?  merci d'avance   ^_^

 

P.S: je parle bien du patch Info.plist et non les binaires !   ;)

Link to comment
Share on other sites

Tiens, c'est marrant :D

T'as vu ce topic ? (je t'ai cité et même traduit ©™ Fantomas1 :hysterical:) J'ai fait le test hier et ça ne marche pas. Même en bootant sans puis ensuite avec le cache :

0:194  0:000  KextsToPatch: 1 requested
0:194  0:000  KextToPatch 0: AMD7000Controller (AMD 7730 Patch) Info.plist patch[ERROR] bin2hex '0x68391002' syntax error
0:194  0:000  [ERROR] bin2hex '0x68371002' syntax error
0:194  0:000   - invalid Find/Replace data - skipping!

 

Next problem.

If you want to replace DeviceID into IOPCIMatch the you can use this InfoPlistPatch

For example inject unsupported ATI Radeon ID into AMDRadeonX3000.kext. But the kext is not present in kernelcache and the patch will not occur.

In this case you have to boot without caches and Clover will Force load this kext for patching.

 

Et pourtant…

		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>AMD 7730 Patch</string>
				<key>Find</key>
				<string>0x68391002</string>
				<key>InfoPlistPatch</key>
				<true/>
				<key>Name</key>
				<string>AMD7000Controller</string>
				<key>Replace</key>
				<string>0x68371002</string>
			</dict>
		</array>
	</dict>

Il ne me semble pas avoir fait d'erreur :unsure:.

 

Le post de Slice date de février 2015 donc à mon avis, c'est toujours d'actualité. Enfin, il est sur le topic en question. On aura peut-être le fin mot de l'histoire.

  • Like 1
Link to comment
Share on other sites

justement...

 

la méthode que tu utilises (et que j'utilisais) n'est plus d'actualité... c'est pour ça qu'il te donne une erreur de syntaxe

 

il faut convertir string en data : https://www.base64encode.org

 

avant                                                           

 

Find                       

0x68391002

Replace

0x68371002

 

 

après

 

Find

PHN0cmluZz4weDY4MzkxMDAyPC9zdHJpbmc+   ------->  ce qui donne 0x68391002

Replace

PHN0cmluZz4weDY4MzcxMDAyPC9zdHJpbmc+    -------> 0x68371002

 

 

avec Clover Configurator, ça donne ça :

 

497772Capturedcran20150624201511.png

Capture d’écran 2015-06-24 Ã  20.15.11.png

Capture d’écran 2015-06-24 Ã  20.15.11.png

Capture d’écran 2015-06-24 Ã  20.15.11.png

Link to comment
Share on other sites

Et bien je crois que c'est là ton erreur :D

 

C'est pas la ligne entière <string>0x68391002</string> qu'il faut convertir en base64, c'est juste 0x68391002

 

0x68391002 --> MHg2ODM5MTAwMg==

		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>Test</string>
				<key>Find</key>
				<data>
				MHg2ODM5MTAwMg==
				</data>
				<key>InfoPlistPatch</key>
				<true/>
				<key>Name</key>
				<string>AMD7000Controller</string>
				<key>Replace</key>
				<data>
				MHg2ODM3MTAwMg==
				</data>
			</dict>

En faisant ça et en cochant DATA effectivement, j'obtiens ça :

0:182  0:000  KextsToPatch: 1 requested
0:182  0:000  KextToPatch 0: AMD7000Controller (Test) Info.plist patch, data len: 10

Alors je ne sais pas du tout si ça change quelque chose ou pas vu que j'ai pas ma Radeon 7770 sous la main pour vérifier mais je dirais qu'au moins, Clover ne renvoie plus d'erreur :unsure:.

post-1163891-0-06895800-1435170502_thumb.png

Link to comment
Share on other sites

il n'y a pas d'erreur

 

c'est seulement la longueur du string qui change (mais je l'ai déjà fait des deux manières et ça ne change rien)

 

et si je me fie au topic de slice (et d'autres tickets de discussion sur source forge), j'ai la bonne méthode

 

dans ton cas, rien ne change... le patch se fait mais les kexts ne se chargeront pas (comme pour moi)

Link to comment
Share on other sites


Next problem.
If you want to replace DeviceID into IOPCIMatch the you can use this InfoPlistPatchFor example inject unsupported ATI Radeon ID into AMDRadeonX3000.kext. But the kext is not present in kernelcache and the patch will not occur.In this case you have to boot without caches and Clover will Force load this kext for patching.

je n'a jamais eu à le faire par le passé mais j'ai quand-même voulu essayer...

 

j'ai botté sans cache... il me force uniquement AMD5000Controller.kext à se charger mais que lors de la phase du boot.... une fois sur le bureau, il n'est plus chargé.

 

AMDRadeonX3000.kext ne se charge pas donc il n'est jamais dans le cache.

 

je les ai chargé manuellement une fois sur le bureau mais après un sudo touch /System/Library/Extensions/  rien ne change... comme si la commande n'avait aucun impact sur la reconstruction du cache

Link to comment
Share on other sites

bon, après une nouvelle installation, les choses n'ont pas changé

 

Clover patch mes deux kexts lors de la phase d'amorçage mais une fois sur le bureau, ils ne sont pas chargés

 

il est claire que le problème vient du cache

 

j'ai booté avec rootless=0  et sans cache mais la commande sudo touch /System/Library/Extensions/ ne donne rien... sudo kextcache -prelinked-kernel non plus.

 

j'ai aussi essayé de reconstruire le cache avec Kext Wizard... sans effet.

Link to comment
Share on other sites

bon, rien de nouveau à se mettre sous la dent... je n'ai pas eu une concrète explication concernant la nouvelle méthode de patcher InfoPlist si ce n'est ce que je savais déjà.

 

c'est pour cela que je ne m'aventure pas dans ce genre de topics puisque de coup sûr je passerai pour quelqu'un de prétentieux et ça... je ne veux pas.   :(

 

je ne dis pas que cela ne fonctionne pas, puisque d'autres ont réussi mais pas sans galère... et c'est là ma plus grande déception... l'ancienne méthode était pour ne pas dire parfaite pour ma config.

 

pour ma part, le talon d'Achille de cette méthode (et de la précédente) est bien le cache d'OS X... sous Yosemite (et sur Mavericks aussi, si je ne m'abuse) il y avait des moments où le cache fesait vraiment des siennes. Donc du coup, je m'attendais à de la résistance de la part d'El Capitan. Mais je ne m'attendais pas à cette nouvelle méthode qui ma foi, pour ma part, semble pas encore au point mais on verra bien... peut-être une autre méthode ?   :P

 

tant pis... je me réconforterai avec l'injection dsdt qui elle fonctionne bien (et fait le même boulot que FakeID) ou avec l'ajout du device-id manuellement.   :unsure:    Dommage.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

bon, je reviens un peu à la charge avec ce topic  ^_^

 

ce qui m'embêtait en plus c'est que même avec les anciennes versions de Clover et d'OS X, je n'ai pas réussi à le faire fonctionner... jusqu'à aujourd'hui  :P

 

bon, la méthode ne me plaît pas trop puisque je me sers de FakeSMC pour injecter les infos de mes kexts comme IOKitPersonnalities supplémentaires mais au moins, ils sont toujours chargés.

 

et comme je ne me souvenais pas de la version de Clover que j'utilisais à ce moment-là, je suis revenu sur ce topic et j'ai vu que la dernière mise à jour du topic fut au 27/08/2014. Donc je suis parti sur HackintoshOSX et dans les téléchargements de Clover, j'ai cherché la version qui avait été mis en ligne à cette date.

 

Je sais, cela ne prouve rien mais même si je ne me rappelle pas de la version de Clover que j'ai utilisé, je sais que je la mettais à jour dès qu'une nouvelle sortait. Donc voilà sur quoi je me suis basé pour ensuite trouvé que ce fût la version r2850.

 

Et effectivement, avec cette version + l'astuce avec FakeSMC (alors qu'avec les versions antérieures et ultérieures à r2580, ça ne fonctionnait pas... mais j'avoue ne pas en avoir tester beaucoup), l'ancienne méthode a fonctionné   :D

 

la preuve :

 

Capture d’écran 2015-08-15 à 22.43.40.pngCapture d’écran 2015-08-15 à 22.44.07.png

Capture d’écran 2015-08-15 à 22.44.45.png

 

 

bon, je suis sous 10.8.5 mais l'importance c'est que cela marche  :P  alors qu'avant non   :)

 

P.S : quoi qu'il en soit, ML en jette encore... comme je ne l'avais pas utilisé depuis longtemps, je suis impressionné par sa stabilité, fluidité et sa réaction.  :yes:

 

il démarre au 1/4 de tour   :lol:

 

Link to comment
Share on other sites

bon, comme je m'attendais... l'ancienne méthode fonctionne bien sous ElCapitan DB1   :D

 

Capture d’écran 2015-08-17 à 16.31.24.png

 

 

fantomas1s-iMac:~ fantomas1$ kextstat | grep AMD

   54    2 0xffffff7f81f26000 0x125000   0x125000   com.apple.kext.AMDSupport (1.3.6) C96B4426-D45A-3988-8F77-D0599ABD7351
   55    0 0xffffff7f8208e000 0x5f0000   0x5f0000   com.apple.kext.AMD5000Controller (1.3.6) 243E5473-2D4E-364F-9039-1A31DF22125E
   94    0 0xffffff7f8288b000 0x45c000   0x45c000   com.apple.AMDRadeonX3000 (1.3.6) DBC4A87F-55D9-30A0-929F-A3F2D86DC6AD
   97    0 0xffffff7f82059000 0x22000    0x22000    com.apple.kext.AMDFramebuffer (1.3.6) 460D6D27-72F8-3EFE-8879-23EF4CAE4F55
fantomas1s-iMac:~ fantomas1$ ioreg | grep ATY
    | |   |   | +-o ATY,Hoolock@0  
    | |   |   | | +-o ATY_Hoolock  
    | |   |   | +-o ATY,Hoolock@1  
    | |   |   | | +-o ATY_Hoolock  
    | |   |   | +-o ATY,Hoolock@2  

    | |   |   | | +-o ATY_Hoolock  

 

 

j'étais même capable d'installer ElCapitan avec Clover r2850 et de booter dessus sans soucis !!!   ;)

 

Capture d’écran 2015-08-17 à 16.36.15.png

 

j'avais juste besoin du flag rootless=0  et l'installation s'était bien passée.  ^_^

Link to comment
Share on other sites

une bonne nouvelle concernant la nouvelle méthode du patch à la volé… avec la DB6 + Clover r3259, elle fonctionne correctement mais dans mon cas, je ne peux m'en passer de l'astuce avec FakeSMC, du moins pour le moment. J'espère qu'on m'aidera à mieux comprendre pourquoi il ne veux pas forcer à charger mes kexts en mode NoCaches.

 

la différence entre l'ancienne méthode et la nouvelle, c'est surtout dans quel ordre sont écris les octets (à lire pour plus d'infos)

 

ancienne méthode

 

0x68B81002 --> 0x68BA1002

 

nouvelle méthode

 

68B81002 --> 68BA1002

Link to comment
Share on other sites

 Share

×
×
  • Create New...