- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux内核模块的添加.
实验一:Linux内核模块的添加
(一)静态加载:把组件都进内核文件
(二:以hello word为例来实现这两种方法:
:
(1)hello word.c源代码
#include linux/init.h
#include linux/module.h
static int hello_init(void)
{
printk(KERN_INFO Hello World enter\n);
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO Hello World exit\n );
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_AUTHOR(Barry Song 21cnbao@);
MODULE_LICENSE(Dual BSD/GPL);
MODULE_DESCRIPTION(A simple Hello World Module);
MODULE_ALIAS(a simplest module);
把所有的组件都翻译进内核文件,即生成zImage或bzImage
(1)进入linux--mini2440内核
(2)进入/drivers建立Hello文件夹,在Hello文件夹里面建立hello.c,Makefile,Kconfig
Makefielobj-y(CONFIG_HELLO_WORD) +=hello.o
Kconfig:config hello_word
tristate TEST hello word
help
usually you have to make
(3)在drivers里面的Makefile添加:obj-y(CONFIG_HELLO_WORD) += Hello/
4)在drivers里面的Kconfig添加source drivers/Hello/Kconfig
(5)输入make menuconfig进入内核配置界面
(6)然后输入y退出并保存
7)生成了.config文件为配置的记录
(8)make bzImage进行编译内核
然后在arch/arm/boot/下生成bzImage
:直接编译成PC机X86的内核模块
(1)模块加载函数:insmod 模块卸载函数:rmmod查看模块函数:lsmod
(2)模块可选信息:模块参数、模块导出符号、模块作者等信息声明
(3)在/work里面加入hello.c文件和Makefile文件
Makefile 的内容为:ifneq ($(KERNELRELEASE),)
obj-m :=hello.o 和要编译的模块的名字一致
else
KDIR:= /lib/modules/3.5.0-17-generic/build 以便寻找内核源码目录下的Mmakefile
all:
make -C $(KDIR) M=$(PWD) modules 用KDIR目录下的Makefile来编译当前目录下的模块
clean:
rm -f *.ko *.o *.mod.o *.mod.c .symvers
endif
(4)、执行make 命令
(5)、然后查看hello文件夹生成hello.ko文件
(6)执行insmod hello.ko进行加载模块:
7)lsmod查看模块查看加载模块输出信息
(8)删除rmmod模块
(9)查看删除模块输出信息
模块和删除
总结:
您可能关注的文档
最近下载
- ctf考试题及答案.doc VIP
- 1.1生活 观察(教学课件)-2025-2026学年七年级数学数学上册(苏科版2024).pptx VIP
- 念珠菌性阴道炎的诊治-极经典.ppt VIP
- 2025年北京城市副中心投资建设集团有限公司招聘笔试模拟试题及答案解析.docx VIP
- 八月下旬一级建造师考试《水利水电工程管理与实务》真题(附答案).docx VIP
- 优秀病例汇报大赛课件(手工精品图文).pptx VIP
- 掼蛋教学课件.ppt VIP
- 太阁立志传5资料集.doc VIP
- 七月下旬一级建造师考试《水利水电工程管理与实务》第二次真题(附答案).docx VIP
- 美容礼仪与人际沟通讲解.ppt
文档评论(0)