Jak načíst & Unload Kernel Extensions v Mac OS X
Obsah:
- Načtení rozšíření jádra v systému Mac OS X pomocí kextload
- Uvolnění rozšíření jádra pomocí kextunload
Rozšíření jádra, zkráceně nazývaná kext, jsou moduly kódu, které se načítají přímo do prostoru jádra systému Mac OS X a mohou běžet na nízké úrovni a provádět různé úkoly. Většina kextů je součástí základního softwaru systému Mac OS X, obvykle ovladačů hardwarových zařízení, ale některé aplikace třetích stran nainstalují také kext.
Pokročilí uživatelé počítačů Mac a správci systémů mohou někdy potřebovat ručně načíst nebo uvolnit rozšíření jádra.Protože rozšíření jádra jsou často kritickými součástmi MacOS, je to vhodné pouze pro uživatele, kteří mají konkrétní důvod upravovat, zda je kext načten nebo uvolněn do prostoru jádra MacOS X. Nevhodná úprava chování kext může způsobit, že hardware Mac bude zbytečný nebo nepřístupný a může také zabránit Mac OS X ve správném fungování, takže se nepokoušejte měnit žádné rozšíření jádra bez pádného důvodu a pochopení jeho použití.
Načtení rozšíření jádra v systému Mac OS X pomocí kextload
K načtení rozšíření jádra do Mac OS X budete muset použít nástroj kextload z příkazového řádku. Syntaxe je jinak dostatečně jednoduchá a vyžaduje sudo pro administrativní přístup k provedení akce:
sudo kextload /cesta/k/kext.kext
Můžete také použít identifikátor svazku (které jsou často cílem výchozích příkazů) s parametrem -b:
sudo kextload -b com.apple.driver.ExampleBundle
V každém případě stiskněte return a po zadání hesla administrátora se rozšíření jádra nahraje do Mac OS X.
Můžete potvrdit, že jádro bylo načteno jeho výpisem pomocí kextstat, pomocí grep vyhledejte dané jméno takto:
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle 2 (84)
To může být užitečné po ruční instalaci rozšíření jádra do Mac OS X, protože v některých situacích to zabrání nutnosti restartovat Mac.
Moderní verze systému Mac OS X také umožňují dokončit načítání rozšíření jádra pomocí příkazu kextutil, který je o něco plnohodnotnější z důvodů ladění, ale jinak je stejný pro načítání kext.
Uvolnění rozšíření jádra pomocí kextunload
Uvolnění rozšíření jádra z Mac OS X je v podstatě stejné jako načtení kext, kromě toho, že použijete nástroj kextunload se sudo následovně:
sudo kextunload -b com.apple.driver.ExampleBundle
Nebo odkazem přímo na cestu rozšíření jádra:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Opět můžete potvrdit, že rozšíření jádra bylo uvolněno pomocí kextstat a grep, kde by nemělo nic vracet.