Configuration complète du pilote 8821cu avec Secure Boot : gestion avancée des clés MOK

Avant d’installer le pilote 8821cu sur un système Linux avec Secure Boot activé, assurez-vous que les outils nécessaires sont présents. Vérifiez l’état du Secure Boot :

sudo mokutil --sb-state

Si la sortie indique SecureBoot enabled, le processus de signature des modules noyau est obligatoire.

Installation via script automatisé

Le dépôt fournit un script d’installation intelligent qui détecte automatiquement l’état du Secure Boot et ajuste le processus en conséquence :

mkdir -p ~/src
cd ~/src
git clone https://gitcode.com/gh_mirrors/88/8821cu-20210916.git
cd 8821cu-20210916
sudo ./install-driver.sh

Lorsque Secure Boot est actif, le script exécute make sign-install, qui inclut :

  • Génération d’une paire de clés (privée et certificat DER)
  • Importation du certificat dans le MOK (Machine Owner Key)
  • Sigilature du module 8821cu.ko avec la clé privée
  • Installation finale du module signé

Processus de validation MOK après redémarrage

Après l’exécution du script, redémarrez le système. Une interface UEFI appelée MOK Management apparaît après le menu GRUB :

  1. Appuyez sur une touche pour continuer
  2. Sélecitonnez Enroll key
  3. Choisissez Continue
  4. Confirmez avec Yes
  5. Saisissez le mot de passe défini pendant l’importation

⚠️ Attention : une erreur de mot de passe bloque le démarrage. Pour corriger, utilisez sudo mokutil --reset depuis un environnement fonctionnel.

Procédure manuelle pour une gestion fine

Pour plus de contrôle, vous pouvez suivre les étapes manuelles :

  1. Générer les clés MOK :``` openssl req -new -x509 -newkey rsa:2048
    -keyout MOK.priv
    -outform DER -out MOK.der
    -nodes -days 36500
    -subj "/CN=WiFi Driver MOK/"
  2. Importer le certificat :``` sudo mokutil --import MOK.der
    
    Un mot de passe sera demandé — gardez-le précieusement.
    
  3. Compiler et signer le module :``` make clean make -j$(nproc) sudo $(KSRC)/scripts/sign-file sha256 MOK.priv MOK.der 8821cu.ko sudo make install
  4. Redémarrer et inscrire la clé via MOK comme décrit ci-dessus.

Utilisation de DKMS pour une maintenance automatique

DKMS garantit que le pilote est récompilé et resigné à chaque mise à jour du noyau :

sudo apt install dkms
cd ~/src/8821cu-20210916
sudo ./install-driver.sh

Une fois configuré, DKMS gère automatiquement les nouvelles versions du noyau sans intervention manuelle.

Vérification de l’installation

Après installation, validez le bon fonctionnement :

lsmod | grep 8821cu
ip link show
modinfo 8821cu
dmesg | grep -i 8821cu

Mise à jour et désinstallation

À chaque mise à jour du noyau ou du pilote :

cd ~/src/8821cu-20210916
git pull
sudo ./install-driver.sh

Pour supprimer le pilote :

sudo ./remove-driver.sh

Conseils pratiques

  • Conservez une copie sécurisée de MOK.priv et MOK.der
  • Enregistrez le mot de passe MOK dans un endroit sûr
  • Privilégiez l’utilisation de DKMS
  • Surveillez les mises à jour du dépôt pour des correctifs de sécurité
  • Testez la connectivité WiFi après installation

Résolution des problèmes courants

  • Module non chargé : Vérifiez dmesg pour des erreurs comme Required key not available (clé MOK absente) ou Invalid module format (incompatibilité de version).
  • Interface réseau absente : Exécutez sudo modprobe -r 8821cu puis sudo modprobe 8821cu. Vérifiez lsusb | grep -i realtek.
  • Erreur de permission : Confirmez que Secure Boot n’a pas bloqué le module.

Précautions de sécurité

  • Ne partagez jamais MOK.priv
  • Restez à jour sur les vulnérabilités du pilote
  • Utilisez sudo uniquement quand nécessaire
  • Ne téléchargez jamais le code depuis des sources non officielles

En suivant ce guide, vous pouvez déployer le pilote 8821cu sur des systèmes sécurisés tout en respectant les contraintes du Secure Boot. La gestion rigoureuse des clés MOK est essentielle pour assurer la continuité du service sans compromettre la sécurité du système.

Étiquettes: Linux Secure Boot MOK DKMS kernel module signing

Publié le 21 septembre à 19h23