|
小弟初学者,现在学习linux内核模块,这是一个简单的hello的内核模块的makefile。请问这个KERNELDIR路径要怎么写?是写宿主机上的内核路径还是写开发板上的内核路径?哪个是内核路径?我用的的是nfs根文件系统,在这个根文件系统下有一个 /lib/modules/2.6.32.2目录,但是这个目录是空的。
还有一个问题,下面后面那个hello.o是事先要先用arm-linux-gcc 编译成 .o 文件吗? 我用arm-linux-gcc hello.c -c hello.o总报错,说找不到hello.o文件。谢谢大家了。
ifeq ($(KERNELRELEASE),)
KERNELDIR ?=/lib/modules/2.6.32.2
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules modules_install clean
else
obj-m := hello.o
endif
|
|