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

insmod加载模块的错误

    来源: 互联网  发布时间:2016-12-14

    本文导语:  使用insmod命令在嵌入式板子上加载驱动,命令如下: insmod ./test.ko 出现了这样的错误: test: version magic '2.6.25 mod_unload ' should be '2.6.25-mux1222-svn62-dirty28 mod_unload ' insmod: cannot insert `./test.ko': Invalid module format ...

使用insmod命令在嵌入式板子上加载驱动,命令如下:
insmod ./test.ko

出现了这样的错误:
test: version magic '2.6.25 mod_unload ' should be '2.6.25-mux1222-svn62-dirty28 mod_unload '
insmod: cannot insert `./test.ko': Invalid module format (-1): Exec format error

|
KDIR := ../.. 

直接改
KDIR := 板子上的内核源码绝对路径

$(MAKE) -C $(KDIR) M=$(PWD) modules
会调用主makefile里的变量,包括arch和 CROSS_COMPILE 
 

|

此外,确保你的板子上的内核就是这个源码目录编出来的
看样子没有找到根目录下的makefile
或者根目录下的makefile没有设置正确的ARCH 和  CROSS_COMPILE

|


test: version magic '2.6.25 mod_unload ' should be '2.6.25-mux1222-svn62-dirty28 mod_unload '

Up一下。
版本不一致啊,编译用的kernel 和 板上跑的kernel 版本不一致。

|
出现了这样的错误:
test: version magic '2.6.25 mod_unload ' should be '2.6.25-mux1222-svn62-dirty28 mod_unload '
insmod: cannot insert `./test.ko': Invalid module format (-1): Exec format error

环境不一样:
第一,KLDIR=板子上的运行2.6.25-mux1222-svn62-dirty28 的绝对路径
第二,Makefile下加上CC=arm-linux-gcc   //或者交叉编译器的绝对路径

板子上的环境和编译环境一样应该就没问题了

有一个办法就是,你板子上的内核代码拷到PC机的一个文件下,直接可以将-c文件放在driver目录下,然后做成。ok文件,这样保证了环境一样,编译器是交叉编译器一样,还简单不用写makefile文件,就可以生成。ok文件了

LZ试试,应该没问题了

|
今天也有位同事碰到这种问题,内核版本号都是一样,就是跟LZ一样后面的字符串有些不同,无法insmod
换了KERNEL 源码重编了就好

也关注这个问题,看看到底能否避开这个问题加载成功

|
insmod: cannot insert `./test.ko': Invalid module format (-1): Exec format error
------------------
你不会拿pc的gcc编译的吧

test: version magic '2.6.25 mod_unload ' should be '2.6.25-mux1222-svn62-dirty28 mod_unload ' 
-------------
内核目录不会用的也是pc上的吧

|
貌似你的驱动模块是不是没有用板子对应的工具链编译的

|
把你的编译此模块的makefile贴来

|


这样的话应该用的是pc上的gcc吧
是不是啊deep_pro大大?

|
再加一句
CROSS_COMPILE = ../toolchain/arm-eabi-4.2.1/bin/arm-eabi-

应该就可以了
../toolchain/arm-eabi-4.2.1/bin/arm-eabi-
是工具链的路径名字,调用gcc的时候就会加上
那就变成
../toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc等等

|
LS正解

|
1. 用uname -a 查看开发板的linux版本。

2. 用 file 查看 file.ko的版本。

版本不一致,在编译file.ko内核模块时,把kernel 源代码的path指向你的开发板内核的源代码path即可,另外还要注意编译时的环境变量。

|
nsmod: cannot insert `./test.ko': Invalid module format (-1): Exec format error



format error!!!!!!!!!!!!!!!!!!!!!!!! 

|
Lz,编译驱动的Makefile中,内核源码树必须是目标板内核源码树。

否则,加载不成功的

|
内核要和开发板的内核一样,交叉编译环境也是,继续关注中,期待楼主早日解决问题

    
 
 

您可能感兴趣的文章:

  • 升级linux到2.6.11后insmod模块都出现insmod invalid format??
  • insmod模块无显示,但rmmod模块有显示
  • insmod加载模块问题
  • insmod加载模块问题.
  • insmod 加载驱动模块后,重启后驱动为什么没有了
  • 自己写的模块insmod后变成permanent了。。。。奇怪
  • 在开发板上insmod模块led.o出错。
  • insmod 安装内核模块的问题
  • 内核模块加载时insmod:error inserting 'XXX.ko':-136704000 Success
  • 我用gcc编了一个小内核模块,但是用insmod安装的时候提示内核版本不对,怎么办?
  • insmod可以正常加载模块,rmmod时却报出Function not implemented,求助
  • 在手机中insmod模块出错,大侠急救!
  • 模块编译出警告,insmod不能
  • 我的一个模块在rmmod之后再次insmod出现了段错误,大家帮忙看看
  • insmod 加载sis650_dvr.o-4-02
  • 我下载了一个驱动,在2.4内核编译后用insmod加载说内核版本不一样?
  • insmod: : unknown symbol in module不能加载驱动问题
  • 设备驱动编译无措,加载insmod不上(无错误提示)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • insmod: unsolved sysbol srand类似的错误!
  • s3c2410 linux操作系统 insmod 驱动错误 内存耗尽
  • 在运行命令:insmod ./hello.ko后出现如下错误信息!!!!
  • linux字符驱动insmod出现错误
  • insmod 错误 -1 Invalid module format
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • 运行insmod ip_tables后,reboot后又无效了?
  • 驱动编译insmod问题,100分相送,在线等待,有效马上结贴
  • 如何在程序中执行 insmod mydriver.ko命令?
  • Linux串口驱动insmod后无效
  • insmod是否每次开机都要运行
  • insmod或modprobe具体怎么用啊
  • RH9.0 insmod命令在默认的shell中找不到?
  • insmod bridge.ko出错
  • [急] insmod时,报错unresolved symbol!!
  • insmod scull.ko出错 Unknown symbol in module
  • insmod 后的驱动程序 怎么访问? dev目录里面没有啊
  • 新手请教insmod -f ./$module.o $* || exit 1
  • insmod moudle問題
  • insmod hello.o:couldn't find the kernel version the module was compiled for
  • 高分请教一个insmod error: No such device
  • 为什么我每次开机都要用insmod tulip去激活我的网卡???求助高手
  • 请教一个insmod时的内核版本问题
  • insmod初级问题!
  • 我写了一个driver,但每次开机要通过insmod命令才能安装使用,客户要求我写个安装包,一次安装完成。不知各位有何推荐?


  • 站内导航:


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

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

    浙ICP备11055608号-3