无法编译简单的内核模块

时间:2015-09-03 18:15:18

标签: module kernel

我正在尝试编译一个简单的内核模块。我确实有一个完全编译的内核,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缺少一个开关或命令选项。

1 个答案:

答案 0 :(得分:0)

为什么要这样做

obj-m := exo1_simple_module.o

当示例显示

obj-m += exo1_simple_module.o

我也注意到您在shell

之前删除了uname -r