hello
#including
#including
module_license(双bsd/gpl);
模块_作者(mdaxia);
静态int__inithello_init(void)
{
printk(kern_alerthelloworld!
);
returns0;
}
静态void__exitello_exit(void)
{
goodbye,cruelworld!);
}
module_initialization(hello_init);
module_exit(hello_exit);
r
ifeq($(kernelrelease),)
kdir:/lib/modules/$(shelluname-r)/build
pwd:$(壳牌pwd)
module:
美元(马克)-加元(克迪尔)百万美元(pwd)模块
module_install:
美元(马克)-加元(克迪尔)百万美元(pwd)模块_安装
cleaning:
rm-rf*。o*。ko。dependenton*.mod.o*.mod.cmodule.*module.*
module_installationcleaning
other
hello
endif
3.编译模块
#sudomake(调用第一个命令默认值)
这时候hello.c所在的文件夹里就会有hello.ko,这就是我们需要的内核模块。
#sudocleaning
清理编译垃圾,hello.ko也会被清理。
4.插入模块并使其工作。请注意,它必须是root权限。
#sudoinsmod./hello.ko
我们可以用dmesg看到生成的内核信息,helloworld!
如果helloworld中的hello没有输出,因为如果你在字符终端而不是终端仿真器中运行,它将被输出,因为当你在终端仿真器中运行时,内核消息将被输出到日志文件/var/var/log/kern.log中
#sudormmod./你好
再次使用dmesg看拜拜世界!
延伸阅读:
示例1通过电子邮件发送引导信息。
mandmesg写道
thisprogramhelpsusersprintoutthestartupoftheirmanualcopyinginformation,andusersonlyneedtoy:
dmesg
andsendthefiletoanyonewhocandebugtheirproblems.
[~]#dmesg
[~]#ls-l
-rw-r-r-1rootroot1583812-0912begin_of_the_skype_highlighting1583812-0912免费天空的尽头pe_
[~]#linuxserverpublic@的邮件引导日志
[~]#
通过管道查找
grepworld
dmesg|tail
dmesg-a
dmesg-c打印和清除
除了oracle数据库的必要文件,如数据文件、控制文件、redologfile、spfile和pfile。其他的大部分都可以删除,比如后台的trc结尾的文件,预警日志和liste。ner日志等。删除后,将自动创建数据库。