运行Linux内核模块(Hello World)

运行Linux内核模块(Hello World),linux,linux-kernel,kernel,kernel-module,Linux,Linux Kernel,Kernel,Kernel Module,我正在尝试运行hello world内核模块,但它的显示模块.h不存在。但是我在/usr/src/linux.2.xx.xx/includes/中有module.h。请帮助我如何设置此路径?在shell中的模块源目录中尝试以下操作: export KDIR=/usr/src/linux.2.xx.xx make -C $KDIR M=`pwd` 该标题应通过#include使用,尝试触摸一个新的生成文件,该文件的编码如下所示 ifneq ($(KERNELRELEASE),) obj-m :=

我正在尝试运行hello world内核模块,但它的显示模块.h不存在。但是我在/usr/src/linux.2.xx.xx/includes/中有module.h。请帮助我如何设置此路径?

在shell中的模块源目录中尝试以下操作:

export KDIR=/usr/src/linux.2.xx.xx
make -C $KDIR M=`pwd`

该标题应通过
#include

使用,尝试触摸一个新的生成文件,该文件的编码如下所示

ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
  • 此makefile应命名为“makefile”
  • 将其与hello.c文件放在同一目录中