This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5728:cmemk:无效的模块格式

Guru**** 2589280 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/590378/linux-am5728-cmemk-invalid-module-format

器件型号:AM5728

工具/软件:Linux

我使用的是带有处理器 SDK 03.03的 AM5728 SoC;当我尝试加载 CMEM 内核模块时、我收到以下错误:

cmemk:不同意 symbol module_layout 的版本
cmemk:不同意 symbol module_layout 的版本
insmod:无法插入"/lib/modules/4.4.41-gf9f6f0db2d/kernel/extra/cmemk.ko:无效的模块格式

我使用的是处理器 SDK 中的 Linux 4.4.41内核、并使用同一个处理器 SDK 中预构建的 cmemk.ko 模块。 考虑到处理器 SDK 中的内核和预构建模块都已推出、我本来希望所有内容都保持同步。

在构建内核时、我是否需要确保启用编译器选项或内核配置选项?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    一些额外信息:
    bash-4.3# modinfo -F vermagic /lib/modules/4.4.41-gf9f6f0db2d/kernel/extra/cmemk.ko
    4.4.4.41-gf9f6f0db2d SMP 抢占 mod_unload MODVERSIONS ARMv7 p2v8

    bash-4.3# uname -a
    Linux board-0001 4.4.4.41-gf9f6f0db2d #1 SMP 抢占 Mon Apr17 4月12:16:26 EDT 2017 armv7l GNU/Linux
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Gerard、您好!

    我刚刚安装了 SDK 03.03、cmemk 模块处于同步状态、并成功加载。 您看到的有关 symbol module_Layout 版本的问题是、该模块是根据不同的内核版本不同的内核配置构建的、或者您的模块未正确编译。 此外、Processor SDK 中没有这样的/lib/modules/4.4.41-gf9f6f0db2d/kernel/extra 目录、路径应为/lib/modules/4.4.41-gf9f6f0db2d/extra/. 此外、如果要重建、请不要忘记运行 depmod -a 命令以生成新的 modules.dep 和映射文件。 此外、cmemk 模块与内核模块不同、您应该从 Processor SDK 的顶部目录中发出 make cmem-mod 命令、以重新编译 cmemk 模块并通过 make cmem-mod_install 命令进行安装。

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Kemal R. Shakir"]

    您看到的有关 symbol module_Layout 版本的问题是、该模块是根据不同的内核版本 不同的内核配置构建 的、或者您的模块未正确编译。  

    [/报价]

    我当时假设是内核配置是问题所在、但不确定它可能是什么、因为挤占匹配。

    [引用用户="Kemal R. Shakir"]

    此外、Processor SDK 中没有此类/lib/modules/4.4.41-gf9f6f0db2d/kernel/extra 目录、路径应为/lib/modules/4.4.41-gf9f6f0db2d/extra

    [/报价]

    该路径来自处理器 SDK 本身:TI-processor-sdk-linux-am57xx-evm-03.03.00.04//linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/lib/modules/4.4.41-gf9f6f0db2d/extra/cmemk.ko

    [引用用户="Kemal R. Shakir"]

     您应该从 Processor SDK 的顶部目录中发出 make cmem-mod 命令来重新编译 cmemk 模块并通过 make cmem-mod_install 命令进行安装。

    [/报价]

    好的、我将重新构建模块并报告。 我希望我可以对内核配置本身进行调整、使 Processor SDK 升级更简单一些。 目标是重建内核、并能够采用最新的 Processor SDK 预构建的 CMEM 内核模块。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您还可以备份默认配置并将其替换为自定义配置、如 本帖子中所述。