动态加载模块出现disagrees about version of symbol 问题分析
来源:互联网 发布:标准英语发音软件 编辑:程序博客网 时间:2024/04/28 06:23
1.编译kernel的时候,会生成Module.symvers文件,记录每个Symbol 和相应的CRC code,例如: 比如这个kernel 版本是2.6.38-1.4
0x258d700e raw_seq_open vmlinux EXPORT_SYMBOL_GPL
0xebba1d26 device_add vmlinux EXPORT_SYMBOL_GPL
0xfb0f0e78 device_del vmlinux EXPORT_SYMBOL_GPL
0xa5bf5c3e pm_qos_add_requirement vmlinux EXPORT_SYMBOL_GPL
2.编写动态加载module的时候,也会生成类似的文件module_name.mod.c,将module调用到的system call 记录在里面,这个的symbol使用编译module的时候指向的kernel路径。比如这个kernel 版本是2.6.37-2.5。
3.加载这个动态module的时候,kernel会去check加载模块的每一个symbol的CRC,看看是否与kernel相应的symbol相同,不同的话就会报错。 同一个kernel版本,不同的config也会出这个问题。
Found checksum 818923239 vs module A1009786
"***module": disagrees about version of symbol device_add
"***module": Unknown symbol device_add
0 0
- 动态加载模块出现disagrees about version of symbol 问题分析
- Linux加载模块时:disagrees about version of symbol struct_module
- 在新硬件上加载网卡驱动,出现e1000e: disagrees about version of symbol struct_module的解决
- 模块不能插入的问题解决 disagrees about version of symbol struct_module
- 模块不能插入的问题解决 disagrees about version of symbol struct_module
- insmod module.ko 出现Invalid parameters, dmesg显示信息:disagrees about version of symbol..
- 编译模块 insmod 提示dsagress about version of symbol
- 关于内核模块挂载出现“no symbol version for”问题的研究
- 关于内核模块挂载出现“no symbol version for”问题的研究
- 内核模块加载后提示错误: no symbol version for ***
- 加载内核模块-Unknown symbol错误分析
- 加载内核模块-Unknown symbol错误分析
- 加载内核模块-Unknown symbol错误分析
- 加载内核模块出现问题
- 加载模块出现的问题
- Android手动init.rc脚本加载驱动模块出现Unknown symbol的原因
- about Redefinition of sqlite3 as different kind of symbol
- 分析几个我在加载动态字符驱动模块时候遇到的问题
- 黑马程序员——第10天——(面向对象)包package,包与包之间的访问,导入import
- 蚂蚁算法
- [IOS] iOS开发的22个奇谲巧技
- 04-0. 求符合给定条件的整数集(15)
- 不再重复造轮子
- 动态加载模块出现disagrees about version of symbol 问题分析
- 我们为什么要选择泰国试管婴儿?
- IOS系列——不同手机的icon设置和启动页
- Java Swing日期,时间选择控件
- iOS - 集成game center (leader board)
- hibernate处理批量更新和批量删除
- Git在windows系统上的安装
- input() and raw_input() for python
- ExpandableListView方法详解