全部博文(2005)
分类: LINUX
2008-05-27 10:08:10
|
WARNING: Symbol version dump /home/luhter/work/kernel/linux-2.6.22.14/Module.symvers is missing; modules will have no dependencies and modversions.
通过摸索,原来,编译hello.ko其实是非常简单的,不用下载kernel源码,写测试程序hello.c
//luther@gliethttp:~/work/kernel/module_drivers/hello$ vim hello.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
static int init_hello_4(void)
{
printk(KERN_ALERT "Hello, world 4 ");
return 0;
}
static void cleanup_hello_4(void)
{
printk(KERN_ALERT "Goodbye, world 4 ");
}
module_init(init_hello_4);
module_exit(cleanup_hello_4);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Playmud");
MODULE_DESCRIPTION("Test only!");
4.配置Makefile和执行ko编译
luther
@gliethttp:~/work/kernel/module_drivers/hello$ echo "obj-m:=hello.o" > Makefile
luther
@gliethttp:~/work/kernel/module_drivers/hello$ make -C /lib/modules/`uname -r`/build M=`pwd` modules
make: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
CC [M] /home/
luther
/work/kernel/module_drivers/hello/hello.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/
luther
/work/kernel/module_drivers/hello/hello.mod.o
LD [M] /home/
luther
/work/kernel/module_drivers/hello/hello.ko
make: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
luther
@gliethttp:~/work/kernel/module_drivers/hello$
/lib/modules/`uname -r`/build就是本地ubuntu机子的module编译配置目录
不是为正在运行的内核编译模块:
不用下载kernel,直接就在本地机搞定了!
printk没有在console上打印出提示,通过
luther
@gliethttp:~/work/kernel/module_drivers/hello$ dmesg |tail
可以查到,具体配置可以查看
luther
@gliethttp:~/work/kernel/module_drivers/hello$ vim /etc/syslog.conf