OS X Üzerinde Kext Yükleme ve Kaldırma Nasıl Yapılır?

Kernel eklentileri (extensions), kısa adıyla Kext‘ler OS X kernel sistemine direk yüklenen kod modülleri olarak bilinir. Amaçları düşük seviye komutlarla sistem üzerinde bazı görevleri yerine getirirler. OS X sistemi ile beraber hazır gelen çeşitli Kext’ler olduğu gibi, üçüncü parti uygulama veya sürücüler ile beraber Kext’ler yüklenebilmektedir.

Bazı profesyonel kullanıcılar zaman zaman çeşitli yardımcı kextleri yükleyip, silme ihtiyacı hissedebilmektedirler. Ancak bu işlemin doğru yapılmaması sistemin güvenli ve doğru şekilde çalışmasına etki edebilmektedir. Dolayısıyla kext yükleme veya çıkarma işleminden önce yedekleme yapılması (örn: Timemachine) kesinlikle tavsiye edilmektedir.

terminal-icon-osx

OS X “kextload” komutuyla Kernel uzantıları (kext) nasıl yüklenir?

OS X sisteminde kernel uzantalarını yüklemek için kextload adında bir yardımcı uygulama bulunmaktadır. Bu komutu çalıştırmak için terminal ekranını kullanıyoruz.

kextload komutunun genel kullanımı şu şekildedir:

sudo kextload /path/to/kext.kext

-b parametresi ile aşağıdaki gibi “bundle” belirteç şekliyle de kullanılabiliyor.

sudo kextload -b com.apple.driver.ExampleBundle

sudo istemi ile çalıştırdığımızdan sistem yöneticisi (root) şifresini girdiğimizde yükleme işlemi yapılacaktır.

Yükleme işleminin başarılı olup olmadığını kextstat komutuyla grep kullanarak öğrenebiliriz.

$ kextstat |grep com.apple.driver.ExampleBundle
125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1

Ayrıca yeni OS X sistemlerde kextutil yardımıyla da benzer işler yapabiliyoruz.

OS X “kextunload” komutuyla Kernel uzantıları (kext) nasıl kaldırılır?

Yukarıdaki işlemin tersi yani herhangi bir kext kaldırma işlemi nasıl yapılır diye merak ediyorsanız bu kez kextunload komutu yardımımıza yetişiyor.

Komutun kullanımı benzer şekildedir.

sudo kextunload -b com.apple.driver.ExampleBundle

veya kext dosyamızın tam yolunu (path) biliyorsak aşağıdaki şekilde de kaldırma işlemini yapabiliriz.

sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext

Benzer şekilde kaldırma işleminin neticesini kontrol etmek için yine yukarıdaki gibi kextstat ve grep kullanabiliriz.