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

2.6内核问题

    来源: 互联网  发布时间:2015-11-15

    本文导语:  在2.6内核下,用insmod加载模块时出现下面问题:insmod:error inserting 'hello.o':-l Invalid module format. 我程序的源代码: #ifndef MODULE #define MODULE #endif #ifndef __KERNEL__ #define __KERNEL__ #endif #include  #include  int init_module(void) {...

在2.6内核下,用insmod加载模块时出现下面问题:insmod:error inserting 'hello.o':-l Invalid module format.
我程序的源代码:
#ifndef MODULE
#define MODULE
#endif
#ifndef __KERNEL__
#define __KERNEL__
#endif
#include 
#include 

int init_module(void)
{
printk(KERN_ALERT "Hello World!n");
return 0; // Must return 0!
}

void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world!n");
}

MODULE_LICENSE("GPL");

|
怀疑你的insmod 版本是否是for 2.6的

|
你这样做是不行的。如果我没有说错,你实际看的参考书是基于2.4内核的。如果你要在2.6内核下编译内核程序,需要写Makefile文件,具体写法你可以参考《linux device driver》第三版。也可以参考我这里的简单程序:
http://www.blogcn.com/user46/booklijian/blog/22073848.html

|
假定你有以下几种情况:
1.你原来是安装的基于2.4的LINUX发行版,仅仅只是升级了你的内核
2.升级了你的内核后,却没有正确设置你内核模块所需的头文件,就是说没有在/usr/src下设置正确的连接符号
3.就如同楼上所说的那样,你的驱动程序的写法是基于2.4的
4.你的内核与源文件都是2.6的,绝大多数情况下应用层程序与内核的依赖关系不是很大,也就是说内核升级了,应用程序一般都不需要重新编译,但有些可能与内核关系密切的也许需要重新编写吧?比如在新的内核更改了某个系统调用(假定你的应用程序直接在代码中发出系统调用,而不通过C库),增加了一些系统调用,而新的应用层程序就有可能会用到这些特性等等,这时就有可能会重新找到基于特定内核版本的应用程序重新编译,不过这种情况是非常少的,可以忽略

|
楼上都没对,


2.6内核要加载.ko文件,make时一并生成的哈

|
这是最主要的区别!!!!

    
 
 

您可能感兴趣的文章:

  • 内核栈~ 内核线程 ~用户线程 之间关系 问题
  • 把redhat9.0的2.4.20-8内核升级为2.4.22内核时遇到的问题
  • 新手的菜鸟问题:不同内核版本下编译的程序能否互相调用,是否需要在同一内核下重新编译.
  • 问一个小白问题,在交叉编译时,系统内核和开发板的内核有没有相关性?
  • Android 内核移植问题 要求识别SATA硬盘 请问内核的make menuconfig 要如何配置?求高手
  • 修改内核代码问题:如何编译修改的单个文件而不用重建整个内核?
  • 请教一个问题:程序在Linux 2.4.20内核上跑无问题。但在2.4.19内核上跑就出现段错误现象。查了一星期,毫无头绪,万望各位指点。
  • 内核版本问题 GCC版本问题
  • linux内核安装问题 , 有点疑惑~
  • 内核升级问题!!!!!
  • 内核问题
  • 问个编译内核的简单问题~~~
  • 内核重编译前的小白问题
  • 请教一个linux进程内核栈的问题
  • 升级linux内核时,2.6.21.5内核编译成功,但启动时出现panic,请看问题详细描述!
  • 菜鸟问题,内核编译以后,启动不了。系统提示内核文件文件找不到!
  • 关于如何使用内核函数的问题
  • 安装内核头文件问题
  • Linux 内核模块编程问题!!!!
  • linux 内核进程堆问题,大家指教
  • 2.6内核下编译2.4内核
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求
  • 请问:redhat有没有2.6内核呀,一定要升级才行吗?
  • 是否需要将2.4版本内核升级到2.6呢?
  • 请问:2.6的内核是抢占式还是非抢占式的?如何更改?
  • LINUX 内核2.4和2.6的问题
  • 在radhat9.0中建立2.6内核树?
  • 裁减过的2.6内核支持USB设备问题?
  • ***内核2.6是否支持umsdos文件系统呀***
  • Linux 内核模块编程问题!!!! iis7站长之家
  • 2.4内核编译好的.o虚拟设备怎么在2.6下加载啊
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • Linux中内核线程不访问内核态地址空间?
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 谁能提供kgdb内核补丁内核模块的下载
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 编译新内核后怎么进入原来内核
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 内核模块跟内核版本不匹配????????
  • docker使用的技术之Container内核原理介绍
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?
  • 如何学好内核?学了内核能应用于哪方面?


  • 站内导航:


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

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

    浙ICP备11055608号-3