我修改了默认的“nvme”设备驱动程序以适合我的项目,我试图在启动时自动加载修改后的nvme驱动程序(mnvme),但我没有成功。
我已经编辑了/lib/modules/{kernel-version}/modules.alias文件以包含“mnvme”而不是“nvme”,但默认的“nvme”一直在加载。
我也看到mnvme:模块验证失败:签名和/或必需的密钥丢失 - 内核消息上的内核污染。
注意:我可以手动删除“nvme”并分别使用rmmod和insmod命令加载“mnvme”。我宁愿在启动时自动执行此操作
谢谢, 巴拉。
答案 0 :(得分:1)
自动加载模块:
将与您的模块相关的所有.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。
如果您在用户空间中修改了所需的任何标题,请务必更新/usr/include
下的相关标题文件。
要避免污点消息,请提交您所做的更改,例如git commit -sam "...."
。