Comment charger les extensions de déchargement du noyau & dans Mac OS X

Table des matières:

Anonim

Les extensions de noyau, appelées kext en abrégé, sont des modules de code chargés directement dans l'espace noyau de Mac OS X, capables de s'exécuter à bas niveau pour effectuer diverses tâches. La plupart des kext font partie du logiciel système principal de Mac OS X, généralement des pilotes de périphériques matériels, mais certaines applications tierces installent également un kext.

Parfois, les utilisateurs avancés de Mac et les administrateurs système peuvent avoir besoin de charger ou de décharger manuellement une extension de noyau.Étant donné que les extensions de noyau sont souvent des composants critiques de MacOS, cela ne convient que pour les utilisateurs qui ont une raison spécifique de modifier si un kext est chargé ou déchargé dans l'espace du noyau MacOS X. Une modification inappropriée du comportement de kext peut rendre le matériel Mac inutile ou inaccessible, et peut également empêcher Mac OS X de fonctionner. N'essayez donc pas de modifier une extension du noyau sans raison impérieuse et sans comprendre son utilisation.

Chargement d'une extension de noyau sous Mac OS X avec kextload

Pour charger une extension de noyau dans Mac OS X, vous devez utiliser l'utilitaire de ligne de commande kextload. La syntaxe est par ailleurs assez simple, nécessitant sudo pour un accès administratif afin d'effectuer l'action :

sudo kextload /path/to/kext.kext

Vous pouvez également utiliser l'identifiant de bundle (qui sont souvent les cibles des commandes par défaut) avec l'indicateur -b :

sudo kextload -b com.apple.driver.ExampleBundle

Dans tous les cas, appuyez sur Entrée et avec la saisie du mot de passe administrateur, l'extension du noyau sera chargée dans Mac OS X.

Vous pouvez confirmer qu'un noyau a été chargé en le répertoriant avec kextstat, en utilisant grep pour rechercher le nom donné comme ceci :

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

Cela peut être utile après l'installation manuelle d'une extension de noyau dans Mac OS X, car dans certaines situations, cela évitera d'avoir à redémarrer le Mac.

Les versions modernes de Mac OS X permettent également de terminer le chargement de l'extension du noyau avec la commande kextutil, qui est un peu plus complète pour des raisons de débogage, mais qui est la même pour le chargement d'un kext.

Déchargement d'une extension de noyau avec kextunload

Le déchargement d'une extension de noyau de Mac OS X est fondamentalement identique au chargement d'un kext, sauf que vous utiliserez l'utilitaire kextunload avec sudo comme suit :

sudo kextunload -b com.apple.driver.ExampleBundle

Ou en pointant directement sur le chemin des extensions du noyau :

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

Encore une fois, vous pouvez confirmer que l'extension du noyau a été déchargée en utilisant kextstat et grep, où elle ne devrait rien renvoyer.

Comment charger les extensions de déchargement du noyau & dans Mac OS X