linux内核分析实践二学习笔记

时间:2023-03-09 17:05:56
linux内核分析实践二学习笔记

Linux实践二——内核模块的编译

标签(空格分隔): 20135328陈都


理解内核的作用

Linux内核[kernel]是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持LVM或Quota等文件系统等等,如果内核不认识某个最新的硬件,那么硬件也就无法被驱动,你也就无法使用该硬件。
计算机真正工作的东西其实是硬件,例如数值运算要使用到CPU、数据储存要使用到硬盘、图形显示会用到显示适配器、音乐发声要有音效芯片、连接Internet 可能需要网络卡等等。内核就是控制这些芯片如何工作。

  • 内核各个模块之间的映射
    linux内核分析实践二学习笔记

编写内核模块代码

linux内核分析实践二学习笔记
linux内核分析实践二学习笔记

编译模块

makefile
linux内核分析实践二学习笔记

  • 执行一下 make 命令
    linux内核分析实践二学习笔记

实际操作

加载

  • sudo insmod 模块名.ko
    linux内核分析实践二学习笔记

测试

  • dmesg
    linux内核分析实践二学习笔记

卸载模块

-sudo rmmod 模块名
运行完毕后再运行dmesg
linux内核分析实践二学习笔记
成功

需要注意的问题

  • 如何查看内核版本模块版本号
    linux内核分析实践二学习笔记

  • 文件名不要起module这种系统有定义的名字