Kext açılımı itibari ile Kernel Extensions anlamını taşır yani Türkçe'ye çevirirsek Çekirdek Uzantısı anlamındadır. Burada ufak bir noktaya değinmek isterim Kernel yani Çekirdek işletim sisteminin temelini oluşturan bir mimari diye adlandırsak sanırım yanlış olmaz tabi burada Kernel nedir ne işe yarar gibi detaylara girmeyeceğim, her işletim sistemini oluşturan çekirdek yapısı farklıdır bunu en çok linux dağıtımlarında görmekteyiz. Çekirdek uzantısı yani konumuz olan Kext ise çekirdeğin çevre birimler ile olan bağlantısını sağlamaktır ve bu sistem sadece macOS işletim sistemine özgüdür, windows üzerinde ise bu sisteme sürücü adı verilir donanımlar sürücüler olmadan çalışmaz iken macOS üzerinde de donanımlar çekirdeğe uyumlu uzantılar olmadan çalışmazlar. Bu yüzden eski bir çekirdek uzantısı yeni bir macOS sürümünde çalışmayacaktır çünkü farklı çekirdekler üzerine tanımlıdırlar. Her Kext işletim sisteminin çekirdeğine (kernel) göre yapılandırılır ve kullanılır. Yeni yazılmış yada derlenmiş bir kextin eski macOS sürümleri üzerinde çalışması mümkündür, bazı durumlarda ise yeni yazılmış bir Kext eski macOS ve/veya OS X sürümlerinde çalışmayabilir hatta sistemin açılmamasına sebep olabilir.
Kext Nasıl ve Nereye Kurulur ?
Normal macOS kullanıcıları için Kext'in kurulabileceği iki konum bulunmaktadır bunlar;
- S/L/E System/Library/Extensions (Sistem/Kitaplık/Extensions)
- L/E Library/Extensions (Kitaplık/Extensions)
- S/L/E System/Library/Extensions (Sistem/Kitaplık/Extensions)
- L/E Library/Extensions (Kitaplık/Extensions)
- Eğer Clover Bootloader kullanılıyor ise E/C/K/O (EFI/Clover/Kexts/Other) (Bazı durumlarda işletim sistemi numarasına göre 10.11-10.12-10.13-10.14-10.15)
- Eğer OpenCore Bootloader kullanılıyor ise E/O/K (EFI/OC/Kexts)
Kext kurulumları hangi konuma kurulacağına göre değişmektedir.
Eğer Clover bootloader kullanıyorsak ve E/C/K/O içerisine bir Kext eklemek istiyorsak config dosyamızda "Inject Kexts=Yes" olarak ayarlı olması ve yükleyeceğimiz kexti E/C/K/O konumuna eklememiz yeterlidir ek bir ayar yapılmasına gerek yoktur. Windows yanına kurulum yapılan MBR kurulumlarda SIP devre dışı bırakılması gerekebilir.
Eğer OpenCore bootloader kullanıyorsak ve E/O/K içerisine bir Kext eklemek istiyorsak ilgili kexti bu konuma ekledikten sonra config dosyamızı OpenCore Configurator ile açıp Kernel sekmesine gelip kextin konumunu göstererek config dosyamıza işlememiz gerekmektedir. OpenCore bootloader dosya EFI/OC/Kexts içerisinde olsa dahi config dosyasında olmayan bir kexti sisteme enjekte etmez ve Kext kullanılmaz bu yüzden her kullanılacak Kext config içerisinde ekli olmalıdır.
Bootloader farketmeksizin (SIP ve Gatekeeper devre dışı olmak kaydıyla) S/L/E ve L/E konumlarına Kext yüklemek için ise iki farklı yol izlenebilir tavsiyemiz birinci yolu kullanmanızdır.
Herhangi bir Kext yükleme programı örneğin KCPM Utility Pro ile kextin yükleneceği konum seçilir ve Kext belirtilir bu aşamadan sonra gerekli işlemleri program kendisi halletmektedir ekstradan bir (programın ayarları ile oynanmadı ise) rebuild cache işlemine gerek kalmaz sistem yeniden başladıktan sonra ilgili Kext çalışmaya başlayacaktır.
İkinci yöntem ise biraz daha işi kavramış ve program kullanmak istemeyenlerin tercih ettiği yöntemdir. Bu yöntemde ilgili Kext hangi konuma yüklenecek ise kopyala-yapıştır metotu ile konuma eklenir ve terminal açılarak "sudo kextcache -i /" komutu yazılır şifre girildikten sonra rebuild cache işlemi başlar ve bittikten sonra sistem yeniden başladığında Kext çalışmaya başlar.
Dipnot : Kextler her konumda aynı şekilde çalışmaktadır, fakat Clover Bootloader kextleri her zaman düzgün şekilde sisteme enjekte edemediği için bazı durumlarda sorunlar yaşanabilmektedir bu yüzden Clover Bootloader kullanan kişiler genelde kextlerini S/L/E ve/veya L/E içerisine kurmaktadırlar, güncel Clover Bootloaderda ve OpenCore Bootloaderda bu sorunlar yaşanmamaktadır. Bu yüzden kextleri EFI içerisinde kullanmak en mantıklısı olacaktır.
Kextlerimizi nereye ve nasıl kuracağımızın mantığını kavradığımıza göre gelelim biz Hackintosh kullanıcıları için önemli bazı kextleri tanımaya.
Son düzenleme:
- Laptop Modeli
- Lenovo IdeaPad 300-15isk
- Anakart Modeli
- 1- Asus TUF H310-Plus Gaming 2-Asus P8H61
- İşlemci Modeli
- 1- i5 9400F 2- i5-2400
- Grafik Kartı
- 1- RX 570VR 2- 9600GT
- Ses Kartı Modeli
- 1- Realtek ALC887 2- Realtek ALC888B
- Ağ Aygıtları
- 1- İntel L211 2- Realtek RTL8169
- Disk ve RAM
- 1- 240 GB SSD & 1000 GB HDD & 16 GB DDR4 2- 240 GB SSD & 500 GB HDD & 16 GB DDR3