在启动时自动加载修改后的'nvme'设备驱动程序而不是默认的'nvme'设备驱动程序

时间:2016-10-05 15:30:33

标签: linux-kernel linux-device-driver kernel-module device-driver

我修改了默认的“nvme”设备驱动程序以适合我的项目,我试图在启动时自动加载修改后的nvme驱动程序(mnvme),但我没有成功。

我已经编辑了/lib/modules/{kernel-version}/modules.alias文件以包含“mnvme”而不是“nvme”,但默认的“nvme”一直在加载。

我也看到mnvme:模块验证失败:签名和/或必需的密钥丢失 - 内核消息上的内核污染。

注意:我可以手动删除“nvme”并分别使用rmmod和insmod命令加载“mnvme”。我宁愿在启动时自动执行此操作

谢谢, 巴拉。

1 个答案:

答案 0 :(得分:1)

自动加载模块:

  1. 将与您的模块相关的所有.ko文件复制到/lib/modules/{kernel-version}/kernel/下的相应位置,例如在/lib/modules/4.1.19-v7+/kernel/drivers/nvme/下为nvme驱动程序。

  2. 运行depmod -a。这应该更新用于自动加载修改后的模块的modprobe所需的信息。内核模块如何加载的有用资源是第1.2节“模块如何进入内核?”本指南http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf

  3. 如果您在用户空间中修改了所需的任何标题,请务必更新/usr/include下的相关标题文件。

  4. 要避免污点消息,请提交您所做的更改,例如git commit -sam "...."