benny26b 发表于 2006-11-26 09:12:30

fc6下编译一个简单的模块时出错,help!

我刚刚装了一个Fedora Core 6,发现
    1、kernel-source没有安装
    2、安装了kernel-dev

我要如何做才可以编译一个简单的内核模块?

比如我的代码如下,

/* hello.c */
#include < linux/kernel.h>
#include < linux/modules.h>
#include < linux/init.h>

DECLARE_LICENSE(“GPL”);
static int __init hello_init(void) {return 0;}
static void __exit hello_exit(void){return;}
module_init(hello_init);
module_exit(hello_exit);

/* Makefile */
PWD=`pwd`
KDIR=`/lib/modules/`uname -r`/build
obj-m
default:
      $(MAKE) -C KDIR SUBDIRS=$(PWD) moduels

编译的时候老是提示如下内容,
----------------------------------
make
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/benny/workspace/hikern modules
make: *** /lib/modules/2.6.18-1.2798.fc6xen/build: 没有那个文件或目录。 停止。
make: *** 错误 2
----------------------------------
我确认/lib/modules/2.6.18-1.2798.fc6xen/build路径是存在的。请问大家有没有遇到相同问题?谢谢。

benny26b 发表于 2006-11-26 09:13:44

修正笔误:
obj-m 改为 obj-m := hello.o

benny26b 发表于 2006-12-4 22:23:21

问题解决了.原来安装了xen后就会这样. :<
页: [1]
查看完整版本: fc6下编译一个简单的模块时出错,help!