阿瓜000 发表于 2011-10-22 22:00

加载驱动模块出错

在虚拟机上编译了一个驱动模块 在开发板上加载模块时出现了下面的信息insmod: cannot insert 'mem.ko': invalid module format 可能是生么原因呢

jianyuehan 发表于 2011-10-23 10:11

内核版本不一致。

tempname2 发表于 2011-10-23 11:01

版本不一致,dmesg可以看到具体原因。

woniuguilai 发表于 2011-10-23 15:17

具体原因敢干dmesg的消息!

阿瓜000 发表于 2011-10-24 09:23

我看了dmesg 打印大量的信息 我也没看懂是怎么不匹配全是2.6的内核怎么不匹配呢?

T-Bagwell 发表于 2011-10-24 14:16

我看了dmesg 打印大量的信息 我也没看懂是怎么不匹配全是2.6的内核怎么不匹配呢?
阿瓜000 发表于 2011-10-24 09:23 http://bbs.chinaunix.net/images/common/back.gif


    file hello.ko有可能会返回信息
modinfo hello.ko会返回信息
uname -a 会返回信息

把返回的信息都发上来

阿瓜000 发表于 2011-10-25 21:47

这是虚拟机和开发板的信息是什么原因


虚拟机信息
# modinfo hello.ko
filename:       hello.ko
srcversion:   7D4DA589E25BAE7C64AB6EC
depends:      
vermagic:       2.6.18-53.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
# file hello.ko
hello.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
# uname -a
Linux localhost.localdomain 2.6.18-53.el5xen #1 SMP Wed Oct 10 17:06:12 EDT 2007 i686 i686 i386 GNU/Linux

开发板信息
# modinfo hello.ko
-/bin/sh: modinfo: not found
# uname -a
Linux FORLIX6410 2.6.28.6 #238 Tue Jul 19 23:47:39 PDT 2011 armv6l unknown
# file hello.ko
-/bin/sh: file: not found

T-Bagwell 发表于 2011-10-26 09:13

你编译出来的是80386的.ko
你往arm上insmod,是这个意思吗?

先研究一下如何交叉编译,然后再insmod

阿瓜000 发表于 2011-10-26 10:41

有交叉编译器 之前的uboot 内核啊在make后面加参数就行了 那模块怎样编译呢 是makefile 写的有问题是吗 还是在make后加上交叉编译的参数 ?(这个试过 出错)   请指点 谢谢了

T-Bagwell 发表于 2011-10-26 15:21

有交叉编译器 之前的uboot 内核啊在make后面加参数就行了 那模块怎样编译呢 是makefile 写的有问题是吗 还是 ...
阿瓜000 发表于 2011-10-26 10:41 http://bbs.chinaunix.net/images/common/back.gif


    是makefile的问题
修改一下makefile就可以了
在这个版块之前有好多次都发过了,找一找
页: [1] 2
查看完整版本: 加载驱动模块出错