SIP

Zbiór poradników i linków do tutoriali które można wykorzystać przy pracy z wieloma wersjami macOS.
Awatar użytkownika
Alpha01
Hardcore Hackintosher
Posty: 3780
Rejestracja: 21 kwie 2019, 18:04
Lokalizacja: Silesia Superior

SIP

Post autor: Alpha01 »

Od wersji systemowej OS X Yosemite rozszerzenia jądra (kernel), takie jak kexty (kernel extensions) muszą być sygnowane.
MacOS odmawia uruchomienia systemu, jeśli istnieją niepodpisane rozszerzenia.
SIP zawiera więc pewne mechanizmy, które są wymuszone przez jądro, a kluczowym elementem jest tutaj ochrona systemu.
Pliki i katalogi są chronione przed zmianami, przez procesy bez określonego „uprawnienia”, nawet jeśli są wykonywane przez użytkownika z uprawnieniami root.
Apple twierdzi nawet, że użytkownik root może stanowić „poważne“ zagrożenie dla bezpieczeństwa systemu. :D
Zwłaszcza w systemach z tylko jednym użytkownikiem, gdzie ten użytkownik jest również administratorem. :D
Tak więc SIP jest przez Apple domyślnie aktywowany!

A teraz zadajmy pytanie: jak to jest w ogóle z tym SIP w naszych hackintoschach?
Aby zainstalować macOS na hackintoshu, należy przecież załadować rozszerzenia kernela, które nie są przez Apple sygnowane.
Aby umożliwić więc instalację MacOS na PC, Clover musi częściowo wyłączyć SIP.

W przypadku każdego hackintosha z OS X 10.10 do10.14, SIP jest przy rozruchu częściowo lub całkowicie dezaktywowany.
Gdy system jest już uruchomiony możliwa jest aktywacja SIP. Dezaktywacja, czy też aktywacja kontrolowana jest przez config.plist.

Sprawdźmy status SIP.
W terminalu wydajemy polecenie:

Kod: Zaznacz cały

csrutil status

Przykładowy wynik:

System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: disabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.

Otwórzmy config.plist za pomocą Clover Configuratora:
config.plist > Rt Variables > BooterConfig i CsrActiveConfig:
W tym przykładzie: CsrActiveConfig: 0x3, co oznacza SIP Częściowo wyłączone (Ładuje niepodpisane kexty).

Pod BooterConfig: 0x28, dodatkowo pozwala na wstrzyknięcie kodu podczas uruchamiania.

Clover kontroluje więc SIP. Im większa liczba po 0x, tym mniej pozostaje SIP.
Przykładowe nastawienia:

0x0 = SIP Enabled (Default)
0x3 = SIP Partially Disabled (Loads unsigned kexts)
0x67 = SIP Disabled completely

W przypadku hackintoshy „Vanilla“ możliwa jest pełna aktywacja SIP, jak w oryginalnym macu.
Gigabyte Z390 M Gaming, Core i7- 9700K, PowerColor RX 5700 Red Dragon, 16GB Crucial Ballistix Sport 3000MHz
Bootloader OC
Awatar użytkownika
DKnoto
Hardcore Hackintosher
Posty: 1162
Rejestracja: 05 maja 2019, 21:01
Lokalizacja: Niemcz

Re: SIP

Post autor: DKnoto »

Kod: Zaznacz cały

$ status csrutil
-bash: status: command not found

Desktop: Dell OptiPlex 7040 | Intel Core i7 6700 | HD 530 | AMD Radeon FirePro W5100 | 24GB RAM
  • SSD/M.2 WD Black SN750 1TB: macOS Catalina 10.15.7 (19H1011)
  • SSD/SATA Samsung 850 EVO 120 GB: macOS High Sierra 10.13.6 (17G14042)

Awatar użytkownika
Alpha01
Hardcore Hackintosher
Posty: 3780
Rejestracja: 21 kwie 2019, 18:04
Lokalizacja: Silesia Superior

Re: SIP

Post autor: Alpha01 »

Hahaha. Miało być odwrotnie, poprawione. Dzięki @DKnoto!
Gigabyte Z390 M Gaming, Core i7- 9700K, PowerColor RX 5700 Red Dragon, 16GB Crucial Ballistix Sport 3000MHz
Bootloader OC
ODPOWIEDZ