Eu tenho um kext que gostaria de ser carregado no momento da inicialização. Ele não precisa ser carregado particularmente no início do processo, mas eu gostaria que fosse carregado antes que um usuário efetue login.
O kext em questão é o InsomniaT e, ao contrário de um driver de dispositivo, não há nada que exija automaticamente que ele seja carregado no kernel; basta colocá-lo em / System / Library / Extensions.
Qual é a melhor forma de fazer isso?
kext
que/Library/Extensions
, definir as permissões para 755 e o proprietário / grupo a raiz: roda, e reconstruir o cache de kernel depois de carregá-lo?Respostas:
Use um daemon de inicialização para executar / sbin / kextload na inicialização.
Você pode querer algo nesse sentido ... link text
fonte
O link de Steve Folly é preciso, mas para tê-lo aqui:
Crie um arquivo plist (que é apenas um documento XML em texto sem formatação) chamado algo como com.domain.identifier.plist em / Library / LaunchDaemons com conteúdo semelhante a este:
(Existe uma página de manual, launchd.plist (5), que especifica a sintaxe dos arquivos plist do LaunchDaemon.)
Eu o converti em um arquivo plist binário apenas para uma verificação trivial da sintaxe:
Em seguida, ative o LaunchDaemon para executar na inicialização:
E verifique se está lá:
O LaunchDaemon deve ser executado na inicialização e carregar o kext.
fonte
plutil
também possui uma-lint
opção para verificação de sintaxe, que também é a opção padrão para nenhum argumento.