Как загрузить & Выгрузить расширения ядра в Mac OS X

Оглавление:

Anonim

Расширения ядра, для краткости называемые kext, представляют собой модули кода, которые загружаются непосредственно в пространство ядра Mac OS X и могут выполняться на низком уровне для выполнения различных задач. Большинство кекстов являются частью основного системного программного обеспечения Mac OS X, обычно это драйверы аппаратных устройств, но некоторые сторонние приложения также устанавливают кексты.

Иногда опытным пользователям Mac и системным администраторам может потребоваться вручную загрузить или выгрузить расширение ядра.Поскольку расширения ядра часто являются важными компонентами MacOS, это подходит только для пользователей, у которых есть конкретная причина для изменения того, загружается или выгружается kext в пространство ядра MacOS X. Неправильное изменение поведения kext может сделать аппаратное обеспечение Mac бесполезным или недоступным, а также вообще помешать работе Mac OS X, поэтому не пытайтесь изменить какое-либо расширение ядра без веской причины и понимания того, как оно используется.

Загрузка расширения ядра в Mac OS X с помощью kextload

Чтобы загрузить расширение ядра в Mac OS X, вам потребуется использовать утилиту командной строки kextload. В остальном синтаксис достаточно прост, для выполнения действия требуется sudo для административного доступа:

sudo kextload /path/to/kext.kext

Вы также можете использовать идентификатор пакета (который часто является целью команд по умолчанию) с флагом -b:

sudo kextload -b com.apple.driver.ExampleBundle

В любом случае нажмите клавишу возврата, и после ввода пароля администратора расширение ядра будет загружено в Mac OS X.

Вы можете подтвердить, что ядро ​​было загружено, перечислив его с помощью kextstat, используя grep для поиска заданного имени следующим образом:

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

Это может быть полезно после ручной установки расширения ядра в Mac OS X, так как в некоторых ситуациях это предотвратит необходимость перезагрузки Mac.

Современные версии Mac OS X также позволяют выполнять загрузку расширения ядра с помощью команды kextutil, которая немного более полнофункциональна для целей отладки, но в остальном то же самое для загрузки kext.

Выгрузка расширения ядра с помощью kextunload

Выгрузка расширения ядра из Mac OS X в основном аналогична загрузке kext, за исключением того, что вы будете использовать утилиту kextunload с sudo следующим образом:

sudo kextunload -b com.apple.driver.ExampleBundle

Или указав непосредственно путь к расширениям ядра:

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

Опять же, вы можете подтвердить, что расширение ядра было выгружено с помощью kextstat и grep, где оно ничего не должно возвращать.

Как загрузить & Выгрузить расширения ядра в Mac OS X