Depuis la mise à jour vers MacOS Big Sur, Apple à mis un terme aux extensions du kernel (kext) utilisées par certaines applications pour modifier ou accéder à des paramètres bas niveau du système. Lorsqu’une application à besoin d’accéder à une de ces extensions, l’utilisateur devra l’autoriser dans les Préférences système du Mac.
Néanmoins, il sera toujours possible d’utiliser les kexts pour les organisations qui utilisent des dépendances critiques. Apple à pour cela mis a disposition un nouvel outil, kmutil, pour gérer le chargement, le déchargement et le diagnostic des kexts et des « collections de kext » sur Big Sur.
Box Drive par exemple utilise l’extension osxfuse. Lorsque vous l’installez ou que vous l’exécutez pour la première fois sur MacOS Big Sur, une message s’affiche :
Box Drive’s system extension failed to load. Please make sure it has been enabled in System Preferences > Security & Privacy and then restart your computer. If the problem persists, please contact Box Support to further troubleshoot the issue.
Lorsque ce message apparait, vous en avez peut-etre l’habitude maintenant, il suffit normalement d’ouvrir les préférences système, de se rendre dans le menu « Sécurité et confidentialité » et d’autoriser l’accès à l’extension dont votre logiciel a besoin pour fonctionner. Mais malheureusement, dans certains cas, rien n’apparait.
Dans le cas de Box Drive, cela est dû à des extensions du noyau qui ne sont plus prises en charge par Big Sur et bloquent l’autorisation de certaines extensions. Pour savoir si « osxfuse » est correctement exécuté sur votre Mac, ouvrez le terminal et lancez la commande :
kextstat -l |grep osxfuse
Si le terminal vous renvoi quelque chose de similaire à la capture d’écran ci-dessous, c’est que osxfuse s’exécute normalement :
Si votre Terminal ne vous renvoi pas un message similaire, ou s’il vous renvoi une erreur, il est donc nécessaire de supprimer les extensions du kernel non prises en charge et qui bloquent d’autres applications.
Avant de commencer, assurez-vous que votres sysème est à jour et que vous avez installé la dernière version de votre logiciel.
Ouvrez ensuite le terminal et executez les commandes suivantes :
mkdir BlackBerry.bak
sudo mv -f "/System/Library/Extensions/BlackBerryUSBDriverInt.kext" BlackBerry.bak/
sudo mv -f "/System/Library/Extensions/RIMBBUSB.kext" BlackBerry.bak/
sudo mv -f "/System/Library/Extensions/RIMBBVSP.kext" BlackBerry.bak/
sudo mv -f "/Library/Extensions/BlackBerryUSBDriverInt.kext" BlackBerry.bak/
sudo mv -f "/Library/Extensions/RIMBBUSB.kext" BlackBerry.bak/
sudo mv -f "/Library/Extensions/RIMBBVSP.kext" BlackBerry.bak/
sudo mv -f "/Library/Application Support/BlackBerry" BlackBerry.bak/
sudo mv -f "/Library/Application Support/BlackBerryDesktop" BlackBerry.bak/
sudo mv -f "/Library/Frameworks/RimBlackBerryUSB.framework" BlackBerry.bak/
sudo mv -f "/Library/LaunchAgents/com.rim.BBLaunchAgent.plist" BlackBerry.bak/
sudo mv -f "/Library/LaunchDaemons/com.rim.BBDaemon.plist" BlackBerry.bak/
Il vous sera demandé de taper votre mot de passe (celui de votre session). Rien ne va s’afficher sur le terminal, c’est normal. Il faut le taper à l’aveugle et valider avec la touche « entrée ».
Certaines commandes peuvent renvoyer « No such file or directory« , c’est normal.
Enfin, pour nettoyer la liste des extensions système de celles qu’on vient de supprimer, exécutez la commande suivante :
kmutil clear-staging
Un redémarrage peut être nécessaire, mais vous devriez normalement voir apparaitre le bouton « Autoriser » dans le menu « Sécurité et confidentialité » des préférences système de votre Mac. Autorisez son execution, et votre application devrait fonctionner correctement.