Kernel

如何阻止核心內置的驅動程序,即不是模組的驅動程序

  • October 10, 2018

nouveau我用核心內置的驅動程序配置和編譯了 Linux 核心,即與在 Linux 核心源目錄中進行操作時<*>相反。<M>``make menuconfig

現在,我打算使用另一個驅動程序而不是nouveau. 如果nouveau是一個模組,我會在blacklist nouveau裡面添加一行/etc/modprobe.d/blacklist.conf

我現在該怎麼辦。

當您使用語法引導時,您還可以在 grub 命令行(linux 行)上暫時將它們列入黑名單

module_to_blacklist.blacklist=yes

或者

modprobe.blacklist=module_to_blacklist

您需要修改 grub,cfg 以使更改永久生效。

請注意,此解決方案不適用於少數模組

知道這一點的人不多,但絕對有一種方法可以將核心中內置的驅動程序列入黑名單。

首先,您應該執行lsmod | grep <driver_name>. 如果您沒有看到任何結果,恭喜您 - 您的驅動程序直接內置到核心中,並且將其列入黑名單的正常方式不起作用。相反,您需要將驅動程序的初始化函式列入黑名單。為此,您需要添加initcall_blacklist=<driver_init>作為核心啟動選項,其中driver_init是驅動程序初始化函式 - 您必須查看核心的原始碼以確定需要使用的名稱。作為一個具體範例,initcall_blacklist=vmd_drv_init用作引導選項可防止英特爾的捲管理設備驅動程序載入並綁定到活動的捲管理設備控制器。

引用自:https://unix.stackexchange.com/questions/276392