我正在尝试编译一个简单的内核模块。我确实有一个完全编译的内核,uname -r
确实确实我正在运行我编译的内核。
我有一个小的Makefile来完成这项工作,如下所示:
obj-m := exo1_simple_module.o
all:
make -C /lib/modules/$(uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(uname -r)/build M=$(PWD) clean
c文件名为exo1_simple_module.c
它位于目录/home/tom/work/kernel_modules
当我跑步时,我得到一个错误:
/home/tom/work/kernel_modules/exo1_simple_module.o需要制作目标'/home/tome/work/kernel_modules/ex01_simple_module.c的规则
不知何故,我认为我应该给gcc缺少一个开关或命令选项。
答案 0 :(得分:0)
为什么要这样做
obj-m := exo1_simple_module.o
当示例显示
时obj-m += exo1_simple_module.o
我也注意到您在shell
uname -r