it-swarm-eu.dev

Jak zakázat moduly jádra?

Jak zakážu načítání nepotřebných modulů jádra. Jádro 3.2.4

48
Ringtail

Poznámka: blacklist bude nefunguje pro moduly, které jsou zabudovány do obrazu jádra (tj. Nejsou načteny přes samostatný .ko soubor. Jediným způsobem, jak takové moduly deaktivovat, je pomocí parametru jádra (pokud je k dispozici) nebo překompilováním jádra.

Stačí otevřít svůj /etc/modprobe.d/blacklist file a přidejte jméno ovladače pomocí následující syntaxe:

blacklist driver-name

ÚPRAVA: V novějších verzích od 12.10 (12.04?) Je soubor /etc/modprobe.d/blacklist.conf

Restartujte svůj box a pomocí příkazu lsmod zobrazte stav modulů v jádře Linuxu

Poznámka : zde driver-name je název požadovaného ovladače černé listiny. Například, pokud jste chtěli deaktivovat ovladač karty NIC), můžete najít název ovladače jádra vaší LAN karty pomocí příkazu lspci -v příkaz v terminálu.
Například můj výstup byl:

 ........ 
 ........ 
 Ethernetový řadič 6: 00.0: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02) 
 Subsystém: Lenovo Device 3861 
 Příznaky: bus master, fast devsel, latence 0, IRQ 46 
 Paměť na b8000000 (64bitová, nepředvolitelná) [velikost = 64K] 
 Rozšíření ROM na [disabled] 
 Schopnosti: 
 Používá se ovladač jádra: tg3 
 Moduly jádra: tg3 
 ........ 
 ........ 

Tady vidím, že ovladač je tg3. takže musíte napsat tg3 (nebo váš řidič) místo driver-name.

Spousta informací najdete zde .

46
LnxSlck

Můžete je také dočasně zakázat na příkazovém řádku grub (linux line), když zavádíte pomocí syntaxe

module_to_blacklist.blacklist=yes
28
Panther

Dalším způsobem, jak zakázat moduly alespoň v Ubuntu 16.04 LTS, je přidání následujícího řádku do příkazového řádku jádra:

modprobe.blacklist=MODULE_NAME

Nejlepší je použití systému/etc/modprobe, ale toto je alternativa, kterou lze použít jako špetku úpravou příkazového řádku GRUB při spuštění).

To může být také trvalé úpravou/etc/default/grub a přidáním do GRUB_CMDLINE_LINUX_DEFAULT proměnná. Například v mém/etc/default/grub mám:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"

Pak spustím update-grub2, pak update-initramfs -u. Po restartu budete z modulu osvobozeni, pokud jej po zavedení nic nenačte.

Tato metoda funguje také ve variantách EL (RHEL, CentOS, SciLinux), ale budete muset použít metody této distro k aktualizaci grubu a initrd.

(Všimněte si těch, kteří se pokoušejí na blacklist nouveau: Ujistěte se, že nenačítáte X spuštěním systemctl set-default multi-user.target, jinak, když X začne, znovu se načte novinka!)

13
Paul

V novějších verzích je nutné použít instalační směrnici v souboru černé listiny

install modulename /bin/false

Nahraďte "modulename" výše názvem modulu. Tím se násilně zabrání jeho načtení.

Více informací o instalační směrnici naleznete v manuálu pro modprobe.conf

man modprobe.conf
4
Speeddymon

Žádné z těchto řešení nepracovalo na 16,04 LTS pro i915.ko.

(Špinavé) řešení, které jsem našel, bylo přejmenovat

/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

Bohužel, externí obrazovka VGA již není rozpoznána: {

3
plop