当前位置:  技术问答>linux和unix

我的lkm程序,insmod时提示内核版本不对,怎样才能成功升级内核?

    来源: 互联网  发布时间:2016-10-05

    本文导语:  首先声明,我是纯正的linux菜鸟,到目前为止,使用ubuntu的时间不超过一个星期。之所以做这个lkm程序是因为作业。 好吧,下面开始倒苦水。 我的ubuntu的版本是2.6.32.21的,/usr/src下只有linux-2.6.32.21-generic文件夹 我的...

首先声明,我是纯正的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。

|
我的程序编译用的source是从kernal.org上下的2.6.32.21版本的,版本明明一样,但是insmod时提示我“Invalid module format”
---------------------
又见这种问题,你下的内核和当前使用的内核的版本区别在于一个是linux-2.6.32.21-generic,一个是linux-2.6.32.21
自己从kernel.org下的源码,必须使用跟当前内核一样的config编译过之后才能拿来编译内核模块
可以安装一个内核头文件包,但是我没用ubuntu,不知道是什么名字,就是编译你当前内核使用的内核头文件

最简单的办法,去装一个fc8,安装时尽可能勾选多的开发库,附带kde开发
里面的kdevelop能建立内核工程,更高版本的fc居然去掉kdevelop的内核工程,气人

ubuntu其实最不适合新手用,要手动装一堆包,足够把新手玩死

|
2.6系内核升级步骤
1.make mrproper
2.make oldconfig
3.make config/make menuconfig(推荐)/make xconfig/make gconfig
4.make
5.make modules_install
6.mkinitrd
7.installkernel

|
我使用FC9升级到某个版本(按楼上几位的方法),编写驱动没有出现insmod问题。
要确保你当前正在使用的系统的版本跟你写驱动所用的版本是一致(你升级后再进到新内核这个“系统”),其它没什么问题了,因为驱动编译过程中要用到内核的头文件。

————
ubuntu是给新手玩玩的,不适合搞开发。——那些个gcc、g++、bison、flex,等等,慢慢升级吧。

|
你还是试试装ubuntu带的头文件包吧
我不知道具体的名称,你多尝试
apt-get install kernel-headers-*
apt-get install kernel-headers-linux-2.6.32.21-generic

|

以fedora 9 download关键字google来的:
http://download.chinaunix.net/download/0013000/12384.shtml
注:其实搞开发这东东,许多软件、系统不一定要最新的,一定新且能够适合自己使用即可。

|
我没用过ubuntu 
在rhel5.4下可以用一下方式编译通过
make mrproper
make menuconfig
make bzImage
make modules
make modules_install
make install


|
verycd 应该有fc8

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编写lkm时的内存分配
  • 100分答谢:谁会Linux下的LKM的编程
  • 用LKM写一个文件系统 挂载到系统中方法
  • 一个关于LKM的简单问题
  • LKM问题,动态查找sys_call_table相关
  • LKM遇到问题,请问这是为什么?
  • LKM 中一个例子的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3