我的lkm程序,insmod时提示内核版本不对,怎样才能成功升级内核?
首先声明,我是纯正的linux菜鸟,到目前为止,使用ubuntu的时间不超过一个星期。之所以做这个lkm程序是因为作业。
好吧,下面开始倒苦水。
我的ubuntu的版本是2.6.32.21的,/usr/src下只有linux-2.6.32.21-generic文件夹
我的程序编译用的source是从kernal.org上下的2.6.32.21版本的,版本明明一样,但是insmod时提示我“Invalid module format”,dmesg后发现是“disagrees about version of symbol struct_module”。搜索一气后,都说是版本号不对。好吧,那就升级内核。
网上流传的升级内核的方法真多,但是要么不完全正确,让我功亏一篑,要么太过古老,让我摸不着头脑。我只能硬着头皮尝试,目前总共尝试编译内核次数不低于5次,纠结时间超过3天,我不想在这么漫无目的地尝试了,但是时间又不允许我按部就班地学习ubuntu,所以我只能来这里求救
我的问题就是这样:我的lkm程序能正确编译成.ko,但是insmod时提示版本不对,该怎么解决?如果是升级内核,我该怎么一步一步去做才能成功升级,然后成功地让我的lkm程序insmod。