前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >驱动模块(ko)文件加载失败分析

驱动模块(ko)文件加载失败分析

作者头像
用户4148957
发布2022-06-14 08:29:56
2.7K0
发布2022-06-14 08:29:56
举报
文章被收录于专栏:C/C++与音视频

            在实际工作中,通常出现SDk编译出来的驱动模块,在最小系统中加载失败,即insmod xxx.ko 失败,“disagree param with the version"等之类的提示。

1.分析内核版本, uname -a 一看,最小系统的内核版本和编译SDK的内核版本一样。(因为SDK编译出来就是一个驱动ko,以及在驱动的基础上做了一个适配库.so),所以SDK本质上就是一个内核模块驱动+适配层代码。自然在编译时是需要依赖内核的。纳闷了,内核版本一样,工具链也是一套的,编译出来的ko却加载失败。

2.通过分析编译最小系统的内核和编译SDK的内核,发现两个内核虽然版本一样,但两个内核配置不一样。即最小系统的内核代码在make menuconfig 对内核做了裁剪。问题有眉目了,可能是最小系统的内核做了裁剪,而SDK编译的内核没有同步更新,造成SDk编译的驱动在最小系统中找不到对应的依赖。

解决办法:

                 1.将最小系统的make menucofig所产生的.config 替换SDK编译的内核源码中,做到编译最新系统的内核源码和编译SDK的内核源码 .cofnig一致。

                  2.OK 问题解决

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档