Antworten:
Hinweis: Blacklisting funktioniert nicht für Module, die in das Kernel-Image integriert sind (dh nicht über eine separate
.ko
Datei geladen werden . Die einzige Möglichkeit, solche Module zu deaktivieren, besteht darin, einen Kernel-Parameter (falls verfügbar) zu verwenden oder den Kernel neu zu kompilieren.
Öffnen Sie einfach Ihre /etc/modprobe.d/blacklist
Datei und fügen Sie den Treibernamen mit folgender Syntax hinzu:
blacklist driver-name
BEARBEITEN: In späteren Versionen seit 12.10 (12.04?) Ist die Datei /etc/modprobe.d/blacklist.conf
Starten Sie Ihre Box neu und verwenden Sie den Befehl lsmod, um den Status der Module im Linux-Kernel anzuzeigen
Hinweis : Hier driver-name
ist der Name Ihres gewünschten Blacklist-Treibers. Wenn Sie beispielsweise den NIC-Kartentreiber deaktivieren möchten, können Sie den Namen des Kerneltreibers für Ihre LAN-Karte mithilfe des Befehls lspci -v
command in einem Terminal ermitteln.
Zum Beispiel war meine Ausgabe:
........ ........ Ethernet-Controller 6: 00.0: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (Version 02) Subsystem: Lenovo Gerät 3861 Flags: Busmaster, Fast Devsel, Latenz 0, IRQ 46 Speicher bei b8000000 (64-Bit, nicht vorab abrufbar) [Größe = 64 KB] Erweiterungs-ROM bei [deaktiviert] Fähigkeiten: Verwendeter Kerneltreiber: tg3 Kernelmodule: tg3 ........ ........
Hier sehe ich den Fahrer tg3
. Sie müssen also tg3
(oder Ihren Fahrer) an die Stelle von schreiben driver-name
.
Viele Informationen finden Sie hier .
Lubuntu 12.10
) gibt es keine /etc/modprobe.d/blacklist
Datei. Es gibt eine /etc/modprobe.d/blacklist.conf
Datei
blacklist.conf
Datei muss nicht existieren. Sie könnten eine Datei mit dem Namen my-mom-is-awesome
dort ablegen, und es würde funktionieren. Erstelle einen beliebigen Namen, wenn du eine bestimmte Datei erstellen willst, nur um eine bestimmte Sache auf die schwarze Liste zu setzen, wie blacklist-nouveau
oder was auch immer.
Sie können sie auch vorübergehend in der Grub-Befehlszeile (Linux-Zeile) auf die Blacklist setzen, wenn Sie mit der Syntax booten
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored
.
modprobe.blacklist=module_to_blacklist
?
modprobe.blacklist=module_to_blacklist
(siehe man modprobe
für Details)
Eine andere Möglichkeit, Module in mindestens Ubuntu 16.04 LTS auf die Blacklist zu setzen, besteht darin, der Kernel-Befehlszeile die folgende Zeile hinzuzufügen:
modprobe.blacklist=MODULE_NAME
Die Verwendung des / etc / modprobe-Systems ist der beste Weg, aber dies ist eine Alternative, die zur Not verwendet werden kann, indem Sie Ihre GRUB-Befehlszeile beim Booten bearbeiten.
Dies kann auch dauerhaft gemacht werden, indem / etc / default / grub bearbeitet und der GRUB_CMDLINE_LINUX_DEFAULT
Variablen hinzugefügt wird. Zum Beispiel habe ich in meiner / etc / default / grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
Dann renne ich update-grub2
dann update-initramfs -u
. Nach einem Neustart sind Sie frei von dem Modul, solange es nach dem Start nicht geladen wird.
Diese Methode funktioniert auch in EL-Varianten (RHEL, CentOS, SciLinux), aber Sie müssen die Methoden dieser Distribution verwenden, um grub und die initrd zu aktualisieren.
(Hinweis für diejenigen, die versuchen, Nouveau auf die schwarze Liste zu setzen: Stellen Sie sicher, dass X nicht durch Ausführen geladen wird systemctl set-default multi-user.target
. Andernfalls wird Nouveau beim Starten von X erneut geladen!)
In neueren Versionen müssen Sie die Installationsanweisung in Ihrer Blacklist-Datei verwenden
install modulename /bin/false
Ersetzen Sie "Modulname" oben durch den Namen des Moduls. Dadurch wird das Laden gewaltsam verhindert.
Weitere Informationen zur Installationsanweisung finden Sie im Handbuch zu modprobe.conf
man modprobe.conf
/etc/modprobe/blacklist.conf
das Modul noch manuell mit geladen werden kann modprobe <module_name>
. Wenn Sie die install <module_name> /bin/false
Methode verwenden, schlägt dies wie gewünscht fehl.
Keine dieser Lösungen funktionierte auf 16.04 LTS für i915.ko.
Die (schmutzige) Lösung, die ich gefunden habe, war das Umbenennen
/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
Leider wird der externe VGA-Bildschirm nicht mehr erkannt: {
sudo update-initramfs -u
nach dem Ändern von /etc/modeprobe.d/ Dateien