我正在尝试编译Linux内核: http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
我有一个简单的hello world程序hello-1.cpp
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
return 0;
}
void cleanup_module(void)
{
}
但我正在尝试使用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 -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
我忘了定义一些东西吗?
答案 0 :(得分:1)
将hello-1。 cpp 重命名为hello-1。 c (模块必须用C语言编写)并添加以下行:
module_init(init_module);
module_exit(cleanup_module);