我在玩一个运行linux的嵌入式系统(Bebop无人机)。我有:
我想将模块option.ko添加到设备中。我在.configm usbserial、usb_wwan、et.al中配置了所需的选项。(通过make oldconfig,make menuconf)
所有将模块加载到目标系统的尝试都失败,因为dmegs声明ko文件的module_layout具有与内核需要不同的CRC。将“正确”CRC编辑到ko文件中,只会将投诉转移到模块所需的另一个符号上。
无论我在交叉编译时尝试了什么,*.ko文件都有不匹配的符号CRCs!。
我不知道什么时候从目标系统中溜进来“不匹配”的Module.symvers,模块交叉编译的最后阶段打破了我的诡计,重新创建了Module.symvers,覆盖了所需的目标CRCs。
,考虑到我所使用的正是制造商发布的源树(而活着的内核应该正在使用),为什么这个符号问题首先出现在上?
如何解决符号不匹配问题和为旧运行的内核生成“新”模块?
提亚
发布于 2016-02-25 11:27:19
问题解决了,编译器是关键的,它必须是/proc/version中的一个专用程序,参见上面的第四个注释。
https://stackoverflow.com/questions/35590392
复制相似问题