Cómo cargar & Descargar extensiones de kernel en Mac OS X

Tabla de contenido:

Anonim

Las extensiones del kernel, llamadas kext para abreviar, son módulos de código que se cargan directamente en el espacio del kernel de Mac OS X, capaces de ejecutarse a bajo nivel para realizar una variedad de tareas. La mayoría de los kext son parte del software central del sistema Mac OS X, generalmente controladores de dispositivos de hardware, pero algunas aplicaciones de terceros también instalarán un kext.

A veces, los usuarios avanzados de Mac y los administradores de sistemas pueden necesitar cargar o descargar manualmente una extensión del kernel.Debido a que las extensiones del kernel a menudo son componentes críticos de MacOS, esto solo es apropiado para los usuarios que tienen una razón específica para modificar si un kext se carga o descarga en el espacio del kernel de MacOS X. La modificación inapropiada del comportamiento de kext puede hacer que el hardware de Mac sea inútil o inaccesible, y también puede impedir que Mac OS X funcione, así que no intente cambiar ninguna extensión del kernel sin una razón convincente y comprendiendo cuál es su uso.

Cargar una extensión del kernel en Mac OS X con kextload

Para cargar una extensión del kernel en Mac OS X, deberá usar la utilidad de línea de comando kextload. Por lo demás, la sintaxis es bastante simple y requiere sudo para que el acceso administrativo realice la acción:

sudo kextload /ruta/a/kext.kext

También puede usar el identificador de paquete (que suele ser el objetivo de los comandos predeterminados) con el indicador -b:

sudo kextload -b com.apple.driver.ExampleBundle

De cualquier manera, presione regresar y con la entrada de la contraseña de administrador, la extensión del kernel se cargará en Mac OS X.

Puedes confirmar que se ha cargado un núcleo enumerándolo con kextstat, usando grep para buscar el nombre dado así:

$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1

Esto puede ser útil después de instalar manualmente una extensión del kernel en Mac OS X, ya que en algunas situaciones evitará la necesidad de reiniciar la Mac.

Las versiones modernas de Mac OS X también permiten que la carga de la extensión del kernel se complete con el comando kextutil, que tiene un poco más de funciones por razones de depuración, pero por lo demás es lo mismo para cargar un kext.

Descarga de una extensión del kernel con kextunload

Descargar una extensión del kernel de Mac OS X es básicamente lo mismo que cargar un kext, excepto que utilizará la utilidad kextunload con sudo de la siguiente manera:

sudo kextunload -b com.apple.driver.ExampleBundle

O apuntando directamente a la ruta de las extensiones del kernel:

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

Nuevamente, puede confirmar que la extensión del kernel se ha descargado usando kextstat y grep, donde no debería devolver nada.

Cómo cargar & Descargar extensiones de kernel en Mac OS X