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和內核的版本不一樣。



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