当前位置: 代码迷 >> WinCE >> linux上编译的(.ko)模块怎么在arm下运行
  详细解决方案

linux上编译的(.ko)模块怎么在arm下运行

热度:398   发布时间:2016-04-28 12:42:27.0
linux下编译的(.ko)模块如何在arm上运行?
linux下编译的(.ko)模块如何在arm上运行?  要配置那些东西,希望大家不吝赐教!!!!!!!!!
------最佳解决方案--------------------
引用:
如果用了内核不支持的函数接口,那么不用交叉编译时应该不会报错,对吧。
内核路径我就是用的/lib/modules/($shell uname -r)/build 应该是这个吧?

交叉编译时要指定你ARM上使用的内核,不是主机上的。
------其他解决方案--------------------
另外我用楼主的代码试了一下,将内核目录改为我宿主机的目录,发现会出现一个错误:

make[1]: *** No rule to make target `modules'.  Stop.

把makefile里面的all改为default就可以顺利编译通过。

接着把内核目录改为目标机的内核目录,使用make命令,发现同样可以编译通过。

然后使用make ARCH=arm CROSS_COMPILE=arm-linux-命令,也同样可以编译通过。
看不到楼主的错误信息代码,不知道问题出在什么地方

------其他解决方案--------------------
用交叉编码器编译过吗?
------其他解决方案--------------------
用过,但是编译不通过,报错误,但是不用交叉可以通过,但是file  .ko文件一看,只是Intel平台,不能再arm上运行,请问有什么可以通过交叉编译么?
------其他解决方案--------------------
交叉编译不通过,看看错误信息。
交叉编译时需要指定所用的内核,出错的话,有可能是你模块中用了这个内核版本中不支持或没有的函数接口。
又或者,是你指定的内核路径不正确。

如果顺序通过交叉编译,就可以在arm中直接用insmod了。
------其他解决方案--------------------
如果用了内核不支持的函数接口,那么不用交叉编译时应该不会报错,对吧。
内核路径我就是用的/lib/modules/($shell  uname -r)/build 应该是这个吧?
------其他解决方案--------------------
引用:
引用:
如果用了内核不支持的函数接口,那么不用交叉编译时应该不会报错,对吧。
内核路径我就是用的/lib/modules/($shell uname -r)/build 应该是这个吧?

交叉编译时要指定你ARM上使用的内核,不是主机上的。
那不会通过宿主机的编译吧
------其他解决方案--------------------
交叉编译是运行在宿主面上的一个编译器,编译出来的程序可以运行在目标板上。
以arm-linux-gcc为例,它能运行于linux系统中,但编译出来的程序只能运行在arm平台linux系统上。
------其他解决方案--------------------
引用:
交叉编译是运行在宿主面上的一个编译器,编译出来的程序可以运行在目标板上。
以arm-linux-gcc为例,它能运行于linux系统中,但编译出来的程序只能运行在arm平台linux系统上。

----------------------Makefile--------------------
obj-m:= h.o
#KDIR:= /lib/modules/$(shell uname -r)/build
KDIR=/lib/modules/2.6.32.2-FriendlyARM/

PWD := $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
# rm -f *.o *mod.c


编译: make ARCH=arm CROSS_COMPILE=arm-linux-
--------------------
#include<linux/module.h>


MODULE_LICENSE("GPL");

static __init int demo_init(void)
{
printk(KERN_ALERT "demo_init:be called.\n");
return 0;
}

static __exit void demo_exit(void)
{
printk(KERN_ALERT "demo_exit:be called.\n");
}

module_init(demo_init);
module_exit(demo_exit);

全部贴出来了 还是不通过! 麻烦看一下



------其他解决方案--------------------
该回复于2011-11-04 16:35:27被版主删除
------其他解决方案--------------------
谢谢大家 ,已解决
------其他解决方案--------------------
谢谢大家 ,已解决
------其他解决方案--------------------
已解决!,谢谢大家。
------其他解决方案--------------------
把错误信息贴出来大家才好帮你看啊