insmod module.ko 出现Invalid parameters, dmesg显示信息:disagrees about version of symbol..

问题:insmod mod_name.ko 出现Invalid parameters,

           dmesg显示信息:

             mod_name: disagrees about version of symbol xx_func

            mod_name: Unknown symbol xx_func (err -22)

解决方法:1(没有解决)

 开始以为是/lib/module/'uname -r'/build/下的Module.symvers没有指明,则在Makefile中添加KBUILD_EXTRA_SYMBOLS:

SYM := /lib/modules/$(shell uname -r)/build/Module.symvers  

$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) KBUILD_EXTRA_SYMBOLS=$(SYM)  modules

查了些资料(http://lxr.free-electrons.com/source/Documentation/kbuild/modules.txt#L469)469行,上面写如果自己写了两个模块,在模块2中引用模块1的方法,要中这个办法,而我这个方法没有解决方法。


解决方法:2

这篇文章说的就是这个问题(https://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/),是版本的问题。

xx_func和内核的版本不一样。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章