使用insmod **.ko时,出现Invalid module format提示,使用dmesg -c查看相应的log,
出现disagree about version of symbol module_layout。
解决方法:
先使用uname -r查看系统的linux版本号,比如我的:
#uname -r
4.2.0-23-generic
再查看该ko源码目录下的Makefile文件,把KDIR这一项改成和系统的一致:
KDIR := /lib/modules/4.2.0-23-generic/build
保存,make clean,再make
使用生成的ko重新insmod,就没有这个错误了。

当使用insmod加载.ko模块时遇到Invalidmoduleformat错误及disagreeaboutversionofsymbolmodule_layout日志信息,可通过检查并修改Makefile中KDIR路径与系统内核版本一致来解决。具体步骤包括获取当前Linux内核版本,更新Makefile,执行makeclean和make,最后重新insmod即可。
1987

被折叠的 条评论
为什么被折叠?



