¿Cómo saber si mis extensiones de kernel están preparadas para 64 bits?

3

¿Hay una manera fácil de saber si todas las extensiones de mi kernel "sobrevivirán" al arrancar con un kernel de 64 bits? Por supuesto, puedo probar el "arranque de 6 a 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, lo que me deja preguntándome qué salió mal.

Puedo ver una lista de extensiones en el Perfil del sistema > Software > Extensiones, con 8 de ellas enumeradas como no "64 bits (Intel)", pero 5 de ellas son "Pseudoextensiones" con una dirección de carga "incorporada al kernel", y las otras 3 están relacionadas con CHUD y probablemente ¿Se habrá ido 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?

    
pregunta Jan Fabry 07.01.2011 - 16:22

4 respuestas

6

Por lo que sé, System Profiler no mostrará información para ningún archivo .kext que se esté cargando y se encuentre 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 herramienta de línea de comandos kextstat .

Abra la aplicación Terminal (en la carpeta / Aplicaciones / Utilidades /), escriba lo siguiente en el indicador y luego presione regresar:

 kextstat

Obtendrá una lista grande de todas las extensiones de kernel cargadas. En primer lugar, querrá centrarse en los identificadores de paquetes de los .kexts cargados. (Esa es la cadena de nombre de dominio hacia atrás, como "com.apple ...."). Debería poder eliminar los que incluyen "com.apple", ya que serán los 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 debe 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 esto está en orden, así 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>
    
respondido por el NSGod 07.01.2011 - 17:16
2

kextfind

La utilidad kextfind localiza e imprime información, o genera informes, sobre las extensiones del kernel (KEXT).

Ejemplos

El siguiente comando busca KEXT en /System/Library/Extensions que no incluyen la arquitectura x86_64:

kextfind -not -arch x86_64

Una búsqueda extendida, para incluir las dos rutas más comúnmente utilizadas para la instalación:

kextfind -f /Library/Extensions -e -not -arch x86_64

Otros directorios

Los KEXT también pueden instalarse en la ROM o dentro de un paquete de aplicaciones , pero kextfind no puede buscar recursivamente.

En la era Leopard había una sugerencia de que los KEXT podrían se encuentra en el área /Library/StartupItems . Como SystemStarter está en desuso , por lo que puede Es razonable omitir esta área cuando se utiliza kextfind.

Páginas de manual

Los usuarios de OS X pueden ver la página del manual actual en Terminal. En un navegador web, vaya a:

  • x-man-page: // 8 / kextfind

En la Biblioteca para desarrolladores de Mac OS X, edición de 2009 de la página no está actualizado.

Gracias

Para ghoppe para aumentar el conocimiento de kextfind .

    
respondido por el Jan Fabry 11.01.2011 - 09:26
1

Usa el comando file .

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

Observe que tiene arquitecturas x86_64 e i386.

    
respondido por el bahamat 09.01.2011 - 11:18
0
  1. Ejecutar perfil de sistema
  2. En Software, haga clic en Extensiones.
  3. Observe la columna de 64 bits en la lista a la derecha.

Nota: si no ve este elemento, vaya a su menú Ver y asegúrese de que esté seleccionado "Perfil completo".

    
respondido por el user2376 07.01.2011 - 22:28

Lea otras preguntas en las etiquetas