【问题标题】:Automatically load a modified 'nvme' device driver instead of the default 'nvme' device driver at boot time在启动时自动加载修改后的“nvme”设备驱动程序,而不是默认的“nvme”设备驱动程序
【发布时间】:2017-02-14 03:29:07
【问题描述】:

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

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

我还看到 mnvme: module verification failed: signature and/or required key missing - tainting kernel on kernel messages.

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

谢谢, 巴拉。

【问题讨论】:

  • /lib/modules/$KVER/kernel 下有一个名为extra 的特殊文件夹。它包含覆盖现有模块的模块。

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


【解决方案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 下的相关头文件。

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

【讨论】:

    猜你喜欢
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2017-07-29
    相关资源
    最近更新 更多