/Library/Extensions Altına Kext Kurulumu
Bu rehber hangi macOS sürümlerini kapsıyor?
Rehberde bahsedilen yöntemler aşağıdaki macOS sürümlerinde çalışacaktır:
3. Parti Kext'leri nereye kurmalıyım?
Clover Bootloader kullanırken, Apple olmayan bir donanımda macOS'u çalıştırmak için gereken 3. parti kextler için kullanabileceğiniz iki yöntem var:
Neden Clover Inject yöntemi yerine /Library/Extensions yöntemini kullanmalıyım?
* "Korumalı macOS belleği" terimi bu rehberde genel bir tanımlayıcı olarak kullanılmıştır. Aslında /L/E altına kurulan kextler macOS'in çekirdek hafızasına yüklenir. Bu hafıza korumalıdır, uygulama ve çalışma belleğinden ayrılmıştır. Çekirdek hafızada çalışan her şey (kextler dahil) inject edilmiş veya edilmemiş olsun, macOS tarafından izlenir.
** Lilu ve eklentileri hata ayıklama ve kayıt tutma özelliklerine sahiptir. Inject edildiklerinde çalışırlar.
Neden Clover'da Inject Kexts özelliği var?
Clover'ın Inject Kexts özelliğini desteklemesinin asıl nedeni aşağıdaki bileşenlerin gerektirdiği önemli kextleri yükleyebilmektir:
Yine de EFI/Clover/kexts/Other altına kext yüklerken iyi düşünün. Yukarıdaki paketleri çalıştırmak için en asgari kextleri yüklemek yeterli.
Kritik kextlere örnekler:
Clover kextleri Inject edip etmeyeceğini nereden biliyor?
Clover -> System Parameters -> Inject Kexts parametresini "Detect" olarak ayarlayın.
Bu ayarla birlikte Clover, select/boot macOS dediğinizde /Library/Extensions ya da macOS Kernel Cache altında FakeSMC (ya da Lilu + VirtualSMC) var mı diye kontrol edecektir. Eğer Clover bunu tespit ederse başka hiçbir kexti inject etmeyecektir ve macOS'i /Library/Extensions ya da Kernel Cache altından tüm 3. parti kextleri yüklemesi (FakeSMC dahil) için rahat bırakacaktır.
Eğer Clover, Kurtarma ya da Güncelleme menüsüne boot ederken /Library/Extensions veya macOS Kernel Cache içinde FakeSMC (ya da Lilu + VirtualSMC) tespit edemezse EFI/Clover/kexts/Other klasöründeki tüm kextleri inject edecektir.
/Library/Extensions içine nasıl kext yüklerim?
Önemli: /Library/Extensions klasörüne kext kopyalamak için Finder'ı kullanmayın. Finder kextleri düzgün bir biçimde yüklemeyecektir.
Ön gereksinimler
Önce macOS'in imzalanmamış kextleri/sürücüleri yükleme iznine sahip olduğundan emin olmalıyız. Bunun için Clover'ın RTVariables kısmındaki BooterConfig ve CsrActiveConfig değerlerini doğru değerlere getirmek gerekiyor.
Bu değerleri Clover Configurator'ın RTVariables kısmından da ayarlayabilirsiniz:
Not: Birkaç kullanıcı Catalina'nın son sürümünde kextleri \L\E altına yüklemesi için SIP'i devreye sokmak gerektiğini raporladı. Eğer yukarıdaki yöntemlerle Catalina'da kextleri \L\E altına yükleyemediğinizi fark ederseniz CsrActiveConfig değerini 0x0 yapın ve kextleri aşağıdaki gibi yüklemeyi deneyin. Yüklendikten sonra CsrActiveConfig değerini 0x67 yaparak eski haline getirin.
Hackintool Yöntemi
Ön gereksinimler
Hackintool'un son sürümüne sahip olduğunuzdan emin olun: [Release] Hackintool v3.x.x
İpucu: Eğer yüklemeniz gereken bir sürü kext varsa bunları ortak bir klasöre toplu bir şekilde kopyalayın.
Hackintool'u çalıştırın. Uygulamanın üst kısmındaki Utilities simgesine tıklayın. (Önceki sürümlerde bunun adı Tools idi.)
Şimdi de alt menüden Install Kexts(s) simgesine tıklayın.
Kextleri yüklemek istediğiniz klasöre gidin ve yüklemek istediğiniz kextleri (CMD-Sol Tık) seçin ki vurgulansın. Sonra Select'e tıklayın.
Hackintool sizden admin/sistem şifrenizi girmenizi isteyecektir:
Hackintool kextleri nereye kurmak istediğinizi soracaktır. Varsayılan olarak /L/E gelir. O yüzden "Select Destination" butonuna tıklayın.
Bu aşamada eğer macOS Catalina ya da sonrası bir sürüm kullanıyorsanız Hackintool size "Gatekeeper'ı devre dışı bırak ve sistem sürücüsünü Okuma/Yazma modunda mount et" sorusunu soracaktır. OK'e basın. (Not: Gatekeeper, sistem sürücüsü bir sonraki yeniden başlatmada Sadece Okuma moduna geçtiği zaman yeniden devreye girecektir.)
Hackintool seçilen kextleri /L/E altına yükleyecek, tüm kext izinlerini onaracak ve kext önbelleklerini yeniden oluşturacaktır.
İşlem tamamlandığında aşağıdaki gibi bir ekran görmeniz gerekiyor:
Bu kadar... İşlem tamam. Satırların kırmızı olduğuna bakmayın. Bu çok normal. Yeni kurulan kextlerin yüklenmesi için sistemi yeniden başlatın.
Terminal/Konsol Yöntemi
Sadece macOS Catalina için:
Kextleri yüklemeden önce Gate Keeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma modunda mount etmelisiniz.
Tüm macOS sürümleri için:
Yukarıdaki komut seti Hackintool ve Kext Utility'nin yaptığını taklit etmektedir. /S/L/E içindeki sistem kextlerinde ya da \L\E içindeki üçüncü parti kextlerde herhangi bir dosya izni problemi olmadığından emin olmalıdır.
Bittiğinde sisteminizi yeniden başlatınız.
Kext Güncelleme
Bir ya da daha fazla kext güncellemesi yapmak isterseniz sadece güncellemek istediğiniz kextleri (hepsini seçmeyin ya da hepsini silmeyin) /Library/Extensions içinden Finder ile silin. Sonra yeni sürümleri bu rehberde anlatıldığı gibi yükleyin.
Not: Catalina kullanıcıları önce Hackintool'u çalıştırmalı ve Tools kısmındaki simgeye tıklayarak Gatekeeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma moduna mount etmelidir. Sonra güncellemek istediğiniz kextleri silebilir, güncel kextleri Hackintool ile yükleyebilirsiniz.
EFI/Clover/kexts/Other içindeki kextleri güncellemek için Finder'ı kullanarak yeni kextleri kopyalayıp yapıştırın. Uyarı gelirse Değiştir deyin.
Kext Silme
Bir ya da daha fazla kexti silmek isterseniz Finder'dan \L\E dizinine gidin ve ihtiyacınız olmayan kextleri seçip çöp kutusuna taşıyın(sağ tık).
Not: Catalina kullanıcıları önce Hackintool'u çalıştırmalı ve Tools kısmındaki simgeye tıklayarak Gatekeeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma moduna mount etmelidir. Sonra ilgili kextleri silebilirsiniz.
Ardından Hackintool'u çalıştırarak "Tools" menüsündeki "Repair Permissions and Rebuild Caches" özelliğini kullanın.
İzinleri onarmak ve önbellekleri yenilemek için alternatif olarak Kext Utility ya da Terminal komutlarını da kullanabilirsiniz.
Özet
Kaynak: [GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina
Bu rehber hangi macOS sürümlerini kapsıyor?
Rehberde bahsedilen yöntemler aşağıdaki macOS sürümlerinde çalışacaktır:
- macOS 10.11.X - El Capitan
- macOS 10.12.X - Sierra
- macOS 10. 13.X - High Sierra
- macOS 10.14.X - Mojave
- macOS 10.15.X - Catalina
3. Parti Kext'leri nereye kurmalıyım?
Clover Bootloader kullanırken, Apple olmayan bir donanımda macOS'u çalıştırmak için gereken 3. parti kextler için kullanabileceğiniz iki yöntem var:
- Tüm 3. parti kextleri /EFI/Clover/Kexts/Other altına kopyaladıktan sonra Clover -> System Parameters -> Inject Kexts seçeneğini Yes yaparak kextleri yükleyebilirsiniz.
- FakeSMC dahil tüm 3. parti kextleri /Library/Extensions (/L/E) altına yükleyebilirsiniz ki bu rehberin kapsadığı yöntem de bu olacaktır.
Neden Clover Inject yöntemi yerine /Library/Extensions yöntemini kullanmalıyım?
- Clover Inject ile yüklenen kextler "korumalı macOS belleği"nin dışında tutulurlar.
- Clover Inject yöntemi yüksek miktarda kext için kullanıldığında sistem kararlılığı bozulabilir.
- Bazı eski kextler Clover Inject yöntemi ile çalışmamaktadır.
- Clover Inject ile yüklenen kextler kernel önbelleğine dahil edilmez ve bu yüzden macOS'in hata yoklama sisteminden faydalanamaz.
* "Korumalı macOS belleği" terimi bu rehberde genel bir tanımlayıcı olarak kullanılmıştır. Aslında /L/E altına kurulan kextler macOS'in çekirdek hafızasına yüklenir. Bu hafıza korumalıdır, uygulama ve çalışma belleğinden ayrılmıştır. Çekirdek hafızada çalışan her şey (kextler dahil) inject edilmiş veya edilmemiş olsun, macOS tarafından izlenir.
** Lilu ve eklentileri hata ayıklama ve kayıt tutma özelliklerine sahiptir. Inject edildiklerinde çalışırlar.
Neden Clover'da Inject Kexts özelliği var?
Clover'ın Inject Kexts özelliğini desteklemesinin asıl nedeni aşağıdaki bileşenlerin gerektirdiği önemli kextleri yükleyebilmektir:
- macOS Yükleyicisi
- macOS Güncelleyicisi
- macOS Kurtarma
Yine de EFI/Clover/kexts/Other altına kext yüklerken iyi düşünün. Yukarıdaki paketleri çalıştırmak için en asgari kextleri yüklemek yeterli.
Kritik kextlere örnekler:
- FakeSMC (ya da Lilu + VirtualSMC) zorunludur ve her zaman EFI/Clover/kexts/Other içine dahil edilmelidir
- Bazı GPU ya da iGPU'lar Lilu + WhatEverGreen kextlerine ihtiyaç duyabilir
- NAS üzerinden TimeMachine yedeğine dönmek istiyorsanız Ethernet sürücüsü
- Laptoptan girilen Kurtarma menüsünde klavye ve trackpad kullanabilmek için VoodooPS2Controller
- Ses sürücüleri (AppleALC)
- Bluetooth sürücüleri
- Airport sürücüleri
- FakeSMC sensör eklentileri
Clover kextleri Inject edip etmeyeceğini nereden biliyor?
Clover -> System Parameters -> Inject Kexts parametresini "Detect" olarak ayarlayın.
Bu ayarla birlikte Clover, select/boot macOS dediğinizde /Library/Extensions ya da macOS Kernel Cache altında FakeSMC (ya da Lilu + VirtualSMC) var mı diye kontrol edecektir. Eğer Clover bunu tespit ederse başka hiçbir kexti inject etmeyecektir ve macOS'i /Library/Extensions ya da Kernel Cache altından tüm 3. parti kextleri yüklemesi (FakeSMC dahil) için rahat bırakacaktır.
Eğer Clover, Kurtarma ya da Güncelleme menüsüne boot ederken /Library/Extensions veya macOS Kernel Cache içinde FakeSMC (ya da Lilu + VirtualSMC) tespit edemezse EFI/Clover/kexts/Other klasöründeki tüm kextleri inject edecektir.
/Library/Extensions içine nasıl kext yüklerim?
Önemli: /Library/Extensions klasörüne kext kopyalamak için Finder'ı kullanmayın. Finder kextleri düzgün bir biçimde yüklemeyecektir.
Ön gereksinimler
Önce macOS'in imzalanmamış kextleri/sürücüleri yükleme iznine sahip olduğundan emin olmalıyız. Bunun için Clover'ın RTVariables kısmındaki BooterConfig ve CsrActiveConfig değerlerini doğru değerlere getirmek gerekiyor.
Kod:
<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x67</string>
.
.
.
</dict>
Bu değerleri Clover Configurator'ın RTVariables kısmından da ayarlayabilirsiniz:
Not: Birkaç kullanıcı Catalina'nın son sürümünde kextleri \L\E altına yüklemesi için SIP'i devreye sokmak gerektiğini raporladı. Eğer yukarıdaki yöntemlerle Catalina'da kextleri \L\E altına yükleyemediğinizi fark ederseniz CsrActiveConfig değerini 0x0 yapın ve kextleri aşağıdaki gibi yüklemeyi deneyin. Yüklendikten sonra CsrActiveConfig değerini 0x67 yaparak eski haline getirin.
Hackintool Yöntemi
Ön gereksinimler
Hackintool'un son sürümüne sahip olduğunuzdan emin olun: [Release] Hackintool v3.x.x
İpucu: Eğer yüklemeniz gereken bir sürü kext varsa bunları ortak bir klasöre toplu bir şekilde kopyalayın.
Hackintool'u çalıştırın. Uygulamanın üst kısmındaki Utilities simgesine tıklayın. (Önceki sürümlerde bunun adı Tools idi.)
Şimdi de alt menüden Install Kexts(s) simgesine tıklayın.
Kextleri yüklemek istediğiniz klasöre gidin ve yüklemek istediğiniz kextleri (CMD-Sol Tık) seçin ki vurgulansın. Sonra Select'e tıklayın.
Hackintool sizden admin/sistem şifrenizi girmenizi isteyecektir:
Hackintool kextleri nereye kurmak istediğinizi soracaktır. Varsayılan olarak /L/E gelir. O yüzden "Select Destination" butonuna tıklayın.
Bu aşamada eğer macOS Catalina ya da sonrası bir sürüm kullanıyorsanız Hackintool size "Gatekeeper'ı devre dışı bırak ve sistem sürücüsünü Okuma/Yazma modunda mount et" sorusunu soracaktır. OK'e basın. (Not: Gatekeeper, sistem sürücüsü bir sonraki yeniden başlatmada Sadece Okuma moduna geçtiği zaman yeniden devreye girecektir.)
Hackintool seçilen kextleri /L/E altına yükleyecek, tüm kext izinlerini onaracak ve kext önbelleklerini yeniden oluşturacaktır.
İşlem tamamlandığında aşağıdaki gibi bir ekran görmeniz gerekiyor:
Bu kadar... İşlem tamam. Satırların kırmızı olduğuna bakmayın. Bu çok normal. Yeni kurulan kextlerin yüklenmesi için sistemi yeniden başlatın.
Terminal/Konsol Yöntemi
Sadece macOS Catalina için:
Kextleri yüklemeden önce Gate Keeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma modunda mount etmelisiniz.
Kod:
sudo spctl --master-disable
sudo mount -uw
sudo killall Finder
Tüm macOS sürümleri için:
- Finder'ı kullanarak masaüstünde bir klasör oluşturun. Yüklemek istediğiniz tüm kextleri bu klasör içine kopyalayın.
- Terminal'i açın. CD komutunu kullanarak aktif dizini 1. aşamada oluşturduğunuz klasöre getirin.
- Bu komutu kullanarak kextleri \Library\Extensions klasörüne yükleyin: [/CODE]sudo cp -R *.kext /Library/Extensions[//CODE]
- İzinleri onarmak ve önbellekleri yenilemek için aşağıdaki komutları teker teker girin:
Kod:
sudo chown -v -R root:wheel /System/Library/Extensions
sudo touch /System/Library/Extensions
sudo chmod -v -R 755 /Library/Extensions
sudo chown -v -R root:wheel /Library/Extensions
sudo touch /Library/Extensions
sudo kextcache -i /
Bittiğinde sisteminizi yeniden başlatınız.
Kext Güncelleme
Bir ya da daha fazla kext güncellemesi yapmak isterseniz sadece güncellemek istediğiniz kextleri (hepsini seçmeyin ya da hepsini silmeyin) /Library/Extensions içinden Finder ile silin. Sonra yeni sürümleri bu rehberde anlatıldığı gibi yükleyin.
Not: Catalina kullanıcıları önce Hackintool'u çalıştırmalı ve Tools kısmındaki simgeye tıklayarak Gatekeeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma moduna mount etmelidir. Sonra güncellemek istediğiniz kextleri silebilir, güncel kextleri Hackintool ile yükleyebilirsiniz.
EFI/Clover/kexts/Other içindeki kextleri güncellemek için Finder'ı kullanarak yeni kextleri kopyalayıp yapıştırın. Uyarı gelirse Değiştir deyin.
Kext Silme
Bir ya da daha fazla kexti silmek isterseniz Finder'dan \L\E dizinine gidin ve ihtiyacınız olmayan kextleri seçip çöp kutusuna taşıyın(sağ tık).
Not: Catalina kullanıcıları önce Hackintool'u çalıştırmalı ve Tools kısmındaki simgeye tıklayarak Gatekeeper'ı devre dışı bırakmalı ve sistem bölümünü Okuma/Yazma moduna mount etmelidir. Sonra ilgili kextleri silebilirsiniz.
Ardından Hackintool'u çalıştırarak "Tools" menüsündeki "Repair Permissions and Rebuild Caches" özelliğini kullanın.
İzinleri onarmak ve önbellekleri yenilemek için alternatif olarak Kext Utility ya da Terminal komutlarını da kullanabilirsiniz.
Özet
- macOS Yükleyici, Güncelleyici ve Kurtarma bölümleri için gereken kritik kextleri ve FakeSMC'yi EFI/Clover/kexts/Other altına kopyalayın.
- macOS için gereken tüm 3. parti kextleri (FakeSMC dahil) /Library/Extensions altına yükleyin
Clover -> System Parameters -> Inject Kexts
ayarınıDetect
yapın.
Kaynak: [GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina