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

请问问题出在哪里? 内核模块方面的。

    来源: 互联网  发布时间:2015-08-02

    本文导语:  我写了2个简单的模块,编译通过了,但是插入时报错说不正确的内核格式。  请高人帮我看看。 /** start.c**/ #include  #include                                                             ...

我写了2个简单的模块,编译通过了,但是插入时报错说不正确的内核格式。 
请高人帮我看看。

/** start.c**/
#include 
#include 
                                                                                
int
init_module ()
{
  printk ("Hello, World!n");
  return 0;
}

/** stop.c **/
#include 
                                                                                
#define __NO_VERSION__
#include 
#include 
                                                                                
void cleanup_module()
{
        printk("Bye!n");
}

/** MakeFile **/
CC=gcc
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX
                                                                                
hello.o: start.o stop.o
        ld -m elf_i386 -r -o hello.o start.o stop.o
start.o: start.c /usr/include/linux/version.h
        $(CC) $(MODCFLAGS) -c start.c
stop.o: stop.c /usr/include/linux/version.h
        $(CC) $(MODCFLAGS) -c stop.c

make 通过了。
但是 insmod hello.o 报错说
insmod: error inserting 'hello.o': -1 Invalid module format




|
insmod会检查模块编译时的编本号和当前运行内核的版本号,如果不一致,就有上述警告。因为新的内核在某些函数接口,例如参数上发生了变化,由于模块编译环境不一致,这就无法在编译时报错,运行就可能造成严重后果。-f则忽略了这些情况,但比较危险。最好是将MODVERSION编入你的内核,这样编译好的符号会带一个校验和,后者综合了参数个数和类型信息,如果接口未发生任何变化,则校验和一致,即使版本号不一致也没关系

|
insmod start.o
insmod stop.o
可以吗?

|
我也是用insmod -f hello.o

    
 
 

您可能感兴趣的文章:

  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • 请问在2.6的内核环境下编译2.4的内核有没有什么特殊的要求
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • Android 内核移植问题 要求识别SATA硬盘 请问内核的make menuconfig 要如何配置?求高手
  • 我的redhat as 2.1想升级内核,请问具体该怎么做?现内核版本为2.4.9-e3,想升级为2.4.9-e系列的最新版本
  • 请问:2.6的内核是抢占式还是非抢占式的?如何更改?
  • 请问在linux内核实现浮点运算怎么弄?
  • 请问:redhat有没有2.6内核呀,一定要升级才行吗?
  • 我是新手请问什末是内核
  • 请问centos6.2 fedora13 内核问题
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 请问内核空间和用户空间有什么区别,是怎么划分的.谢谢
  • 请问,如何使用绑定在内核中的汉字模块?
  • 请问哪里有比较全的Linux内核编程API和数据结构的文档?
  • 请问linux内核编程的能不能调用#include <stdio.h>的函数
  • 请问有哪些比较好的linux内核开发的国外网站??
  • !请问,新下载的驱动程序该如何编译进内核呢?
  • 请问大家开发linux内核一般是在做/用于什么项目?
  • 请问:构建嵌入式linux环境时,“Linux内核的移植”是达到什么目的啊?
  • 请问linux进程的哪些信息保存在内核里?哪些信息又保存在进程空间里?谢谢
  • 请问模块如何与用户程序进行数据交换
  • 请问我要加载内核模块 ipip.o 怎么做
  • 请问如何给内核模块传递大量的数据?
  • 请问在Unix下开发ftp传输模块,有没有什么系统函数可以调用。
  • 请问加载动态snmpd扩展模块时使用的命令#./snmpd –f –L –DXXX,DLmod参数的含义是什么?
  • 请问:在Linux的C编程中,如何取得模块路径?
  • 请问加载自定义Ko模块
  • 请问模块加载需要怎样配置环境?
  • linux下用eclipse进行开发,尤其打开较大的python代码模块,老是会卡,请问大家有没有好点的解决办法,如能提供具体设置,不胜感激
  • 请问大侠: 2.4下应用程序(user space)传大量数据给内核模块(kernel space)的可选方法和最佳方法.
  • 请问:怎么样才能让程序成为一个Linux内核的可装载模块?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问如何尽快掌握JB6的强大功能?比如做数据库方面?或jsp,jbean方面?
  • 请问各位现在搞开发都用java做哪些方面的项目,真不知道怎么学向那方面学采好.
  • 我想学个关于linux/unix方面的认证,请问学什么,认证名称是什么?
  • 请问哪位仁兄知道哪里有UNIX方面的书籍下载
  • 请问:java.rmi.* javax.naming.* 这两个库是应用什么方面的
  • 技术文章 iis7站长之家
  • 请问这里有讨论xml与java方面论坛吗?
  • 请问有没有国内的java方面的新闻组给推荐一下?
  • 请问那里有关于linux编程方面的源代码?
  • 请问java方面有哪些论坛(英文)人气比较旺
  • 请问,谁有好的关于Java.IO方面的教材提供一下
  • 请问谁有xlib编程方面的入门资料或相关网址!
  • 请问socket方面的问题
  • 请问j2ee是做哪方面的应用的?
  • 请问UNIX和Linux在系统命令方面有多大的不同?
  • 请问学linux应该从学哪方面起步呢?
  • 20分:想在vmware上架个linux学嵌入式开发,请问装哪一版比较好用,比如在中文这方面.
  • 请问哪里有电子版的介绍2.4内核或其以上的实践方面书下载
  • 请问再Linux下进行C/C++网络方面的编程 推荐使用哪个版本?
  • 请问Servlet主要用在什么方面?有没有关于它的比较好的书或其他的资料?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


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

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

    浙ICP备11055608号-3