在上一期中,我们介绍了Linux内核编译方法,这一期我们用一个例子来介绍如何向Linux内核中增加一个模块。
一、LKM内核模块
LKM是Loadable Kernel Module的缩写,意思是可加载内核模块。它有点儿像动态链接库,可在运行时加载,成为内核代码和数据的一部分,访问全部内核地址空间,也可运行时动态卸载(需要解决依赖关系,并释放内存空间),所谓的更新就是加载→卸载→加载的过程。LKM是大部分设备驱动、文件系统的存在形式。
为了编写内核模块,我们需要准备好编写的环境。首先,要指定内核