编译Linux内核 – hello world

我正在编译Linux内核: http : //tldp.org/LDP/lkmpg/2.6/html/lkmpg.html

我有一个简单的hello世界程序hello-1.cpp

#include <linux/module.h> #include <linux/kernel.h> int init_module(void) { return 0; } void cleanup_module(void) { } 

但我正在尝试使用Makefile来构build它:

 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 -C /home/pacman/linux-2.6.34.11/2.6.35.6-45.fc14.i686/build M=/home/pacman/p1 modules make: *** /home/pacman/linux-2.6.34.11/2.6.35.6-45.fc14.i686/build: No such file or directory. Stop. 

make: * [all]错误2

我忘了定义一些东西吗?

重命名你好1。 cpp to hello-1。 c (模块必须用C语言编写)并添加行:

 module_init(init_module); module_exit(cleanup_module);