UBUNTU14.04下helloworld内核驱动源文件与makefile



在Ubuntu 14.04操作系统中,开发和编译内核驱动程序是理解Linux内核工作原理的重要步骤。"Hello World"内核驱动程序是一个简单的起点,它可以帮助初学者熟悉内核模块的构建过程。这里我们将深入探讨如何在Ubuntu 14.04上创建并编译一个"Hello World"内核驱动,以及涉及到的关键文件。 `hello.c`是驱动源文件,通常包含了内核模块的基本结构和输出"Hello World"的代码。例如: ```c #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("A simple Hello World kernel module"); static int __init hello_init(void) { printk(KERN_INFO "Hello, World!\n"); return 0; } static void __exit hello_exit(void) { printk(KERN_INFO "Goodbye, cruel world.\n"); } module_init(hello_init); module_exit(hello_exit); ``` `makefile`是构建过程的核心,它指定了编译规则和目标。在Ubuntu 14.04上,内核驱动通常使用kernel build system来编译,而`makefile`需要包含以下内容: ```makefile obj-m := hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean ``` 这段`makefile`告诉系统如何调用内核构建系统,其中`obj-m := hello.o`指定了目标模块,`all`和`clean`目标分别用于构建和清理模块。 `.hello.mod.o.cmd`, `.hello.o.cmd`, 和 `.hello.ko.cmd`这些文件是由内核构建系统在编译过程中生成的临时文件,它们记录了编译和链接命令的具体细节。这些文件对于用户来说通常是透明的,但在调试或理解编译过程时可能会有帮助。 `.tmp_versions`文件是内核模块版本信息的临时存储,它包含了模块版本和依赖关系的信息。当模块被编译和加载到内核时,这些信息会被用来确保模块与当前运行的内核版本兼容。 要查看内核驱动程序的输出,如描述中提到的,可以使用`dmesg`命令。这将显示内核日志,其中包含了模块加载和卸载时的信息。例如,当你运行`insmod hello.ko`加载模块后,"Hello, World!"应该会出现在`dmesg`的输出中。 开发和编译内核驱动涉及的知识点包括:内核模块编程,`makefile`的编写,内核构建系统的使用,以及如何通过`dmesg`查看内核日志。理解这些概念是深入学习Linux内核和系统级编程的基础。

































- 1

- u0111694922017-02-22参照Linux内核驱动一起查看,还是不错的
- tintinsnowy2015-04-18在自己的电脑上运行还是会出错青澜爸爸2019-05-16哈哈哈 不知道你还能不能看到,早年写的玩具代码。见笑了。

- 粉丝: 40
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- Excel表格通用模板:员工工资计算器自动生成卡片.xls
- 2023年华北水利水电大学C语言实验报告二.doc
- 2023年银行家算法实验报告完整版.doc
- 2023年计算机二级公共基础知识考前押题.docx
- excel在会计处理和财务管理上的应用.doc
- 大数据平台最佳实践.ppt
- Excel表格通用模板:培训班管理系统.xlsx
- cad简化命令.doc
- 大一VB语言程序期末考试题及答案.doc
- 2019年网络编辑个人年终总结范文.doc
- 第6章无线网络技术.pptx
- “县教育信息化计划教育工作计划.docx
- 2023年全国计算机等级考试三嵌入式系统开发技术题库第5套.docx
- CAD轴测图实用技巧.doc
- 2023年咨询工程师继续教育通信市场与投资分析试卷及答案.doc
- 2022计算机学习心得体会.docx


