Como carregar & descarregar extensões do kernel no Mac OS X
Índice:
- Carregando uma extensão de kernel no Mac OS X com kextload
- Descarregando uma extensão do kernel com kextunload
Às vezes, usuários avançados de Mac e administradores de sistemas podem precisar carregar ou descarregar manualmente uma extensão do kernel.Como as extensões do kernel geralmente são componentes críticos do MacOS, isso é apropriado apenas para usuários que têm um motivo específico para modificar se um kext é carregado ou descarregado no espaço do kernel do MacOS X. A modificação inadequada do comportamento do kext pode tornar o hardware do Mac inútil ou inacessível e também pode impedir que o Mac OS X funcione, portanto, não tente alterar nenhuma extensão do kernel sem um motivo convincente e compreensão de seu uso.
Carregando uma extensão de kernel no Mac OS X com kextload
Para carregar uma extensão do kernel no Mac OS X, você precisará usar o utilitário de linha de comando kextload. A sintaxe é bastante simples, exigindo sudo para acesso administrativo para executar a ação:
sudo kextload /caminho/para/kext.kext
Você também pode usar o identificador de pacote (que são frequentemente os alvos dos comandos padrão) com o sinalizador -b:
sudo kextload -b com.apple.driver.ExampleBundle
De qualquer forma, pressione Enter e com a entrada da senha do administrador a extensão do kernel será carregada no Mac OS X.
Você pode confirmar que um kernel foi carregado listando-o com kextstat, usando grep para procurar o nome fornecido da seguinte forma:
$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1
Isso pode ser útil depois de instalar manualmente uma extensão do kernel no Mac OS X, pois em algumas situações evitará a necessidade de reiniciar o Mac.
Versões modernas do Mac OS X também permitem que o carregamento da extensão do kernel seja concluído com o comando kextutil, que é um pouco mais completo por motivos de depuração, mas é o mesmo para carregar um kext.
Descarregando uma extensão do kernel com kextunload
Descarregar uma extensão de kernel do Mac OS X é basicamente o mesmo que carregar um kext, exceto que você usará o utilitário kextunload com sudo da seguinte maneira:
sudo kextunload -b com.apple.driver.ExampleBundle
Ou apontando diretamente para o caminho das extensões do kernel:
sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext
Novamente, você pode confirmar que a extensão do kernel foi descarregada usando kextstat e grep, onde não deve retornar nada.
