Объясните пользователю Linux, как работают драйверы BSD/OSX.

Объясните пользователю Linux, как работают драйверы BSD/OSX.

Драйверы Linux поставляются в виде модулей ядра ( *.koфайлов), которым можно задавать параметры при загрузке в ядро, и обычно они находятся в файлах /lib/modules/<kernel version>.

Какова аналогичная договоренность для BSD/OSX? Например, я только что установил MacFUSE и с трудом понимаю, что именно установщик добавил в мою систему.

решение1

Я не уверен насчет других BSD, но у OSX есть расширения ядра (известные как kext).

Kexts находятся в /System/Library/Extensions/. Каждый из них представляет собой папку, содержащую описание устройства и инструкцию (те, которые делают драйвер). Для работы вещей в kext нужны соответствующие права доступа к файлам (обычно они принадлежат пользователю 0:0с маской ).755

После установки kext ОС автоматически загрузит его при перезагрузке (хотя иногда и мгновенно). Иногда вам нужно очистить кэш kext ( rm -r /System/Library/Extensions/Caches/), прежде чем новый kext будет работать правильно.

Связанный контент