【问题标题】:YOCTO : can't insert linux module to the kernel : versions are differentYOCTO:无法将 linux 模块插入内核:版本不同
【发布时间】:2019-12-31 09:43:36
【问题描述】:

我正在使用 YOCTO PROJECT 为我的嵌入式板构建一个 linux 操作系统。 我有一个名为 uleds 的模块,我想将它插入到我的内核中,所以我录制了这个 insmod 命令:

insmod /lib/modules/4.14.73-linux4sam-6.0-dirty/kernel/drivers/leds/uleds.ko

但出现错误:

uleds:版本魔法'4.14.88-01445-g234c56a01768-dirty mod_unload ARMv7 p2v8 ' 应该是 '4.14.73-linux4sam-6.0-dirty mod_unload ARMv7 p2v8'

uleds:版本魔法'4.14.88-01445-g234c56a01768-dirty mod_unload ARMv7 p2v8 ' 应该是 '4.14.73-linux4sam-6.0-dirty mod_unload ARMv7 p2v8'

insmod:无法插入 '/lib/modules/4.14.73-linux4sam-6.0-dirty/kernel/drivers/leds/uleds.ko': 无效模块

我看到我的linux内核版本和模块版本不一样。我的问题是如何解决这个问题,以便将模块插入内核?

【问题讨论】:

    标签: embedded-linux yocto kernel-module


    【解决方案1】:

    该模块未使用与您的内核相同的版本(在嵌入式设备上)编译。

    您只需使用正确的内核编译模块即可。

    您需要在 Yocto 的元数据中找到您的内核配方,下载它(将下载的内核的存储库重置为配方的 SRCREV),然后构建您的模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-20
      • 2018-11-27
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 2016-01-16
      • 2018-06-20
      • 1970-01-01
      相关资源
      最近更新 更多