单一的一个文件hello.c是可以编译成功(hello.ko)并且运行的。但是增加了两个文件后(1.c和1.h)。编译成功但是insmod时出现:
module license 'unspecified' taints kernel
是Makefile写的有问题
hello.c和1.c应该编译成两个模块再链接成新的模块就ok了
新的Makefile:
obj-m = hello0.o
hello0-objs := 1.o hello.o
KDIR = /usr/src/linux-2.6-virtex
PWD = $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *~