热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>内核研究>

Hello, world:linux 内核模块版

来源: 作者: 时间:2008-07-09 Tag: 点击:
一个学习Linux设备驱动程序都会碰到的第一个例程:


//hello.c

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
    printk(KERN_ALERT "Hello world, zieckey!\n");
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_ALERT "Goodbye, zieckey!\n");
}

module_init(hello_init);
module_exit(hello_exit);


为该驱动模块编写一个makefile文件:

# Makefile
ifneq ($(KERNELRELEASE),)
  obj-m := -DEXPORT_SYMTAB
  obj-m := hello.o
else

# your kernel dir

KERNELDIR ?= /usr/src/kernels/2.6.21-1.3194.fc7-i686
PWD := $(shell pwd)
default:
    $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
    rm *.o *.mod.c *.symvers *.ko
endif


注意: Makefile文件的文件名一定要是这个“Makefile”,不能是小写的“makefile“,不知道什么原因。
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册