Son yayınlanan OS X sürümlerinde Apple sistem güvenliğini sıkılaştırmaya başladı. Buda OS X’ in yavaş yavaş IOS gibi sistem dosyalarının kullanıcılara kapalı olduğu dönüştüğüne işaret ediyor.
Bunun son örneği OS X El Capitan’ da uygulanan yeni ‘rootless’ yada Sistem Bütünlüğü Koruması olarak adlandırılan ‘System Integrity Protection' (SIP) güvenliği. Bu yeni güvenlik önlemi, sistem dosyaları ve klasörlerini kilitleyerek root ve hack saldırılarına karşı koruma sağlıyor. Tabiki bu sistem güvenliği açısından oldukça olumlu bir gelişme. Ancak aynı zamanda bu, PC’ lerine Hackintosh kuran bizler için daha zorlu kurulum aşamaları demek. Bunun sonucunda OS X imzalı olmayan, Hackintosh kurarken kullandığımız bütün kext’ lerin bu yeni güvenlik önlemi yüzünden yeni baştan düzenlenmesi, yapılandırılması gerekiyor. Bu değişikler zaman içinde Clover ve Chamaeleon için final sürümüne kadar yapılandırılacağı kanaatindeyim.
Bildiğiniz üzere OS X Yosemite ile kurulum yaparken imzasız kext’ leri işletim sistemine tanıtabilmek için kext-dev-mode=1boot komutunu kullanıyorduk. El Capitan ile beraber bu boot komutunu kullanmaya gerek kalmadı.
Daha önceki El Capitan Beta sürümlerinde rootless güvenlik önlemini kapatmak için ‘rootless=0’ komutunu kullanıyorduk. Yayınlanan son beta sürüm ile bu komut artık kaldırılıp bunun yerine NVRAM csr-active-config konuldu. Bu kullanıcıya tamamen ya da kısmen kapalı şekilde, yeni rootless güvenlik seçenekleri arasında geçiş yapmak için SIP üzerinde daha kapsamlı bir kontrol sağlamasına izin veriyor. OS X El Capitan ayrıca SIP açmak ve kapatmak için Recovery bölüntüsünde mevcut olan yeni bir uygulamada barındırıyor.
- Hackintosh Kernel Cache yeniden yapılandırırken bilinmesi gereken ilk kural, SIP’ in mutlaka kapatılması gerektiğidir.
- SIP korumalı sistem klasörlerine herhangi bir imzasız dosya/ kext yüklemeden önce SIP mutlaka devre dışı bırakılmalıdır.
- Ayrıca SIP korumalı sistem dosyalarına imzasız kext yüklerken, SIP kısmen devre dışı bırakılabilir.
Bütün kurulum aşamalarını tamamladıktan sonra ve kextlerinizi kurduktan sonra SIP tekrar aktif edebilirsiniz.
Bugün itibari ile korumalı önbelleğe kext enjekte edebilen ve SIP ayarlarını yapan sadece Clover v3259 ve sonrası bootloader’ dır.
Clover v3259, csr-active-config (config.plist/RtVariables/CsrActiveConfig) ve BooterConfig=0x28 (config.plist/RtVariables/BooterConfig=0x28) ayarlarını Config.plist dosyasına entegre edebilir.
SIP seçeneklerini anlamak için bunları aşağıda listeledik:
csr-active-config 0x0 = SIP Aktif (Öntanımlı)
csr-active-config 0x3 = SIP Kısmen Kapalı (İmzasız kext yüklenebilir)
csr-active-config 0x67 = SIP Tamamen Kapalı
Clover config.plist içinde şu şekilde olacak:
Kod:
<key>RtVariables</key>
<dict>
<key>CsrActiveConfig</key>
<string>0x3</string>
<key>BooterConfig</key>
<string>0x28</string>
</dict>
Ayrıca SIP kapatmak için aşağıdaki uygulamayı da kullanabilirsiniz:
Dropbox - SIPUtility.zip
- Sonuç olarak kurulum aşamasından önce csr-active-config ve BooterConfig ayarlarını mutlaka yapmanız gerekiyor. Yoksa hata alma olasılığınız oldukça yüksektir.
- Eğer SIP Aktifken önbellek dosyaları yapılandırıldığında bu problem yaratabilir. Ancak SIP Config.plist Clover üzerinden kapalı ise sorun yaşanmaz.
Sistem her güncellendiğinde önbellek dosyaları yeniden yapılandırılır. Bu yüzden güncelleme öncesi mutlaka SIP kaptılmalıdır. Zira SIP aktif iken yapılacak herhangi bir güncellemede önbellek dosyasında mevcut olmayan FakeSMC.kext yüzünden sistem açılmayacaktır. Bu yüzden sistem güncellemesinde yapılacak işlemler aşağıdaki gibi olmalıdır:
- SIP kapatılacak
- Sistem Güncelleme Yapılacak ( yeniden başlatılacak)
- Sistem yeniden başlatıldıktan sonra SIP aktif edilecek.
Bunun için:
- Clover Boot Menü ekranında iken OS X kurulumu yaptığınız disk üstüne gelin ve boşluk tuşuna basın.
- Açılan pencerede "Boot Mac OS X in single user verbose mode” seçin. Şimdi terminal ekranına benzeyen bir ekrana gelmiş olacaksınız. Buraya aşağıdaki komutları sırayla girin:
Kod:sck -fy mount -uw / touch /System/Library/Extensions && kextcache -u / reboot
- Sistemi USB kurulum diski ile başlatın.
- Sistem açıldıktan sonra Terminal açın ve şu komutları girin:
Kod:touch /System/Library/Extensions && kextcache -u /
Son düzenleme: