【求助,这个比较难】关于编译.ko文件的问题。
想实现一个交叉编译。在虚拟机上编译一个.KO文件,然后希望该模块可以在另一台开发板上运行。
虚拟机和开发板内核版本相同,2.6.23和2.6.28均试过。提示错误如下:
insmod:hello.ko
hello: version magic '2.6.28 SMP mod_unload modversions 686' should be '2.6.28 preempt mod_unload PENTIEM4'
insmod: cannot insert 'hello.ko': invalid module format.
提示完毕。
hello.c很简单。我就不写了。
makefile如下:
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KBUILD := /lib/modules/2.6.28/build
modules:
make -C $(KBUILD) M=$(shell pwd) modules
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -rf .tmp_versions
endif
makefile完毕。
build目录下makefile很长,暂时认为没有问题。
提示:虚拟机的cpu架构和开发板的架构是不一样的。
虚拟机为E7500,开发板为奔腾4。
请问关于架构相关的东西应该在哪里更改?
多谢!