如何使用gcc编译这个微小的可加载内核模块?

时间:2011-03-18 03:38:22

标签: linux gcc

try.c:

#ifndef __KERNEL__
        #define __KERNEL__
#endif
#ifndef MODULE
        #define MODULE
#endif

#include <linux/module.h>
#include <linux/kernel.h>

static int __init try_init(void)
{
        printk(KERN_EMERG "Init.\n");
        return 0;
}
static void __exit try_exit(void)
{
        printk(KERN_EMERG "Exit.\n");
}
module_init(try_init);
module_exit(try_exit);

我试过了gcc -Wall -I/usr/src/linux-2.6.32.9/include try.c,但却出现了很多错误......

1 个答案:

答案 0 :(得分:2)

Makefile

中尝试以下操作
KERNEL_DIR := /lib/modules/$(shell uname -r)/build

obj-m := try.o

driver:     try.c
    make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules