这是生成文件:
obj-m += hello_pass_arg.o
KDIR = /lib/modules/$(shell uname -r)/build
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
当我执行命令“make”时显示以下错误:
make -C /lib/modules/3.8.13.14-qd/build SUBDIRS=/usr/src/linux-headers-3.8.13.14-qd/drivers/hello modules
make[1]: Entering directory `/root/source/linux-lts-raring-3.8.0'
make[2]: *** No rule to make target `/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.c', needed by `/usr/src/linux-headers-3.8.13.14-qd/drivers/hello/hello_pass_arg.o'. Stop.
make[1]: *** [_module_/usr/src/linux-headers-3.8.13.14-qd/drivers/hello] Error 2
make[1]: Leaving directory `/root/source/linux-lts-raring-3.8.0'
make: *** [all] Error 2
我不明白为什么它会进入linux-lts-raring-3.8.0!
答案1
将您的hello_pass_arg.c
文件移动到 Linux 内核源代码以外的位置,它就应该可以工作了。