Chinaunix
标题:
新手求内核模块挂载问题
[打印本页]
作者:
lpp540
时间:
2012-12-14 18:04
标题:
新手求内核模块挂载问题
pc机3.2的内核,开发板飞凌OK6410,内核3.0.1
在pc机上编译的模块,pc上能够挂载上,开以板上挂载不上。
[root@FORLINX6410]# insmod proc.ko
insmod: cannot insert 'proc.ko': invalid module format
求高手解答,谢谢!
作者:
lpp540
时间:
2012-12-14 18:41
这是我的Makefile
ifneq ($(KERNELRELEASE),)
modules-obj := proc.c
obj-m += proc.o
else
KDIR :=/lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.k0
rm -rf *.o
rm -rf *.mod.*
rm -rf .*.cmd
endif
作者:
jhl19880722
时间:
2012-12-14 19:31
你用dmsg把错误显示出来看一下,如果内核的版本不一样也会出现这样的情况。
作者:
lpp540
时间:
2012-12-14 19:37
回复
3#
jhl19880722
是pc机的版本和开发板的内核版本不一样,要怎样才能在pc机上编译后在开发板上挂载成功。
作者:
jhl19880722
时间:
2012-12-14 20:00
将开发版的内核源码下下来,然后把你写的放进去,用交叉编译工具一起编译。你上网找找,这个还是很多的。
作者:
lpp540
时间:
2012-12-14 20:11
谢谢jhl19880722的解答,没有其它的办法吗?
作者:
rabbit2013
时间:
2012-12-14 21:14
应该用交叉编译
作者:
jhl19880722
时间:
2012-12-15 09:23
回复
6#
lpp540
我只知道这么做
作者:
flyingeagle1015
时间:
2012-12-16 11:03
make arch=arm试试
作者:
lpp540
时间:
2012-12-16 11:32
回复
9#
flyingeagle1015
谢谢!我试过了,不可以。
我PC机的内核版本和开发板的内核版本不一样,可我指定了开发板使用的内核源代码的目录,为什么编译还是不通过。
KDIR :=/lib/modules/linux-3.0.1/build
make: *** /lib/modules/linux-3.0.1/build: No such file or directory. Stop.
作者:
flyingeagle1015
时间:
2012-12-16 11:44
你PC上没有/lib/modules/linux-3.0.1/build吧,编译头文件什么的都是从这里找
拿linux-3.0.1的内核生成内核头文件 make arch=arm headers_install
作者:
lpp540
时间:
2012-12-17 17:28
挂载问题解决了,卸载时又出问题了,
[root@FORLINX6410]# rmmod proc.ko
rmmod: chdir(/lib/modules): No such file or directory
作者:
lpp540
时间:
2012-12-17 18:21
已解决,谢谢各位!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2