【问题标题】:Module not found when I do a modprobe我做 modprobe 时找不到模块
【发布时间】:2020-11-25 20:50:04
【问题描述】:

我正在尝试安装此模块:https://github.com/mkottman/acpi_call

我做了一个make,make install。

然后我看到acpi_call.ko/lib/modules/4.3.3-5-default/extra/ 中。

当我做一个

modprobe acpi_call

我明白了

modprobe:致命:在目录中找不到模块 acpi_call /lib/modules/4.3.3-5-default

尝试将acpi_call.ko 放入/lib/modules/4.3.3-5-default,但得到了相同的结果。

我想让它持久化,这样当我重新启动时,模块就会被加载。我认为只有使用 modprobe 才有可能。

【问题讨论】:

    标签: linux linux-device-driver


    【解决方案1】:

    如果模块.ko文件确实在/lib/modules/4.3.3-5-default/extra/下并且4.3.3-5-default确实是你当前的内核版本,那么问题可能只是你需要运行depmod重新创建模块依赖列表。运行:

    sudo depmod
    

    然后再次尝试modprobe 模块。

    【讨论】:

    • 在没有任何标志的情况下运行 depmod 对我有用。 -a 是默认值,-e 在没有 -E-F 的情况下不会做任何事情。
    • 如果内核现在没有运行,我如何探测它?
    • @AliAsgari 您可以使用lsmod 命令列出已加载的模块。
    • 这真的救了我。请点赞。
    【解决方案2】:

    我的解决方案是独一无二的,但在我的系统中我重建了内核并取出了一个模块。我安装了供应商模块,但无法使用供应商模块启动系统。在我的情况下,我忘记移动所有 /lib/modules 信息,所以modules.builtin 仍然有我正在升级的模块。从modules.builtin 手动删除模块并执行depmod -a 解决了我的问题。

    【讨论】:

      【解决方案3】:

      尝试在源目录中运行make && sudo make install。这应该使用内核头文件附带的 Makefile 将模块安装在正确的位置。

      【讨论】:

        猜你喜欢
        • 2015-01-21
        • 1970-01-01
        • 1970-01-01
        • 2022-10-20
        • 2016-12-25
        • 1970-01-01
        • 1970-01-01
        • 2020-01-26
        • 1970-01-01
        相关资源
        最近更新 更多