Иногда передовым пользователям Mac и системным администраторам может потребоваться вручную загрузить или выгрузить расширение ядра. Поскольку расширения ядра часто являются критическими компонентами OS X, это подходит только тем пользователям, у которых есть конкретная причина для изменения того, загружается или выгружается kext в пространство ядра OS X. Неправильное изменение поведения kext может привести к тому, что оборудование Mac окажется бесполезным или недоступным, а также может помешать работе OS X вообще, поэтому не пытайтесь изменить любое расширение ядра без веской причины и понимания того, что это такое.
Загрузка расширения ядра в OS X с помощью kextload
Чтобы загрузить расширение ядра в OS X, вам понадобится утилита командной строки kextload. Синтаксис в противном случае достаточно прост, требуя sudo для административного доступа для выполнения действия:
sudo kextload /path/to/kext.kext
Вы также можете использовать идентификатор пакета (который часто является целями команд по умолчанию) с флагом -b:
sudo kextload -b com.apple.driver.ExampleBundle
В любом случае, нажмите return и с вводом пароля администратора расширение ядра будет загружено в OS X.
Вы можете подтвердить, что ядро было загружено путем перечисления его с помощью kextstat, используя grep для поиска имени:
$ kextstat | grep com.apple.driver.ExampleBundle
125 0 0xddddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1
Это может быть полезно после ручной установки расширения ядра в OS X, так как в некоторых ситуациях это предотвратит необходимость перезагрузки Mac.
Современные версии Mac OS X также позволяют завершить загрузку ядра с помощью команды kextutil, которая является более полной версией для отладки, но в остальном она одинакова для загрузки kext.
Выгрузка расширения ядра с помощью kextunload
Выгрузка расширения ядра из OS X в основном такая же, как и загрузка kext, за исключением того, что вы используете утилиту kextunload с sudo следующим образом:
sudo kextunload -b com.apple.driver.ExampleBundle
Или указав прямо на путь расширения ядра:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Опять же, вы можете подтвердить, что расширение ядра было выгружено с помощью kextstat и grep, где он ничего не должен возвращать.