OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7382|回复: 6

加载模块时出错, version magic版本不一致问题

[复制链接]

8

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-7-11
在线时间
17 小时
发表于 2020-8-13 18:32:18 | 显示全部楼层 |阅读模式
2金钱
在加载模块中,虚拟机编译时使用的Linux内核源码是linux-imx-4.1.15-2.1.0-gbedf008-v1.1.tar.bz2,
阿尔法开发板打印的系统信息为:

root@ALIENTEK-IMX6U:~# uname -a
Linux ALIENTEK-IMX6U 4.1.15-gbedf008 #1 SMP PREEMPT Fri Nov 1 12:04:36 CST 2019 armv7l armv7l armv7l GNU/Linux
加载模块时报错
root@ALIENTEK-IMX6U:~# cd /lib/modules/4.1.15
root@ALIENTEK-IMX6U:/lib/modules/4.1.15# insmod chrdevbase.ko
[  198.392427] chrdevbase: version magic '4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ' should be '4.1.15-gbedf008 SMP preempt mod_unload modversions ARMv7 p2v8 '
insmod: ERROR: could not insert module chrdevbase.ko: Invalid module format
网上查都是保证模块编译的引用的Linux内核和开发板用的LInux内核相同就行,我这个已经是相同的了,为什么还不行?还是说我这个是不同的?求指教嘿嘿



阿尔法内核信息打印.PNG

最佳答案

查看完整内容[请看2#楼]

可是你上面的提示是,内核版本是 4.1.15-gbedf008,模块是4.1.15 这样,你用内核源码(比如是内核源码A)来编译出内核和设备树,再编译modules和安装modules,最后再用你这个内核源码编译你的驱动.ko文件,然后内核和驱动.ko文件一起放到板子上运行。 可以看看这个文档的介绍,这个文档中画框的章节介绍的步骤您可以按照来操作,里边的操作方法理解一下:
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2390
金钱
2390
注册时间
2019-9-25
在线时间
397 小时
发表于 2020-8-13 18:32:19 | 显示全部楼层
本帖最后由 仰望星空之云 于 2020-8-14 20:19 编辑
宋金水 发表于 2020-8-13 22:24
我又重新更改了开发板的内核 ,再次确定了编译时引用的内核和开发板的内核为同一版本,加载模块时出现相同 ...

可是你上面的提示是,内核版本是 4.1.15-gbedf008,模块是4.1.15
这样,你用内核源码(比如是内核源码A)来编译出内核和设备树,再编译modules和安装modules,最后再用你这个内核源码编译你的驱动.ko文件,然后内核和驱动.ko文件一起放到板子上运行。
可以看看这个文档的介绍,这个文档中画框的章节介绍的步骤您可以按照来操作,里边的操作方法理解一下
【正点原子】I.MX6U 常见问题汇总V1.1.pdf (10.95 MB, 下载次数: 18)
回复

使用道具 举报

0

主题

144

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2019-5-16
在线时间
143 小时
发表于 2020-8-13 19:08:25 | 显示全部楼层
内核和驱动模块都用同一个版本的内核源码编译,先编译内核再编译模块,然后将编译好的内核和模块一起放到板子上运行。
回复

使用道具 举报

8

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-7-11
在线时间
17 小时
 楼主| 发表于 2020-8-13 21:39:40 | 显示全部楼层
橙子熊 发表于 2020-8-13 19:08
内核和驱动模块都用同一个版本的内核源码编译,先编译内核再编译模块,然后将编译好的内核和模块一起放到板 ...

确实是先编译内核,在编译模块。内核很久之前就放在板子上了,一直没解决这个问题。
回复

使用道具 举报

8

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-7-11
在线时间
17 小时
 楼主| 发表于 2020-8-13 22:24:57 | 显示全部楼层
我又重新更改了开发板的内核 ,再次确定了编译时引用的内核和开发板的内核为同一版本,加载模块时出现相同错误
回复

使用道具 举报

8

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2019-7-11
在线时间
17 小时
 楼主| 发表于 2020-8-15 10:47:58 | 显示全部楼层
仰望星空之云 发表于 2020-8-13 18:32
可是你上面的提示是,内核版本是 4.1.15-gbedf008,模块是4.1.15
这样,你用内核源码(比如是内核源码A ...

好的谢谢
回复

使用道具 举报

9

主题

890

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2390
金钱
2390
注册时间
2019-9-25
在线时间
397 小时
发表于 2021-7-9 21:36:32 | 显示全部楼层
详细的解决办法,可以看正点原子的《【正点原子】I.MX6U 常见问题汇总V1.2》,也可以看看这个链接:
https://mp.weixin.qq.com/s/IFDd5am26K1rImLXjoBhEw
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 19:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表