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

我内核版本跟内核模块一致,但仍然insmod:error inserting 'hello.ko',-1 Invalid module format

    来源: 互联网  发布时间:2017-05-28

    本文导语:  本帖最后由 NewThinker_wei 于 2012-10-05 13:18:38 编辑 如图: 版本号都是2.6.34.13 但仍然无法insmod。 下面是源码: hello.c /*======================================================================     A simple kernel module: "hello world"      ...

本帖最后由 NewThinker_wei 于 2012-10-05 13:18:38 编辑
如图:
我内核版本跟内核模块一致,但仍然insmod:error inserting 'hello.ko',-1 Invalid module format[图片]
版本号都是2.6.34.13
但仍然无法insmod。
下面是源码:
hello.c

/*======================================================================
    A simple kernel module: "hello world"
         
    The initial developer of the original code is Baohua Song
    . All Rights Reserved.
======================================================================*/
#include 
#include 
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
  printk(KERN_INFO " Hello World entern");
  return 0;
}

static void hello_exit(void)
{
  printk(KERN_INFO " Hello World exitn ");
}

module_init(hello_init);
module_exit(hello_exit);

/*
MODULE_AUTHOR("Song Baohua");
MODULE_DESCRIPTION("A simple Hello World Module");
MODULE_ALIAS("a simplest module");
*/


//Makefile

#KERNELDIR = /usr/src/kernels/2.6.18-164.el5-i686
#PWD := ($shell pwd)
#INSTALLDIR = $(PWD)
#CC=gcc
obj-m := hello.o




还有我用的是红帽企业版5.4,原始内核是2.6.18,用这个内核启动的话,运行insmod -C /usr/src/kernels/2.6.18-164.el5-i686 后再insmod可以正常加载。
后来我下载了2.6.34.13的源码(源码目录 /usr/src/linux-2.6.34.13),以前编译过一次。但用这个内核启动时,运行insmod -C /usr/src/linux-2.6.34.13后用insmod就会出现上图中的情况。网上说出现这种问题一般是内核版本号跟要加载的内核模块版本号不一致,但我这里貌似是一致的吧?怎么回事?

|
这个……

我三个内核,都试了,只需改下内核源码路径就OK了!!!(我新编译的那个2.6.34也比我之前的版本高)

这是我的Makefile


ifneq ($(KERNELRELEASE),)

obj-m :=hello.o

else
KDIR:= /lib/modules/2.6.34.12/build

all:
        make -C $(KDIR) M=$(PWD) modules
clean:
        rm -f *.ko *.o *.mod.o *.mod.c *.symvers

endif



这是内核源码的目录结构
[Og@localhost ~]$ ls /lib/modules/
2.6.32-279.9.1.el6.x86_64  2.6.32-279.el6.x86_64  2.6.34.12
[Og@localhost ~]$ ls /lib/modules/2.6.34.12/
build              modules.ccwmap       modules.isapnpmap  modules.symbols
kernel             modules.dep          modules.ofmap      modules.symbols.bin
modules.alias      modules.dep.bin      modules.order      modules.usbmap
modules.alias.bin  modules.ieee1394map  modules.pcimap     source
modules.builtin    modules.inputmap     modules.seriomap
[Og@localhost ~]$ ls /lib/modules/2.6.34.12/build
arch           firmware          kernel           Module.symvers  sound
block          fs                lib              net             System.map
COPYING        include           MAINTAINERS      README          tools
CREDITS        init              Makefile         REPORTING-BUGS  usr
crypto         initrd-2.6.34.12  mm               samples         virt
Documentation  ipc               modules.builtin  scripts         vmlinux
drivers        Kbuild            modules.order    security        vmlinux.o
[Og@localhost ~]$ 

你还是看一下你的编译完的内核源码路径吧!
出现这个错误一般是没找到内核源码

|
dmesg看看还有其他的信息不

    
 
 

您可能感兴趣的文章:

  • 内核模块加载时insmod:error inserting 'XXX.ko':-136704000 Success
  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 内核模块跟内核版本不匹配????????
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 谁能提供kgdb内核补丁内核模块的下载
  • 驱动模块可以编入内核,想单独编译成模块,makefile怎么写?
  • 大侠帮忙!模块调试(非内核模块)
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 求内核和用户态简单易行的通信方法,用户态只需得到一个内核模块参数
  • 内核模块是什么东西,怎么理解呢
  • Linux 内核模块编程问题!!!!
  • 内核模块和设备驱动的区别?
  • 怎么给内核加载自己编写的模块
  • 自定义内核模块禁止启动图形界面
  • 内核模块的问题
  • 升级内核之后,模块加载问题
  • 模块如何被内核调用的?
  • linux内核中网络模块的学习
  • 如何想向内核添家一个自定义的模块?
  • rndis驱动编译成内核模块
  • 内核模块编程打印进程信息
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












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


  • 站内导航:


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

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

    浙ICP备11055608号-3