Makefile : ifneq ($(KERNELRELEASE),) obj-m += bus.o else KDIR := /home/jay/arm/opt/FriendlyARM/mini2440/linux-2.6.32.2 all: make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux- clean: make -C /usr/src/linux-headers-2.6.32-38-generic M=$(PWD)clean endif 这是适合arm平台的,与pc机上面不同的是在 modules后加了ARCH=arm CROSS_COMPILE=arm-linux- 。而且 /home/jay/arm/opt/FriendlyARM/mini2440/linux-2.6.32.2所指向的目录为arm所运行的系统,而不是pc机的,我虚拟机运行的为2.6.32.38版本,之前老是不行,其原因为KDIR的目录写成虚拟机上内核所在的目录。 ![]() ![]() |
|