Jump to content

Difficultés avec le trio El Capitan + Patch Toleda/Clover + SIP (Comment se débarrasser de ce dernier ?!? Arf !)


Go to solution Solved by oZen,
12 posts in this topic

Recommended Posts

Bonjour,

 

Aller je me décide à poster ici parce qu'avec ces histoire de SIP je deviens fou, j'y comprends rien . Alors si quelqu'un veut bien me filer un coup de main pour m'aider à comprendre ce serait vraiment, mais alors vraiment très cool à lui !  :)

 

Voila ma situation:

 

- Une config. fonctionnant quasiment OOB. Quasiment parce que le seul hic c'est le chip son. Un Realteck ALC 892 relativement bien connu de la communauté. Jusque à Yosemite j'utilisais sans problème le patch Clover de Toleda.

 

- Vous l'aurez compris la deuxième donnée c'est que je boot avec l'aide de Clover, à priori la dernière version (3270).

 

- Et puis 3eme donnée depuis hier (et un peu avant à vrai dire puisque j'avais essayé avec la RC) une clean install d'El Capitan sur un disque externe à part.

 

Le truc c'est que j'ai beau mettre les bons flags pour désactiver SIP dans le config.plist:

RtVariables
  BooterConfig: 0x28 (Ici j'ai essayé avec le partiel aussi: 0x03)
  CsrActiveConfig: 0x67 (Non c'est bien sur ici que j'ai tenté 0x03 aussi)

Et ben après avoir exécuté le patch Toleda toujours pas de son...

Last login: Thu Oct  1 19:10:06 on ttys000
/Users/oZen/Downloads/audio_cloverALC-110_v1.0f.command ; exit;
iMac-de-Francois:~ oZen$ /Users/oZen/Downloads/audio_cloverALC-110_v1.0f.command ; exit;
 
Agreement
The audio_cloverALC-110 script is for personal use only. Do not distribute
the patch, any or all of the files or the resulting patched AppleHDA.kext
for any reason without permission. The audio_cloverALC-110 script is
provided as is and without any kind of warranty.
 
File: audio_cloverALC-110.command_v1.0f

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
EFI partition is mounted
System Integrity Protection status: enabled (Custom Configuration).

Configuration:
	Apple Internal: disabled
	Kext Signing: disabled
	Filesystem Protections: disabled
	Debugging Restrictions: disabled
	DTrace Restrictions: disabled
	NVRAM Protections: disabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
OK to patch
Confirm Realtek ALC892 (y/n): y
Enable HD4600 HDMI audio (y/n): n
Audio ID: 0 is not supported, continue (y/n): y
Clover Audio ID Injection (y/n): y
Use Audio ID: 0 (y/n): n
Audio IDs:
1 - 3/5/6 port Realtek ALCxxx audio
2 - 3 port (5.1) Realtek ALCxxx audio (n/a 885)
3 - HD3000/HD4000 HDMI and Realtek ALCxxx audio (n/a 885/1150 & 887/888 Legacy)
Select Audio ID: 1

Download ALC892 files ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 25585  100 25585    0     0  21483      0  0:00:01  0:00:01 --:--:-- 21500
Edit config.plist/Devices/Audio/Inject/1
Set: Entry, ":Devices:Audio:Inject", Does Not Exist
Edit config.plist/SystemParameters/InjectKexts/YES
Download kext patches
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1404  100  1404    0     0   3225      0 --:--:-- --:--:-- --:--:--  3220
Print: Entry, ":KernelAndKextPatches:KextsToPatch:", Does Not Exist
Edit config.plist: Add KernelAndKextPatches/KextsToPatch - Fixed
Install /Volumes/EFI/EFI/CLOVER/kexts/10.11/realtekALC.kext
Download config kext and install ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3586  100  3586    0     0   8698      0 --:--:-- --:--:-- --:--:--  8682
Install System/Library/Extensions/AppleHDA.kext/ALC892 zml files
Fix permissions ...
Kernel cache...
rebuilding //System/Library/PrelinkedKernels/prelinkedkernel
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
kextcache updated critical boot files, requesting launchd reboot

Install finished, restart required.
To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...none found.

On note bien dans ce log, avec le patch de Toleda que SIP est "enable" malgré les flags passés, pour autant il indique aussi "OK to patch"... Alors allez savoir...

Il semble bien reconstruire le "cache du kernel" pour autant quand je reboot et ben, d'abord j'ai pas de son et puis quand je vais voir quelles sont les kext chargées AppleHDA n'est pas chargé, elle considérée comme venant d'un développeur "inconnu" et il y a une erreur de validation de signature dessus. (Mais les deux dernières ont l'air plutôt logique).

 

Bref, vous l'aurez compris j'arrive pas à me dépatouiller de ce  :censored: de SIP qui m'empêche d'installer mon patch Toleda Clover tranquille et de retrouver le son, seul élément manquant à ma config. sous El Capitan...

 

Merci d'avance aux bonne âmes, esprits brillants qui sauront m'aider avec ce truc de mes deux. Arf !

  • Solution

Bon, je me réponds à moi même puisque j'ai enfin trouvé la solution...

Assez bizarrement alors que c'est une étape que je n'avais plus du tout besoin de faire sous Mavericks et Yosemite j'ai du injecter le Layout ID HDEF qui pour je ne sais quelle raison était coincée à <00 00 00 00> d'origine sous El Capitan. Les versions précédentes du systèmes me le calaient directement à <01 00 00 00>.

D'ou la nécessité d'une petite injection avec Clover...

 

SIP était bien désactivé, les nouvelles versions de Clover le font par défaut de toute façon d'après ce que j'ai compris...

 

Bref rien de très grave...

  • Like 1

Hello !

 

Désolé de m'incruster mais qu'est-ce que "SIP" ? En cherchant à la racine du forum je tombe sur des dizaines de posts dans lesquels des membres posent des questions à son sujet, en sachant ce que c'est, mais je n'ai pas réussi à déduire ce que c'était.

  • Like 1

salut Romano2K

 

System Integrity Protection est le nouveau système de protection qu’Apple a incorporé dans El Capitan depuis la DB4 (je crois).

 

Pour Yosemite, on a eu (et on a toujours   :P  ) kext-dev-mode=1 et puis cette protection a évolué en rootless=0 pour El Capitan jusqu’à la DB3, pour finalement elle aussi évoluée en SIP depuis la DB4 et est toujours d’actualité.

 

Donc tu as compris, SIP peut se résumer à un cocktail de plusieurs protections (contraintes ? ) en une seule, d’où le mot "Integrity" qui peut signifier l’intégrité du système mais aussi l’intégrité des protections au sein d’un seul et même système.

 

Et donc il faut la désactiver le temps de pouvoir charger tes kexts (au moins FakeSMC) et reconstruire le cache. Une fois tes kexts dans le cache, tu peux la réactiver de nouveau.

 

Désactiver SIP avec Clover

<key>RtVariables</key>
	<dict>
		<key>CsrActiveConfig</key>
		<string>0x03</string>  -------------> 0x01 / 0x67  et bien d’autres combinaisons sont possibles
	</dict>

Activer SIP avec Clover

<key>RtVariables</key>
	<dict>
		<key>CsrActiveConfig</key>
		<string>0x00</string>
	</dict>
  • Like 2

Merci fantomas, toujours aussi efficace ! (ça rime :P)

 

Quand tu dis "0x01 / 0x67 et bien d'autres combinaisons sont possibles", est-ce qu'il y a une différence entre 0x03, 0x01, 0x67 et les autres ? Ou bien est-ce qu'elles ont toutes strictement le même effet de désactiver le (la ?) SIP ?

  • Like 1

Apparemment on peut desactiver SIP plus ou moins partiellement selon que l'on passe tel ou tel argument à Clover (ou autre):

 

post-1055078-0-08271800-1443463045.png

http://www.insanelymac.com/forum/topic/284656-clover-general-discussion/page-414?do=findComment&comment=2170928

 

 

Il semblerait que ces codes aient pu plus ou moins changer au fil des DP's... (Je ne vois pas le 0x3 par exemple...)

  • Like 2

Merci pour le tableau et la source. Même si je n'ai pas encore les connaissances pour comprendre les implications des différents réglages. Moi j'aurais tendance à utiliser 0x77, non ?

  • 2 weeks later...

En faisant mumuse avec Enoch (à partir de la r2760), on peut voir que le paramètre CsrActiveConfig tient sur 7 bits (6 étant utiles) et que l'arrangement binaire semble être le suivant (j'ai un doute sur la véracité du tableau CSRUtil du post #6 par rapport aux colonnes PID et Debug et le tableau semble se contredire lui-même):

nibble:  (4)  3   2   1   |  (4)  3   2   1
bits:    (X)  -   -   -   |  (X)  -   -   -

         N/A  |   |   |      N/A  |   |   |
              |   |   |           |   |   |
              |   |   |           |   |   |
              |   |   \           |   |   |
              |   \    Apple Int. |   |   \
              \    DTrace Rest.   |   \    Kext Sig.
               NVRAM Prot.        \    FS Prot.
                                   Debug Rest.

Ainsi, en partant du principe que "Apple Internal" apparait désactivé par défaut (bit mis à 0) et que le 4ème bit de chaque nibble n'est pas utilisé, on peut jouer avec les différentes combinaisons binaires; ainsi, on peut par exemple définir CsrActiveConfig comme suit:

  • -000x011 en binaire (où x peut être mis à 0 ou 1 de manière indifférenciée), i.e. 0x03 (ou 0x0B) en hexa, i.e 3 (ou 11) en décimal pour désactiver la signature des kexts et la protection du système de fichiers
  • -110x111 en binaire (où x peut être mis à 0 ou 1 de manière indifférenciée), i.e. 0x63 (ou 0x6F) en hexa, i.e 103 (ou 111) en décimal pour désactiver tout

Si je démarre ElCapitan avec CsrActiveConfig=103, j'ai le résultat suivant dans Terminal:
E6440:~ admin$ sudo csrutil status
System Integrity Protection status: enabled (Custom Configuration).
 
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: disabled
Debugging Restrictions: disabled
DTrace Restrictions: disabled
NVRAM Protections: disabled
 
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.

×
×
  • Create New...