自动控制内核模块的加载

自动控制内核模块的加载

当我执行 rmmod usb_storage 然后执行 dmesg 时,我可以看到输出显示 usb_storage deregistered。但是当我连接闪存驱动器然后执行 dmesg 时,它显示

Initializing USB Mass Storage driver...
[16565.129239] scsi41 : usb-storage 1-1:1.0
[16565.130134] usbcore: registered new interface driver usb-storage
[16565.130172] USB Mass Storage support registered.

如何手动插入/移除模块而不使其自动加载?

答案1

只需将内核驱动程序列入黑名单:

echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf

此后,没有人可以在您的系统中使用 USB 闪存驱动器。

您必须手动“ insmod”您的驱动程序sudo才能再次使用 USB 设备,或者如果您想恢复初始行为,请从黑名单文件中删除该模块。

答案2

除了上面的答案@Syivain Pineau,每当blacklist编辑一个模块时,仍然可以分别使用和添加和删除它insmodrmmod但对于插入,您需要在源位置,例如插入 usb-storage,删除它后,您应该运行insmod usb-storage atlinux/driver/usb/storage`。

相关内容