我正在尝试使用以下规格交叉编译helloworld内核模块:
- 主机:intel x86 32位,linux-3.0.0
- 目标:ARM机器(Parrot AR.Drone),linux-2.6.27.47
我正在使用以下makefile:
PWD := $(shell pwd)
obj-m := test.o
all:
$(MAKE) -C /path/to/kernel M=$(PWD) CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules
其中 arm-none-linux-gnueabi-
是 arm 工具链的前缀。
作为内核,我尝试使用来自 git://github.com/CyanogenMod/cm-kernel.git
的克隆作为内核。这是一个 2.6 内核分支。使用此内核,编译成功。但在尝试插入模块时,会出现错误:
invalid module format
很遗憾,这句话的意思不是很清楚。
dmesg
显示日志。 - Eugene