Bagaimana cara menonaktifkan pemuatan modul kernel yang tidak perlu. Kernel 3.2.4
Bagaimana cara menonaktifkan pemuatan modul kernel yang tidak perlu. Kernel 3.2.4
Jawaban:
Catatan: daftar hitam tidak akan berfungsi untuk modul yang dibangun ke dalam kernel image (yaitu tidak dimuat melalui
.ko
file terpisah . Satu-satunya cara untuk menonaktifkan modul tersebut adalah melalui parameter kernel (jika tersedia) atau dengan mengkompilasi ulang kernel.
Cukup buka /etc/modprobe.d/blacklist
file Anda dan tambahkan drivername menggunakan sintaks berikut:
blacklist driver-name
EDIT: Dalam versi yang lebih baru sejak 12.10 (12.04?) File tersebut /etc/modprobe.d/blacklist.conf
Nyalakan ulang kotak Anda dan gunakan perintah lsmod untuk menampilkan status modul di Linux Kernel
Catatan : di sini driver-name
adalah nama driver daftar hitam yang Anda inginkan. Sebagai contoh, Jika Anda ingin menonaktifkan driver kartu NIC, Anda dapat menemukan nama driver kernel untuk kartu LAN Anda dengan menggunakan perintah lspci -v
perintah di terminal.
Sebagai contoh, output saya adalah:
........ ........ Pengontrol Ethernet 6: 00.0: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02) Subsistem: Perangkat Lenovo 3861 Bendera: bus master, cepat devsel, latensi 0, IRQ 46 Memori pada b8000000 (64-bit, tidak dapat ditarik) [size = 64K] ROM Ekspansi di [dinonaktifkan] Kemampuan: Driver kernel yang digunakan: tg3 Modul kernel: tg3 ........ ........
Di sini, saya melihat pengemudi itu tg3
. jadi Anda perlu menulis tg3
(atau driver Anda) di tempat driver-name
.
Banyak info dapat ditemukan di sini .
Lubuntu 12.10
), tidak ada /etc/modprobe.d/blacklist
file. Ada /etc/modprobe.d/blacklist.conf
file
blacklist.conf
file tidak perlu eksis. Anda bisa meletakkan file yang disebut di my-mom-is-awesome
sana dan itu akan berhasil. Buat nama apa pun yang Anda suka jika Anda ingin membuat file tertentu hanya untuk membuat daftar hitam hal tertentu, suka blacklist-nouveau
atau apa pun.
Anda juga dapat membuat sementara daftar hitam mereka di baris perintah grub (garis linux) ketika Anda boot dengan sintaks
module_to_blacklist.blacklist=yes
i915: unknown parameter 'blacklist' ignored
.
modprobe.blacklist=module_to_blacklist
?
modprobe.blacklist=module_to_blacklist
(lihat man modprobe
untuk detail)
Cara lain untuk membuat daftar hitam modul di setidaknya Ubuntu 16.04 LTS adalah dengan menambahkan baris berikut ke baris perintah kernel:
modprobe.blacklist=MODULE_NAME
Menggunakan sistem / etc / modprobe adalah cara terbaik, tetapi ini adalah alternatif yang dapat digunakan dalam keadaan darurat dengan mengedit baris perintah GRUB Anda saat boot.
Ini juga dapat dibuat permanen dengan mengedit / etc / default / grub dan menambahkan ke GRUB_CMDLINE_LINUX_DEFAULT
variabel. Sebagai contoh, di / etc / default / grub saya punya:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modprobe.blacklist=nouveau"
Lalu aku lari update-grub2
, lalu update-initramfs -u
. Setelah reboot, Anda akan bebas dari modul, asalkan tidak ada yang memuatnya setelah boot.
Metode ini juga berfungsi dalam varian EL (RHEL, CentOS, SciLinux), tetapi Anda harus menggunakan metode distro itu untuk memperbarui grub dan initrd.
(Catatan untuk mereka yang mencoba blacklist nouveau: Pastikan untuk tidak memuat X dengan menjalankan systemctl set-default multi-user.target
, jika tidak ketika X mulai akan memuat nouveau lagi!)
Dalam rilis yang lebih baru, Anda perlu menggunakan arahan instal dalam file daftar hitam Anda
install modulename /bin/false
Ganti "modulename" di atas dengan nama modul. Ini akan secara paksa mencegah pemuatannya.
Anda dapat menemukan lebih banyak info tentang arahan pemasangan di manual untuk modprobe.conf
man modprobe.conf
/etc/modprobe/blacklist.conf
, modul masih dapat dimuat secara manual modprobe <module_name>
. Menggunakan install <module_name> /bin/false
metode ini membuat ini gagal seperti yang diinginkan.
Tak satu pun dari solusi ini yang bekerja pada 16,04 LTS untuk i915.ko.
Solusi (kotor) yang saya temukan adalah mengubah nama
/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
Sayangnya, layar VGA eksternal tidak dikenali lagi: {
sudo update-initramfs -u
setelah memodifikasi file /etc/modeprobe.d/