我正在尝试在我的 intel x86 主机上为 ARM 架构交叉编译一个 helloworld 内核(2.6.x)模块。
ARM 的 codesourcery 工具链位于:/home/ravi/workspace/hawk/arm-2009q3
内核源代码位于:/home/ravi/workspace/hawk/linux-opl1
我的制作文件:
ARCH=arm
CROSS_COMPILE=arm-none-linux-gnueabi
obj-m := Hello.o
KDIR := /home/ravi/workspace/hawk/linux-omapl1
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
当我运行make时,生成的 .ko 是我的主机的,这意味着 makefile 正在调用本机编译器而不是交叉编译器。我做错了什么?交叉编译器的二进制文件在我的路径中。