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

Терминал в OS X

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

Иногда опытным пользователям 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

В любом случае, нажмите Return, и после ввода пароля администратора расширение ядра будет загружено в 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.

Загрузка и выгрузка расширений ядра в Mac OS X

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

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

sudo kextunload -b com.apple.driver.ExampleBundle

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

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *