Відповіді:
Примітка: чорний список не буде працювати для модулів, вбудованих у зображення ядра (тобто не завантажуються через окремий
.ko
файл. Єдиний спосіб відключення таких модулів - через параметр ядра (якщо є) або шляхом перекомпіляції ядра.
Просто відкрийте /etc/modprobe.d/blacklist
файл і додайте ім'я драйвера, використовуючи наступний синтаксис:
blacklist driver-name
EDIT: У пізніших версіях з 12.10 (12.04?) Файл є /etc/modprobe.d/blacklist.conf
Перезавантажте поле і скористайтеся командою lsmod, щоб показати стан модулів у ядрі Linux
Примітка : тут driver-name
ім'я потрібного драйвера чорного списку. Наприклад, якщо ви хочете відключити драйвер карти NIC, ви можете знайти ім'я драйвера ядра для вашої локальної картки, використовуючи команду lspci -v
командування в терміналі.
Для прикладу мій вихід:
........ ........ 6: 00.0 Контролер Ethernet: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02) Підсистема: Пристрій Lenovo 3861 Прапори: майстер автобуса, швидкий devsel, затримка 0, IRQ 46 Пам'ять на b8000000 (64-розрядна, попередньо не доступна) [size = 64K] Розширювальний ROM на [відключено] Можливості: Використовуваний драйвер ядра: tg3 Модулі ядра: tg3 ........ ........
Ось, бачу, водій є tg3
. тому вам потрібно написати tg3
(або ваш драйвер) замість driver-name
.
Багато інформації можна знайти тут .
Lubuntu 12.10
) немає /etc/modprobe.d/blacklist
файлу. Є /etc/modprobe.d/blacklist.conf
файл
blacklist.conf
Файл не повинен існувати. Ви можете помістити туди файл, який називається my-mom-is-awesome
, і він буде працювати. Складіть будь-яке ім’я, яке вам подобається, якщо ви хочете створити певний файл просто для чорного списку певної речі, як- blacklist-nouveau
небудь або будь-якої іншої .
Ви також можете тимчасово вносити їх у чорний список у командному рядку grub (рядок linux) під час завантаження синтаксису
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored
.
modprobe.blacklist=module_to_blacklist
?
modprobe.blacklist=module_to_blacklist
(див. man modprobe
подробиці)
Ще один спосіб ввести чорний список модулів принаймні у Ubuntu 16.04 LTS - додавши наступний рядок до командного рядка ядра:
modprobe.blacklist=MODULE_NAME
Використання системи / etc / modprobe - найкращий спосіб, але це альтернатива, яка може бути використана в крайньому випадку, редагуючи командний рядок GRUB під час завантаження.
Це також можна зробити постійним шляхом редагування / etc / default / grub та додавання до GRUB_CMDLINE_LINUX_DEFAULT
змінної. Наприклад, у моєму / etc / default / grub у мене є:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
То я біжу update-grub2
, значить update-initramfs -u
. Після перезавантаження ви будете без модуля, поки нічого не завантажує після завантаження.
Цей метод також працює у варіантах EL (RHEL, CentOS, SciLinux), але вам доведеться використовувати методи цього дистрибутива для оновлення grub та initrd.
(Зверніть увагу на тих, хто намагається в чорний список нуво: переконайтеся, що не завантажуйте X запускаючи systemctl set-default multi-user.target
, інакше коли X запускається, він знову завантажить нуво!)
В останніх випусках вам потрібно використовувати директиву встановлення у вашому файлі чорного списку
install modulename /bin/false
Замініть "ім'я модуля" вище на ім'я модуля. Це насильно запобіжить навантаженню.
Ви можете знайти більше інформації про директиву встановлення в посібнику для modprobe.conf
man modprobe.conf
/etc/modprobe/blacklist.conf
, модуль все ще можна завантажувати вручну modprobe <module_name>
. Використання install <module_name> /bin/false
методу робить цей збій за бажанням.
Жодне з цих рішень не працювало 16.04 LTS для i915.ko.
Я знайшов (брудне) рішення перейменувати
/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
На жаль, зовнішній екран VGA більше не розпізнається: {
sudo update-initramfs -u
після зміни файлів /etc/modeprobe.d/