web-dev-qa-db-fra.com

Mettre un module sur liste noire uniquement pour des versions spécifiques du noyau?

Lorsque je démarre un noyau 4.4.x, je veux m'assurer que le pilote de mise en place du buggy r8723au est sur liste noire, en faveur de la ligne principale bien améliorée rtl8xxxu .

Cependant, lorsque je démarre un ancien noyau 4.2.x, je dois toujours utiliser l'ancien r8723au chauffeur.

Existe-t-il un moyen de mettre sur liste noire un module seulement pour une version spécifique du noyau? ( MISE À JOUR: Je veux mettre sur liste noire le module ancien, r8723au, du nouveau noyau, pour l'empêcher de prendre le relais du nouveau pilote.)

Idées que j'avais:

  • /etc/modprobe.d/blacklist-r8723au.conf - pour autant que je sache, il n'est pas possible de spécifier une liste noire pour une seule version du noyau
  • /etc/default/grub - aucun moyen de spécifier modprobe.blacklist=r8723au pour la ligne de commande du noyau pour certaines versions et pas pour d'autres

La solution rapide et sale que j'ai est de modifier manuellement /boot/grub/grub.cfg et ajoutez le paramètre de liste noire approprié à des versions spécifiques du noyau… mais bien sûr, cela sera automatiquement écrasé la prochaine fois que j'exécuterai update-grub (peut-être lors de l'installation d'un noyau Xenial/16.04 mis à jour).

1
Dan

Le module rtl8xxxu n'existe pas dans la version 4.2.0-xx du noyau, pour autant que je sache, donc le démarrage dans un noyau 4.2.0-xx devrait être correct.

Je ne suis pas conscient que les deux pilotes couvrent les mêmes usb.ids, cependant, vous pouvez empêcher r8723au de se charger dans 4.4.0-xx en renommant les modules. Par exemple:

Sudo mv /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

Sudo mv /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

Vous devrez répéter le processus lorsqu'une version mise à jour du noyau, -23 peut-être, est installée par Update Manager.

2
chili555