我已经修改了默认的“nvme”设备驱动程序以适合我的项目,并且我尝试在启动时自动加载修改后的 nvme 驱动程序 (mnvme),但我没有成功。
我已编辑/lib/modules/{kernel-version}/modules.alias 文件以包含“mnvme”而不是“nvme”,但默认的“nvme”不断加载。
我还看到 mnvme:模块验证失败:签名和/或所需 key 丢失 - 内核消息上的内核污染。
注意:我可以分别使用 rmmod 和 insmod 命令手动删除“nvme”并加载“mnvme”。我更喜欢在启动时自动执行
谢谢, 巴拉。
最佳答案
自动加载模块:
将与模块相关的所有 .ko 文件复制到
/lib/modules/{kernel-version}/kernel/
下的相应位置,例如在/lib/modules/4.1.19-v7+/kernel/drivers/nvme/
下用于 nvme 驱动程序。运行
depmod -a
。这应该会更新 modprobe 所需的信息,该信息用于自动加载修改后的模块。有关如何加载内核模块的有用资源是第 1.2 节“模块如何进入内核?”本指南的内容 http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf .如果您修改了用户空间中所需的任何 header ,请确保更新
/usr/include
下的相关 header 文件。
为了避免污染消息,请提交您所做的更改,例如git commit -sam "...."
.
关于linux-kernel - 在启动时自动加载修改后的 'nvme' 设备驱动程序,而不是默认的 'nvme' 设备驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878145/