Réponses:
Remarque: la liste noire ne fonctionnera pas pour les modules intégrés à l'image du noyau (c.-à-d. Non chargés via un
.ko
fichier séparé . La seule façon de désactiver ces modules consiste à utiliser un paramètre de noyau (si disponible) ou à recompiler le noyau.
Ouvrez simplement votre /etc/modprobe.d/blacklist
fichier et ajoutez le nom de l’utilisateur à l’aide de la syntaxe suivante:
blacklist driver-name
EDIT: Dans les versions ultérieures depuis 12.10 (12.04?), Le fichier est /etc/modprobe.d/blacklist.conf
Redémarrez votre ordinateur et utilisez la commande lsmod pour afficher l'état des modules dans le noyau Linux.
Remarque : voici driver-name
le nom du pilote de votre liste noire souhaité. Par exemple, si vous souhaitez désactiver le pilote de la carte réseau, vous pouvez trouver le nom du pilote du noyau pour votre carte LAN à l'aide de la commande lspci -v
command dans un terminal.
Par exemple ma sortie était:
........ ........ 6: 00.0 Contrôleur Ethernet: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rév. 02) Sous-système: Lenovo Device 3861 Drapeaux: maître de bus, développement rapide, latence 0, IRQ 46 Mémoire à b8000000 (64 bits, non préinstallable) [taille = 64 Ko] Extension ROM à [désactivé] Capacités: Pilote du noyau utilisé: tg3 Modules du noyau: tg3 ........ ........
Ici, je vois que le conducteur est tg3
. vous devez donc écrire tg3
(ou votre pilote) à la place de driver-name
.
Vous trouverez de nombreuses informations ici .
Lubuntu 12.10
), il n'y a pas de /etc/modprobe.d/blacklist
fichier. Il y a un /etc/modprobe.d/blacklist.conf
fichier
blacklist.conf
fichier n'a pas besoin d'exister. Vous pouvez mettre un fichier appelé my-mom-is-awesome
ici et cela fonctionnerait. Choisissez le nom de votre choix si vous voulez créer un fichier spécifique simplement pour mettre en liste noire un élément spécifique, du type blacklist-nouveau
ou autre.
Vous pouvez aussi temporairement les mettre en liste noire sur la ligne de commande grub (ligne linux) lorsque vous démarrez avec la syntaxe
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored
.
modprobe.blacklist=module_to_blacklist
?
modprobe.blacklist=module_to_blacklist
(voir man modprobe
pour plus de détails)
Une autre façon de répertorier des modules dans au moins Ubuntu 16.04 LTS consiste à ajouter la ligne suivante à la ligne de commande du noyau:
modprobe.blacklist=MODULE_NAME
Utiliser le système / etc / modprobe est la meilleure solution, mais c’est une alternative qui peut être utilisée rapidement en modifiant votre ligne de commande GRUB au démarrage.
Cela peut aussi être rendu permanent en éditant / etc / default / grub et en ajoutant à la GRUB_CMDLINE_LINUX_DEFAULT
variable. Par exemple, dans mon / etc / default / grub, j'ai:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
Puis je cours update-grub2
, alors update-initramfs -u
. Après un redémarrage, vous serez libre du module, tant que rien ne le chargera après le démarrage.
Cette méthode fonctionne également dans les variantes EL (RHEL, CentOS, SciLinux), mais vous devrez utiliser les méthodes de cette distribution pour mettre à jour grub et l'initrd.
(Remarque à l'intention de ceux qui tentent de placer BlackListe sur Nouvelle: assurez-vous de ne pas charger X en cours d'exécution systemctl set-default multi-user.target
, sinon, lorsque X démarrera, il chargera de nouveau!)
Dans les versions plus récentes, vous devez utiliser la directive install dans votre fichier de liste noire.
install modulename /bin/false
Remplacez "nom du module" ci-dessus par le nom du module. Cela empêchera de force son chargement.
Vous trouverez plus d’informations sur la directive install dans le manuel de modprobe.conf
man modprobe.conf
/etc/modprobe/blacklist.conf
, le module peut toujours être chargé manuellement modprobe <module_name>
. L'utilisation de la install <module_name> /bin/false
méthode provoque l'échec souhaité.
Aucune de ces solutions ne fonctionnait avec 16.04 LTS pour i915.ko.
La solution (sale) que j'ai trouvée était de renommer
/lib/modules/4.4.0-22-generic/kernel/drivers/gpu/drm/i915/i915.ko
/usr/lib/xorg/modules/drivers/modesetting_drv.so
/usr/lib/xorg/modules/drivers/intel_drv.so
Malheureusement, l'écran VGA externe n'est plus reconnu: {
sudo update-initramfs -u
après la modification des fichiers /etc/modeprobe.d/