全部博文(43)
分类: LINUX
2010-06-22 17:51:36
ifneq ($(KERNELRELEASE),)如上篇日志所说,make的时候是要进入两个文件夹的,此makefile其实等效于下边一条指令:
obj-m:=hello.o
else
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *.mod.c *.mod.o *.ko
endif
已经设置了。KERNELDIR:=/lib/modules/$(shell uname -r)/build修改为KERNELDIR=/lib/modules/2.6.12-h1940/build.
再make。生成了hello.ko文件,挂载到开发板上,insmod,在lsmod,发现有了hello.
还有个问题,既然在开发板上执行,就应该使用arm-linux-gcc啊,为什么不用设置呢?其实你打开/lib/modules/2.6.12-h1940/build里的Makefile一看就知道了,里边
有这么两行:
ARCH := arm
CROSS_COMPILE := /usr/local/arm/3.4.1/bin/arm-linux-