kernel下载地址:https://www.kernel.org/
在Linux下,也可以使用命令:
wget http://kernel.org/pub/linux/kernel/<版本>
本文的内核版本为4.8.11
注意:使用kernel要遵守GPL协议,有兴趣的可以自己去看看。
1.Linux内核模块结构图
在图中可以看到字符设备是没有缓存,直接输入输出的,而网卡和文件系统有缓存器件。
2.Linux内核目录
较为常用的几种
目录名 | 含义 |
---|---|
Kernel/ | 内核管理的核心代码(系统相关代码在arch/*/kernel) |
arch/ | 体系结构的相关代码,每个目录代码一个体系结构 |
include/: | 体系结构相关头文件 |
include/asm- | Linux kernel core 头文件 |
include/linux | Linux头文件 |
lib/ | 内核的库代码(zlib,crc32..)和处理器体现结构相关的代码在arch/*/lib下 |
drivers/ | 系统中驱动程序代码 |
fs/ | 文件系统 |
ipc/ | IPC(进程通讯代码)里面有一些消息队列,共享内存等源文件 |
mm/ | 内存管理代码,和处理器相关代码在arch/*/mm里 |
net/ | 网络协议代码 |
3.内核打补丁
检验补丁:
gpg -verify patch-2.4.bz2.sign
打补丁
bzcat ../补丁 | patch -p1