Ubuntu第一次编译内核模块

时间:2019-06-25 11:53:49

标签: c linux ubuntu makefile linux-kernel

我正在尝试首次编译一个简单的内核模块:

v-stepper

我用过#include <linux/module.h> #include <linux/kernel.h> int init_nodule(void) { printk(KERN_INFO "Hello world1.\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "Goodbye\n"); } (这是模块的名称),但出现错误:

  

obj-m:找不到命令

为什么会这样?我尝试在网上寻找解决方案,但没有任何帮助。

编辑:根据@Mathieu答案修改后,出现以下错误:

obj-m += hello-1.o

1 个答案:

答案 0 :(得分:2)

obj-m += hello-1.o行必须放在名为Makefile的文件中

所以它看起来像:

obj-m += hello-1.o

all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:  
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

要启动构建过程,只需从命令行执行make

更多资源:https://qnaplus.com/how-to-compile-linux-kernel-module/