У меня есть рабочее расширение ядра OSX, которое я хотел бы как можно раньше автоматически загружать во время загрузки. Kext использует KAUTH для контроля доступа по определенному пути, поэтому мне кажется, что не будет ничего, что попросит его загрузить в ядро. В этом случае копирование в /Library/Extensions
(по крайней мере с тех пор, как Yosemite это рекомендуемый путь для сторонних расширений) не решит мою проблему.Загрузить ОС X kext в начале процесса загрузки
Есть ли возможность достичь этого, вне зависимости от того, изменяете ли код или какую-либо вспомогательную конфигурацию?
Я уже читал об использовании демона launchd для загрузки kextload, чтобы загрузить расширение, как указано в this question, но в моем случае я хочу, чтобы он был загружен как можно раньше.
Update:
Я использую "родовое" расширение ядра (связанное с библиотекой BSD) и не I/O Kit основан один.
Я хочу, чтобы мое расширение было загружено до запуска launchd
.
Привет, У меня есть одна и та же проблема, за исключением того, что я также хочу, чтобы мой kext загружался в безопасном режиме загрузки. Загружен ли ваш драйвер в безопасную загрузку как Что ж ? – Zohar81
Я могу загрузить драйвер в безопасную загрузку, все это благодаря клавише 'OsBundleRequired', установленному в файле' Info.plist'. В настоящее время я использую 'Root', но я помню работу с другими значениями. Выберите то, что лучше всего подходит вам из одного из значений, упомянутых в [документации] (https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KEXTConcept/Articles/infoplist_keys.html) – MathPlayer
, когда вы говорите " безопасный режим "означает ли вы режим восстановления?потому что я видел, что при загрузке из режима восстановления (нажатие команды + R при запуске) мой kext даже не найден в '/ Library/Extensions' – Zohar81