我正在尝试编译Linux内核:
http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
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
我忘了定义什么吗?
最佳答案
将hello-1.cpp重命名为hello-1.c(模块必须用C编写)并添加以下行:
module_init(init_module);
module_exit(cleanup_module);
相关文章
- c - 如何在linux的内核模式下编程并编译“Hello World”代码?
- 编译 - 编译'hello,world'GNU smalltalk
- 使用arm-linux-gnueabi-gcc交叉编译Android的静态C hello world
- c - Ubuntu 15.10(内核4.2):Hello world内核模块makefile错误
- Hello world内核模块为android&未知重定位:27当insmod
- c++ 如何编写一个hello world内核?
- c# - mono mcs'Winforms Hello World'给出编译错误CS006:找不到元数据文件'cscompmgd.dll'
- 编译简单的hello world ZeroMQ C的例子,编译标志?
转载注明原文:编译Linux内核 – hello world - 代码日志