¿Ubicación de archivo de extensiones de kernel?

¿Hay alguna manera fácil de hacer la asignación de la extensión del kernel al archivo del que proviene?

Puedo obtener la lista de extensiones de kernel cargadas actualmente a través de kextstat. Esto me da los nombres de los paquetes, como com.AmbrosiaSW.AudioSupporto jp.plentycom.driver.SteerMouse. Pero, ¿cómo puedo encontrar las ubicaciones reales de los archivos de estos paquetes? Por ejemplo, el paquete Ambrosia es AmbrosiaAudioSupport.kext, y solo puedo encontrar el nombre del paquete Info.plistdentro de ese paquete. Podría grep el /System/Library/Extensions/directorio, pero esto no necesariamente contiene extensiones cargadas después del arranque , y supongo que hay una mejor manera de hacerlo.

Respuestas (3)

kextfindes interesante, pero parece que solo buscó en la /System/Library/Extensions/carpeta estándar. ¿Hay alguna forma de encontrar la ubicación de los paquetes que no se cargaron desde esta carpeta? Algo que recuerda el -rparámetro de kextutil?

Puede usar kextfind -b <bundlename>para encontrar el archivo que define un kext del que solo conoce el nombre del paquete.

EDITAR: las versiones más nuevas de kextfind necesitan un -printpredicado para mostrar el resultado. Ejemplo actualizado a continuación.

Por ejemplo:

kextfind -b com.AmbrosiaSW.AudioSupport -print
No funciona :( -Mac-Pro.local ➜ Extensions kextstat | grep rehab 18 0 0xffffff7f8131f000 0x4000 0x4000 com.rehabman.driver.USBInjectAll (0.6.5) A63DACD5-10FE-3A1C-BCB1-4EEF5308B7CC <13 12 5 3> Mac-Pro.local ➜ Extensions kextfind -b com.rehabman.driver.USBInjectAll Mac-Pro.local ➜ Extensions
@RomanGaufman Las versiones más nuevas de kextfind necesitan un -printpredicado para mostrar el resultado; de lo contrario, solo devolverá verdadero si se encuentra el paquete. He actualizado la respuesta en consecuencia.

Pruebe Acerca de esta mac -> Informe del sistema -> Sección de software -> Extensiones.

Muestra la ruta del archivo al seleccionar una extensión.