我尝试使用 modprobe.blacklist=8250_pci 作为启动选项将内置 Linux 内核模块 8250_pci 列入黑名单,但没有成功,如何避免加载这个模块?
答案1
欢迎来到 Unix 和 Linux StackExchange!
如果8250_pci
驱动程序内置于内核中,modprobe.blacklist
则对其没有任何影响,因为modprobe
根本不会涉及。
相反,您可以通过管道传输相关设备的 PCI 总线 ID,以/sys/bus/pci/drivers/serial_pci/unbind
从特定设备上拔下驱动程序。 (路径名可能是.../serial/unbind
,我目前无法检查。)
例子:
echo 0000:03:00.0 > /sys/bus/pci/drivers/serial_pci/unbind
remove_id
如果同一目录中有,您还可以lspci -nn
将相关设备的供应商和产品 ID(用于查看它们)通过管道传输到其中,因此如果串行设备自动检测,驱动程序将不会再次拾取该设备因任何原因而被触发。
例子:
echo "1415 c158" > /sys/bus/pci/drivers/serial_pci/remove_id
一旦找到正确的值以通过管道传输到伪文件中,您可能需要将它们添加到/etc/rc.local
或编写自己的小型启动脚本(或.service
文件,如果适用)以在每次启动时运行命令。