¿Hay una manera fácil de saber si todas mis extensiones de kernel "sobrevivirán" al arrancar con un kernel de 64 bits? Por supuesto, puedo probar el "arranque de 6-4 dedos", pero tal vez hay una pieza de hardware que uso con poca frecuencia y que no funcionará cuando lo use en un mes, dejándome preguntándome qué salió mal.
Puedo ver una lista de extensiones en System Profiler > Software > Extensions, con 8 de ellas listadas como no "64-bit (Intel)", pero 5 de ellas son "Pseudoextensiones" con una dirección de carga "integrada en el kernel ", y los otros 3 están relacionados con CHUD y probablemente desaparecerán una vez que actualice Xcode. ¿Es eso suficiente para concluir que no tendré problemas? ¿O hay extensiones que no están cargadas ahora y que puedo probar de alguna manera?
Hasta donde yo sé, System Profiler no mostrará información de ningún archivo .kext que se esté cargando y esté ubicado en otro lugar además de la carpeta /System/Library/Extensions/.
Para obtener información completa sobre las extensiones del kernel que están actualmente cargadas y en uso en su Mac, puede usar la kextstat
herramienta de línea de comandos.
Abra la aplicación Terminal (en la carpeta / Aplicaciones / Utilidades /), escriba lo siguiente en el indicador y luego presione regresar:
kextstat
Obtendrá una gran lista de todas las extensiones de kernel cargadas. Principalmente querrá centrarse en los identificadores de paquetes de los .kexts cargados. (Esa es la cadena del nombre de dominio al revés, como "com.apple...."). Debería poder eliminar los que incluyen "com.apple", ya que esos serán de Apple y deberían tener una versión K64. Una vez que se haya deshecho de ellos, deberá revisar los restantes para asegurarse de que estén construidos como versiones universales K32+K64, o si necesita asegurarse de tener las últimas actualizaciones.
Por ejemplo, después de eliminar todos los kexts de Apple en la salida que obtengo, tengo los siguientes kexts en la lista. Desde que cambié a K64 hace aproximadamente un año, todo está en orden, por lo que todo está bien.
MacPro:~ mdouma46$ kextstat
Index Refs Address Size Wired Name (Version) <Linked Against>
73 0 0xffffff7f8111a000 0x8000 0x8000 com.AmbrosiaSW.AudioSupport (3.2) <72 5 4 3 1>
81 0 0xffffff7f811bf000 0x9000 0x9000 jp.plentycom.driver.SteerMouse (4.0.2) <55 29 24 5 4 3>
105 0 0xffffff7f81499000 0x5000 0x5000 com.Cycling74.driver.Soundflower (1.5.2) <72 5 4 3>
115 0 0xffffff7f814bf000 0xd1000 0xd1000 com.vmware.kext.vmx86 (3.1.2) <7 5 4 3 1>
116 0 0xffffff7f81590000 0xc000 0xc000 com.vmware.kext.vmci (3.1.2) <5 4 3 1>
117 0 0xffffff7f8159c000 0x7000 0x7000 com.vmware.kext.vmioplug (3.1.2) <29 24 5 4 3 1>
118 0 0xffffff7f815a3000 0xa000 0xa000 com.vmware.kext.vmnet (3.1.2) <5 4 3 1>
119 0 0xffffff7f815ad000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) <4 1>
La kextfind
utilidad localiza e imprime información, o genera informes, sobre las extensiones del kernel (KEXT).
El siguiente comando busca /System/Library/Extensions
KEXT que no incluyen la arquitectura x86_64:
kextfind -not -arch x86_64
Una búsqueda ampliada, para incluir las dos rutas más utilizadas para la instalación:
kextfind -f /Library/Extensions -e -not -arch x86_64
Los KEXT también se pueden instalar en la ROM o dentro de un paquete de aplicaciones , pero kextfind no puede buscar recursivamente.
En la era Leopard, se sugirió que se podrían encontrar KEXT en el /Library/StartupItems
área. Como SystemStarter está en desuso , puede ser razonable omitir esta área al usar kextfind.
Los usuarios de OS X pueden ver la página del manual actual en Terminal. En un navegador web, vaya a:
En Mac OS X Developer Library, la edición de 2009 de la página está desactualizada.
A Ghoppe por crear conciencia sobre kextfind .
Usa el file
comando.
Ejemplo:
$ cd /System/Library/Extensions/KeyspanUSAdriver.kext/Contents/MacOS
$ file KeyspanUSAdriver
KeyspanUSAdriver: Mach-O universal binary with 2 architectures
KeyspanUSAdriver (for architecture x86_64): Mach-O 64-bit kext bundle x86_64
KeyspanUSAdriver (for architecture i386): Mach-O object i386
Tenga en cuenta que tiene arquitecturas x86_64 e i386.
kextstat
, ¿cómo puedo encontrar dónde están ubicadas en el disco? ¿Y sabe cómo puedo encontrar "extensiones de kernel que el sistema operativo puede cargar pero que actualmente no lo están"
?Nota: si no ve este elemento, vaya a su menú Ver y asegúrese de que esté seleccionado "Perfil completo".
Jan Fabry
.kext
paquetes en el disco? Hay algunos que todavía estoy buscando, y el identificador del paquete no siempre es el nombre del archivo. ¿Y esta lista incluye solo las extensiones cargadas actualmente o también aquellas que se pueden cargar bajo demanda? Es el último grupo el que más me importa, ya que podrían ser necesarios en el futuro y no aparecerán como un error ahora.Jan Fabry