首先看看文件下包含的内容:
这里通过查询资料对每个文件做简要注释:
1./arch文件夹下包含体系结构的相关代码,对于每个架构的cpu都有一个对应的子目录。
2./block块设备的通用函数(块设备是I/O设备的一类)。
3.COPYING是一个说明内核版权的文本文档。
4.CREDITS是对linux项目的贡献者名单列表。
5./crypto包含常用加密算法和一些压缩和CRC校验算法。
6./Documentation各类说明文档。初期其中最值得注意的有两个文档,一个是00-INDEX这相当与整个文件夹里所有文档的索引目录。另一个是文件夹zh_CN,这里面的文档都是中文。
7./drivers设备驱动文件
8.edm1_cf_imx6_fairy_defconfig软连接,作用暂时不清楚(软连接就相当于windows里的快捷方式)。
9.edm1_cf_imx6_toucan_defconfig 软连接。
10./firmware固件,老版本的内核源码好像不包含这一部分。里面含有大量的16进制文件。
11./fs里包含linux支持的文件系统代码。文件系统可以理解为管理文件的机制。
12./include内核头文件
13./init内核初始化代码,其中main.c文件中的start_kernel函数是内核引导后运行的第一个函数。
14./ipc进程间通信的相关代码。
15.Kbuild内核编译所需文件。
16.Kconfig内核变异所需文件。(下一篇记录如何编译linux源码)。
17.kernel内核管理的核心代码。
18.lib库函数代码。内核不能使用c语言标准库的代码。而是有自己的库函数替代。比如打印使用printk。
19./.mailmap邮箱列表
20.MAINTAINERS有关于内核维护以及如何提交修改建议的说明文档
21.Makefile编译内核的最顶层入口。
22./mm内存管理代码。
23./net网络支持代码。
24.REANME内核代码的总体说明。没有具体操作细节。
25.REPORTING-UBGS怎么提交bug的说明文档。
26./samples示例代码
27./scripts用于配置和编译内核的脚本文件
28./security安全,秘钥的相关文档
29./sound音频设备的驱动程序
30./tools有用工具
31./usr用来制作一个压缩的cpio归档文件
32./virt内核虚拟机
33.wandboard_defconfig软连接。猜测是指定wand所用到的默认配置文件。