macOS Kext Yükleme, Güncelleme ve Silme

  • Konuyu başlatan MF
  • Başlangıç Tarihi
  • Mesaj 0
  • Görüntüleme 4B
Durum
Mesaj gönderimine kapalı.
/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:
  • 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
Not: Eğer FakeSMC yerine VirtualSMC kullanıyorsanız bu rehberde bahsedilen tüm FakeSMC'leri Lilu ve VirtualSMC kextleri ile değiştirmelisiniz. Bazı kullanıcılar erken boot aşamasında VirtualSMC'yi yüklemek için LiluFriend'i kurmak gerektiğini raporladı.

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:
  1. 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.
  2. 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.
Hangi yöntemi kullanacağınız tamamen size bağlı. Her bir yöntemin kendine göre avantajları ve dezavantajları var.

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.
Notlar:

* "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
Yukarıdakilerin hiçbiri tam anlamıyla bir işletim sistemi olmadığından ihtiyaç duyduğumuz kextleri yüklemek kolay olmuyor. Yukarıdaki herhangi bir pakete boot edebilmek için Clover'ı kullanarak önemli kextleri inject etmemiz gerekiyor. Çoğu kullanıcı bu paketleri çalıştırabilmek için EFI/Clover/kexts/Other altında sadece FakeSMC'ye ihtiyaç duymaktadır. Bazı kullanıcıların NAS tabanlı TimeMachine yedeklerine ve üçüncü parti depolama kontrolcülerine erişebilmek için ayrıca sürücü kextleri eklemeleri gerekebilir. macOS Kurtarma menüsünde fare kontrolü isteyen dizüstü kullanıcıları fare ya da trackpad kexti ekleyebilirler.

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
Kritik olmayan kextlere örnekler:
  • Ses sürücüleri (AppleALC)
  • Bluetooth sürücüleri
  • Airport sürücüleri
  • FakeSMC sensör eklentileri
Hangi kexte ihtiyaç duyup duymadığınız hakkında şüpheye düştüyseniz önce o kext olmadan test edin. En iyi test macOS Kurtarma (yüklü olduğu sürece) menüsüne boot etmek olacaktır. Sistem macOS Kurtarma'ya başarılı bir şekilde boot ediyorsa macOS Güncelleyici ve macOS Yükleyici için de aynısı geçerli olacaktır.

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:

1589556960511.png


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.

1589557409439.png


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.

1589557476256.png


Hackintool sizden admin/sistem şifrenizi girmenizi isteyecektir:

1589557500023.png


Hackintool kextleri nereye kurmak istediğinizi soracaktır. Varsayılan olarak /L/E gelir. O yüzden "Select Destination" butonuna tıklayın.

1589557552236.png


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.)

1589557702704.png


Hackintool seçilen kextleri /L/E altına yükleyecek, tüm kext izinlerini onaracak ve kext önbelleklerini yeniden oluşturacaktır.

1589557750976.png


İşlem tamamlandığında aşağıdaki gibi bir ekran görmeniz gerekiyor:

1589557769134.png


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:
  1. Finder'ı kullanarak masaüstünde bir klasör oluşturun. Yüklemek istediğiniz tüm kextleri bu klasör içine kopyalayın.
  2. Terminal'i açın. CD komutunu kullanarak aktif dizini 1. aşamada oluşturduğunuz klasöre getirin.
  3. Bu komutu kullanarak kextleri \Library\Extensions klasörüne yükleyin: [/CODE]sudo cp -R *.kext /Library/Extensions[//CODE]
  4. İ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 /
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.

1589559364124.png


İzinleri onarmak ve önbellekleri yenilemek için alternatif olarak Kext Utility ya da Terminal komutlarını da kullanabilirsiniz.

Özet
  1. 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.
  2. macOS için gereken tüm 3. parti kextleri (FakeSMC dahil) /Library/Extensions altına yükleyin
  3. Clover -> System Parameters -> Inject Kexts ayarını Detect yapın.

Kaynak: [GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina
 
Durum
Mesaj gönderimine kapalı.

Geri
Yukarı