运行Linux内核模块(Hello World)

时间:2011-10-08 14:46:08

标签: linux linux-kernel kernel kernel-module

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

2 个答案:

答案 0 :(得分:1)

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

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

该标题应通过#include <linux/module.h>

使用

答案 1 :(得分:0)

尝试触摸一个新的makefile,编码如下

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
  1. 这个makefile应该命名&#34; Makefile&#34;
  2. 将其与hello.c文件放在同一目录中