linux 內核模塊 Hello World開發

前面把內核開發(kernel-devel)裝上了,如今開發一個內核的hello world模塊嗎,很是簡單。linux

首先寫一個hello.c文件:shell

#include<linux/init.h>測試

#include<linux/module.h>ui

static int hello_init(void)spa

{開發

        printk(KERN_INFO "Hello World enter\n");it

        return 0;編譯

}module

 

static void hello_exit(void)file

{

        printk(KERN_INFO "Hello World exit\n");

}

 

module_init(hello_init);

module_exit(hello_exit);

MODULE_AUTHOR("YINQUAN <feedao@163.com>");

MODULE_LICENSE("Dual BSD/GPL");

MODULE_DESCRIPTION("A hello world");

MODULE_ALIAS("A simplest module");

而後寫一個Makefile

KVERS= $(shell uname -r)

#Kernel modules

obj-m += hello.o


EXTRA_CFLAGS=-g -O0

build: kernel_modules


kernel_modules:

        make -C /usr/src/kernels/2.6.32-220.7.1.el6.i686 M=$(CURDIR) modules


clean:

        rm -rf *.ko *.o *.mod.o *.mod.c *.symvers

開始測試:

編譯:make Makefile

加載模塊:insmod hello.ko

查看模塊:lsmod | grep hello

移除模塊:rmmod hello

查看模塊輸出信息:cat /var/log/messages | grep Hello

若是你能成功執行上面的命令,並能看到輸出信息,恭喜你,你已經能夠開發內核模塊了。

相關文章
相關標籤/搜索