Come caricare & Scaricare le estensioni del kernel in Mac OS X

Sommario:

Anonim

Le estensioni del kernel, chiamate in breve kext, sono moduli di codice che vengono caricati direttamente nello spazio del kernel di Mac OS X, in grado di funzionare a basso livello per eseguire una varietà di attività. La maggior parte dei kext fa parte del software di sistema principale di Mac OS X, in genere driver di dispositivo hardware, ma anche alcune app di terze parti installeranno un kext.

A volte, gli utenti Mac avanzati e gli amministratori di sistema potrebbero dover caricare o scaricare manualmente un'estensione del kernel.Poiché le estensioni del kernel sono spesso componenti critici di MacOS, questo è appropriato solo per gli utenti che hanno un motivo specifico per modificare se un kext viene caricato o scaricato nello spazio del kernel di MacOS X. La modifica inappropriata del comportamento di kext può rendere l'hardware del Mac inutile o inaccessibile e può anche impedire il funzionamento di Mac OS X, quindi non tentare di modificare alcuna estensione del kernel senza una ragione convincente e la comprensione del suo utilizzo.

Caricamento di un'estensione del kernel in Mac OS X con kextload

Per caricare un'estensione del kernel in Mac OS X, dovrai utilizzare l'utility kextload della riga di comando. La sintassi è altrimenti abbastanza semplice e richiede sudo per l'accesso amministrativo per eseguire l'azione:

sudo kextload /path/to/kext.kext

È inoltre possibile utilizzare l'identificatore del bundle (che è spesso l'obiettivo dei comandi predefiniti) con il flag -b:

sudo kextload -b com.apple.driver.ExampleBundle

In ogni caso, premi invio e con l'inserimento della password di amministratore l'estensione del kernel verrà caricata in Mac OS X.

Puoi confermare che un kernel è stato caricato elencandolo con kextstat, usando grep per cercare il nome dato in questo modo:

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

Questo può essere utile dopo aver installato manualmente un'estensione del kernel in Mac OS X poiché in alcune situazioni eviterà la necessità di riavviare il Mac.

Le versioni moderne di Mac OS X consentono anche di completare il caricamento dell'estensione del kernel con il comando kextutil, che è un po' più completo per motivi di debug, ma per il resto è lo stesso per caricare un kext.

Scaricamento di un'estensione del kernel con kextunload

Scaricare un'estensione del kernel da Mac OS X è fondamentalmente la stessa cosa che caricare un kext, tranne per il fatto che userai l'utility kextunload con sudo come segue:

sudo kextunload -b com.apple.driver.ExampleBundle

O puntando direttamente al percorso delle estensioni del kernel:

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

Ancora una volta, puoi confermare che l'estensione del kernel è stata scaricata usando kextstat e grep, dove non dovrebbe restituire nulla.

Come caricare & Scaricare le estensioni del kernel in Mac OS X