我正在尝试在我的intel x86主机上为ARM体系结构交叉编译helloworld内核(2.6.x)模块。
ARM的工具链位于:/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin
内核源位于:/home/vivek/Arago
hellow.c
和Makefile
位于/home/vivek/Desktop/hellodriver
我已将交叉编译器的路径指定为/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin
我的Makefile如下: -
export ARCH=arm
export CROSS_COMPILE=arm-arago-linux-gnueabi-
obj-m =Hello.o
KDIR =/home/vivek/Arago
PWD = $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
执行make
时我正在
vivek@ubuntu:~/Desktop/hellodriver$ make
make: Nothing to be done for `default'.
我做错了什么?
答案 0 :(得分:0)
Makefile中有错误。由于您的源代码名称为hellow.c
,但在您的Makefile中为Hello.o
。
所以将您的obj-m =Hello.o
更改为obj-m =hellow.o
上面提到的另外一件事Etan Reisner
确保你using Tab for command in Makefile
。