LINUX内核目录分析

Linux内核源码结构

首先分析一下源码目录下的重要的三个单独文件

LINUX内核目录分析_第1张图片

其中第一个问Kbuild(就是kernel build)就是内核编译,这个文件就是Linux内核编译体系需要用到的文件

第二个Kconfig就是和内核配置有关的,主要的在每个文件夹中都有Kconfig文件(主要是配置方便)

第三个Makefile,这个是整个LINUX内核的总的makefile ,在每个文件夹下面也有Makefile文件。

Linux内核源码目录结构

LINUX内核目录分析_第2张图片

(1)arch(archtecture)意思是架构,arch目录下有很多个不同架构的cpu子目录

比如下面的这些

我们主要的是arm目录,arm目录下面又有arm不同构架

LINUX内核目录分析_第3张图片

(2)binary存放的二进制文件

(3)block在Linux中block表示块设备譬如SD卡,iNand,Nand、硬盘等都是块设备

(4)crypto(加密文件)

里面有常见的crc32校验,compress等等

(5)Documentation里面放了一些文档

(6)drivers,驱动目录,分门别类列出来Linux内核支持的所有硬件设备的驱动源代码

LINUX内核目录分析_第4张图片

比如常用到的iic spi mmc等等。这部分重要。

(7)fs fs就是file system 文件系统,里面列出了Linux支持的各种文件系统

LINUX内核目录分析_第5张图片

(8)fireware固件,固件就是固化到IC里面运行的叫固件。

(9)include 头文件目录 公用的(各种CPU构架共用的)头文件都在这里,每种CPU架构特有的一些头文件在arch/arm/include目录及其子目录下

(10)init init为初始化的意思,这个目录下的代码就是Linux内核启动时初始化内核的代码

(11)ipc inter process communication 进程间通信,里面都是Linux支持的ipc的代码实现

(12)kernel 就是Linux内核,这个文件夹下放的就是Linux内核本身需要的一些代码文件

(13)lib lib是库的意识,这里面都是一些公用的有用的库函数,注意应该会C语言的区别开

(14)mm memory management内存管理,Linux的内存管理代码在这里实现

(15)net 该目录下是网络有关的代码,比如TCP/IP协议栈都在这里

(16)scripts这个目录下全部是脚本文件,这些脚本文件不是Linux内核工作时使用的,而是用来辅助对Linux内核运行配置编译生成的

(17)security安全相关的代码

(18)sounds 音频处理有关的

(19)tools Linux中用到的一些有用工具

(20)usr 目录下是initramfs相关的和Linux内核的启动有关

(21)virt内核虚拟机有关的

你可能感兴趣的:(嵌入式Linux)