谁能给我一个2.6内核“hello world!”的例子~~
以及相关的Makefile文件多谢多谢,能找到的都失败了~
顺便再问一下:内核模块的执行过程是怎么样的?
是按照module_init的过程执行,还是按/proc/kallsyms其他export的函数,用到什么函数就执行什么函数? insmod insmod什么模块啊?林丽, 以后我会天天顶一下这个帖子,希望它别沉了,大家有谁能提供一个2.6“hello world”的模块程序,如果我自己实验出来了也会马上贴上来的~ 不用每天顶了,你搜索一下,原来坛子里发过一个教程,自己看也许更快一些。 :mrgreen: 终于找到一个
http://www.dirac.org/linux/writing/lkmpg/2.6/chinese/lkmpg_chs/#AEN148 <linux device drivers>里讲过吧? 在不懈的努力下终于成功了
http://www.dirac.org/linux/writing/lkmpg/2.6/chinese/lkmpg_chs/#AEN46
2.6的例子;http://www.linuxfans.org/nuke/modules.php?name=Forums&file=posting&mode=reply&t=166726
hello-1.c
/*
*hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_ALERT */
int init_module(void)
{
printk("<1>Hello world 1.\n");
/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world 1.\n");
}
Makefile文件:
obj-m += hello-1.o
PWD := $(shell pwd)
编译命令:
make -C /lib/modules/linux-2.6.16.1/build/SUBDIRS=$PWD modules :)
页:
[1]