You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto构建的cryptodev-module加载时报Exec format错误问题咨询

问题根因

对比两个驱动的vermagic信息可以直接定位核心问题:可正常加载的8188eu驱动标识包含thumb2字段,cryptodev模块的标识缺失该字段,说明cryptodev模块编译时采用的是ARM32标准ARM指令集,而设备运行的内核是Thumb2指令集编译的,二者指令集不兼容触发Exec format error报错。
另外你执行加载命令时填写的模块名有误,正确模块名是cryptodev,无需加-module后缀,但该问题不会触发格式类报错,仅会提示模块不存在。

修复方案

  • 首先确认Yocto构建配置的全局指令集参数:检查conf/local.conf中是否开启了Thumb2编译,确认ARM_INSTRUCTION_SET = "thumb"配置存在,且DEFAULTTUNE参数对应支持Thumb2的ARM架构(如cortexa系列tune配置)。
  • 修改cryptodev-module的配方文件(.bb/.bbappend),确保构建时继承内核的编译参数,避免模块使用独立的编译配置,可在配方中添加如下配置:
    inherit module
    EXTRA_OEMAKE += "CC='${KERNEL_CC}' LD='${KERNEL_LD}' AR='${KERNEL_AR}'"
    
  • 清理旧的编译缓存,重新编译模块:
    bitbake -c cleanall cryptodev-module && bitbake cryptodev-module
    
  • 卸载设备上原有的cryptodev相关rpm包,安装新编译的包后,执行modprobe cryptodev即可完成加载。

内容的提问来源于stack exchange,提问作者voidstein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:45:03