Come sapere che le estensioni del mio kernel sono pronte a 64-bit?

3

C'è un modo semplice per dire se tutte le mie estensioni del kernel "sopravviveranno" all'avvio con un kernel a 64 bit? Ovviamente posso provare il "boot a 6-4", ma forse c'è un componente hardware che uso raramente e che non funzionerà quando lo userò in un mese, lasciandomi a chiedermi cosa è andato storto.

Riesco a vedere un elenco di estensioni in System Profiler > Software > Estensioni, con 8 di esse elencate come non "64-bit (Intel)", ma 5 di esse sono "Pseudoextensions" con un indirizzo di caricamento "integrato nel kernel", e le altre 3 sono correlate a CHUD e probabilmente sparire una volta aggiornato Xcode? Basta questo per concludere che non avrò problemi? O ci sono estensioni che non vengono caricate ora e che posso testare in qualche modo?

    
posta Jan Fabry 07.01.2011 - 16:22
fonte

4 risposte

6

Per quanto ne so, System Profiler non visualizzerà le informazioni relative a qualsiasi .kext che viene caricato e si trovano da qualche altra parte oltre alla cartella / System / Library / Extensions /.

Per ottenere informazioni complete sulle estensioni del kernel attualmente caricate e in uso sul tuo Mac, puoi utilizzare lo strumento da riga di comando kextstat .

Apri l'applicazione Terminale (nella cartella / Applicazioni / Utility /), digita quanto segue al prompt, quindi premi invio:

 kextstat

Otterrai un ampio elenco di tutte le estensioni del kernel caricate. Principalmente vorrai concentrarti sugli identificatori del bundle dei .kexts caricati. (Questa è la stringa del nome di dominio inverso come "com.apple ...."). Dovresti essere in grado di eliminare quelli che includono "com.apple", poiché quelli saranno di Apple e dovrebbero avere una versione K64. Una volta che ti sei sbarazzato di questi, dovrai passare a quelli rimanenti per assicurarti che siano costruiti come versioni K32 + K64 universali, o se potresti aver bisogno di assicurarti di avere gli ultimi aggiornamenti.

Ad esempio, dopo aver eliminato tutti i kits di Apple sull'output che ottengo, ho elencato i seguenti kexts. Da quando sono passato a K64 circa un anno fa, tutti questi sono in ordine quindi tutto va bene.

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>
    
risposta data 07.01.2011 - 17:16
fonte
2

kextfind

L'utilità kextfind individua e stampa informazioni o genera rapporti sulle estensioni del kernel (KEXT).

Esempi

Il seguente comando cerca /System/Library/Extensions per KEXT che non includono l'architettura x86_64:

kextfind -not -arch x86_64

Una ricerca estesa, per includere i due percorsi più comunemente usati per l'installazione:

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

Altre directory

kexts possono essere installati anche nella ROM o all'interno di un pacchetto di applicazioni , ma kextfind non può eseguire ricerche in modo ricorsivo.

Nell'era del leopardo c'era un suggerimento che i KEXT potevano essere trovato nell'area /Library/StartupItems . Come SystemStarter è deprecato , quindi potrebbe essere ragionevole omettere quest'area quando si utilizza kextfind.

Pagine manuali

Gli utenti di OS X possono visualizzare la pagina del manuale corrente nel Terminale. In un browser web, vai a:

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

Nella libreria per sviluppatori Mac OS X edizione 2009 della pagina è obsoleto.

Grazie

Per ghoppe per aumentare la consapevolezza di kextfind .

    
risposta data 11.01.2011 - 09:26
fonte
1

Utilizza il comando file .

Esempio:

$ 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

Si noti che ha entrambe le architetture x86_64 e i386.

    
risposta data 09.01.2011 - 11:18
fonte
0
  1. Esegui il System Profiler
  2. Sotto Software, fai clic su Estensioni.
  3. Nota la colonna a 64 bit nell'elenco a destra.

Nota: se non vedi questo elemento, vai al menu Visualizza e assicurati che sia selezionato "Profilo completo".

    
risposta data 07.01.2011 - 22:28
fonte

Leggi altre domande sui tag