1.1 访问Linux内核官方网站:https://www.kernel.org/ 获取源代码
1.2 目录结构:
arch:与CPU体系结构相关代码在此目录下arch目录下,例如ARM
block: 此目录下放的是一些linux存储体系中关于块设备管理的代码。
crypto:这个目录下放了内核常用的加密和散列算法,还有一些压缩和CRC校验算法。
Documentation:里面放了一些帮助文档。
drivers:驱动,里面分门别类的列出了所有硬件设备的驱动源代码。
firmware:固件。固化到IC里面运行的代码
fs:里面列出了linux支持的各种文件系统的实现。
include:各CPU共用的头文件,CPU特有的头文件在arch/***/include目录下。
init:这个目录下的代码就是linux内核启动时初始化内核的代码。
ipc:里面都是linux支持的IPC的代码实现。
kernel:内核核心部分,和平台相关的核心代码在arch/***/kernel目录下。
lib:在内核不能用C语言标准库,lib目录下的函数用来替代标准库函数
mm:与体系无关的内存管理代码。与体系结构相关的代码位于arch/***/mm下。
net: 网络相关的代码,譬如TCP/IP协议栈等都在这里。
scripts:用来liinux内核配置编译的脚本,make menuconfig或make xconfig之类的命令配置内核时,用户就是和位于这个目录下的脚本进行交互的。
security:安全相关的代码。对计算机免于受到病毒和黑客的侵害很重要.
sound:音频处理相关的。
tools:linux中用到的一些有用工具
usr:实现用于打包和压缩的cpio等。这个文件夹中的代码在内核编译完成后创建这些文件。
virt:虚拟化代码,
1.3 根目录下的一些单独文件:
COPYING:许可和授权信息。Linux内核在GPLv2许可证下授权。。
CREDITS: 贡献者列表。
Kbuild:内核编译的使用设定的脚本。例如ARCH变量设定内核支持的处理器。
Kconfig:这个脚本会在开发人员配置内核的时候用到。
MAINTAINERS:这是一个目前维护者列表,开发和维护的内核的特定部分或文件。
Makefile:这个脚本是编译内核的主要文件
README:这个文档提供给开发者想要知道的如何编译内核的信息。
REPORTING-BUGS:这个文档提供如何报告问题的信息。
网友评论