Apple hat mit macOS 10.11 alias „El Capitan“ eine neue Sicherheitsfunktion mit dem Namen „System Integrity Protection“ (SIP) eingeführt. Diese ist standardmäßig aktiv und soll verhindern, dass die Verzeichnisse „/bin“, „/sbin“, „/System“ und „/usr“ manipuliert werden können. Es wird also der Schreibzugriff auf diese Systemordner entzogen. Bei einem Hackintosh führt zumindest wärhrend der Installation die SIP allerdings zu Problemen, da hier zwingend Veränderungen in diesen Bereichen durchgeführt werden müssen. Um einen Hackintosh lauffähig zu bekommen, müssen Kernel Extensions (kext) hinzugefügt bzw. gepatched werden. Diese liegen unter „/System/Library/…” und somit unter der Kontrolle der SIP.
Der Bootloader Clover sorgt automatisch dafür, dass die SIP teilweise deaktiviert ist, so dass die Anpassungen reibungslos funktionieren. Die Einstellung wird über die Datei „/EFI/CLOVER/config.plist“ realisiert. Darin gibt es den Parameter „CsrActvieConfig“, welcher den Wert „0x3“ bekommt. Um die Datei bearbeiten zu können, muss zuerst die EFI Partition gemountet werden. Beide Aktionen (Mounten und Bearbeiten der Datei) lassen sich bequem mit dem Tool „Clover Configurator“ erledigen.
Der aktuelle Status der SIP kann über ein Terminal geprüft werden.
csrutil status
Um die SIP komplett zu deaktivieren, kann der Wert auch auf „0x67“ gesetzt werden, was aber in der Regel nicht notwendig sein sollte. Ist der Hackintosh komplett fertig konfiguriert und lauffähig, kann die SIP auch wieder vollständig aktiviert werden, damit alle Schutzmaßnahmen greifen. Um dies sicherzustellen, kann der Kernel Cache welcher die benötigten Kernel Extensions vorhält, neu aufgebaut werden. Dazu gibt es mehrere Möglichkeiten dies zu realisieren. Der schnellste Weg dürfte folgender Befehl sein, der über ein Terminal abgesetzt wird.
sudo kextcache -invalidate /
Danach den Hackintosh neu starten und prüfen, ob auch wirklich noch alles funktioniert. Wenn dem so ist, kann die System Integrity Protection wieder komplett aktiviert werden. Dazu wird in der Datei „/EFI/CLOVER/config.plist“ der Parameter „CsrActiveConfig“ auf den Wert „0x0“ gesetzt werden.
Nach dem nächsten Neustart des Hackintoshs sollte die neue Einstellung bereits ziehen.
csrutil status
Sind bei einem Update oder nach einem Hardwaretausch etc. wieder Anpassungen an den Kernel Extensions erforderlich, muss natürlich zuerst die System Integrity Protection wieder teilweise deaktiviert werden, damit der Zugriff wirklich funktioniert.