Cara Memuat & Membongkar Ekstensi Kernel di OS X

Ekstensi Kernel, yang disebut kext untuk pendek, adalah modul kode yang dimuat langsung ke ruang kernel OS X, dapat berjalan pada tingkat rendah untuk melakukan berbagai tugas. Kebanyakan kexts adalah bagian dari perangkat lunak sistem Mac OS X, biasanya driver perangkat keras, tetapi beberapa aplikasi pihak ketiga akan menginstal kext juga.

Terkadang, pengguna Mac dan administrator sistem yang canggih mungkin perlu secara manual memuat atau membongkar ekstensi kernel. Karena ekstensi kernel sering merupakan komponen penting dari OS X, ini hanya cocok untuk pengguna yang memiliki alasan khusus untuk memodifikasi apakah sebuah kext dimuat atau diturunkan ke ruang kernel OS X. Modifikasi perilaku kext yang tidak sesuai dapat membuat perangkat keras Mac tidak berguna atau tidak dapat diakses, dan juga dapat mencegah OS X berfungsi sama sekali, jadi jangan mencoba mengubah ekstensi kernel apa pun tanpa alasan kuat dan pemahaman tentang apa itu penggunaan.

Memuat Ekstensi Kernel di OS X dengan kextload

Untuk memuat ekstensi kernel ke OS X, Anda harus menggunakan utilitas baris perintah kextload. Sintaksnya cukup sederhana, membutuhkan sudo untuk akses administratif untuk melakukan aksi:

sudo kextload /path/to/kext.kext

Anda juga dapat menggunakan pengenal bundel (yang sering menjadi sasaran perintah default) dengan tanda -b:

sudo kextload -b com.apple.driver.ExampleBundle

Either way, tekan kembali dan dengan masuknya kata sandi administrator ekstensi kernel akan dimuat ke OS X.

Anda dapat mengonfirmasi bahwa kernel telah dimuat dengan mencantumkannya dengan kextstat, menggunakan grep untuk mencari nama yang diberikan seperti:

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

Ini dapat membantu setelah menginstal ekstensi kernel ke OS X secara manual karena dalam beberapa situasi itu akan mencegah kebutuhan untuk me-reboot Mac.

Versi modern dari Mac OS X juga memungkinkan pemuatan ekstensi kernel untuk diselesaikan dengan perintah kextutil, yang sedikit lebih lengkap untuk alasan debugging, tetapi sebaliknya sama untuk memuat kext.

Unloading Ekstensi Kernel dengan kextunload

Unloading ekstensi kernel dari OS X pada dasarnya sama persis dengan memuat kext, kecuali Anda akan menggunakan utilitas kextunload dengan sudo sebagai berikut:

sudo kextunload -b com.apple.driver.ExampleBundle

Atau dengan menunjuk langsung ke jalur ekstensi kernel:

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

Sekali lagi, Anda dapat mengkonfirmasi ekstensi kernel telah diturunkan dengan menggunakan kextstat dan grep, di mana seharusnya tidak ada yang dikembalikan.