我是个新手,请问个编译驱动的问题

leetow2003 2012-08-23 08:52:08
我的Linux是CentOS 5.3,是装在虚拟机上的。
这是从书上抄来的:
一、hello.c
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void) {
printk("<1> Hello world!\n");
return 0;
}
static void hello_exit(void) {
printk("<1> Bye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);

二、Makefile
obj-m :=hello.o
KDIR :=/lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules

我运行make时,出现
meke:***/lib/modules/2.6.18-128.el5/build:No such fiule or directory. Stop.

可是我在/lib/modules/2.6.18-128.el5/有个build的链接文件,
请问我错在哪了?是不是内核没有编译?如果没有编译,该怎么做呢?
(我也这样做过:yum install kernel,可是错误还是一样的)
...全文
52 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
帅得不敢出门 2012-08-23
  • 打赏
  • 举报
回复
可能是kernel-devel没有
比如我的
zengming@linux-008:~/workspace/s3c-linux> uname -r
2.6.37.6-0.20-desktop
zengming@linux-008:~/workspace/s3c-linux> ls /lib/modules/2.6.37.6-0.20-desktop/build
include Makefile Module.base Module.supported Module.symvers scripts

ls下,看看build指向的文件夹是否是空的。

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧