新闻  |   论坛  |   博客  |   在线研讨会
执行insmod提示insmod: ERROR: could not insert module dtsled.ko: Invalid module format
电子禅石 | 2020-12-10 17:29:38    阅读:9749   发布文章

在执行insmod是出现了以下错误log

dtsled: version magic '4.14.75-ltsi SMP preempt mod_unload aarch64' should be '4.14.75-ltsi-yocto-standard SMP preempt mod_unload aarch64'
insmod: ERROR: could not insert module dtsled.ko: Invalid module format

 

解决方法:
1.进入linux内核源码,找到./include/linux/vermagic.h
2.在vermagic.h中会包含一个头文件,进入该头文件
3. 修改成设定版本即可
4.重新编译驱动生成.ko,再执行insmod则可。

/include/linux/vermagic.h内容如下0.png


如图所示并没有发现“-yocto-standard”

 

在linux内核代码下执行 grep -ri "-yocto-standard"

得到

.meta/cfg/mismatch-all.txt:Actual value: CONFIG_LOCALVERSION="-yocto-standard"

 

得知该选项和CONFIG_LOCALVERSION选项相关,该选项可以在config文件中进行配置,其他选项也是类似的办法,


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客