首页 存档 技术 查看内容

【Linux连载】Linux内核源码目录树解析

2018-3-30 13:00 |来自: 互联网 388 0

摘要: 要进行嵌入式Linux产品的内核驱动开发,需要先了解内核目录的各文件夹下源码的作用,本文介绍Linux内核源码目录树下的各目录文件的作用。 目录树概览 解压Linux内核源码压缩包,将得到内核源码。内核源码很复杂,包 ...

要进行嵌入式Linux产品的内核驱动开发,需要先了解内核目录的各文件夹下源码的作用,本文介绍Linux内核源码目录树下的各目录文件的作用。


目录树概览


解压Linux内核源码压缩包,将得到内核源码。内核源码很复杂,包含多级目录,形成一个庞大的树状结构,通常称为Linux源码目录树。进入源码所在目录,可以看到目录树顶层通常包含如下目录和文件:


arch/ crypto/ fs/

Kbuild MAINTAINERS README

security/ virt/ block/

Documentation/ include/

Kconfig Makefile REPORTING-BUGS

sound/ COPYING drivers/ init/

kernel/ mm/ samples/ tools/

CREDITS firmware/ ipc/ lib/

net/ scripts/ usr/


各个目录文件的简要说明如表1所列。


表1 Linux源码顶层目录简要说明

目录 内容
arch/

包含各体系结构特定的代码,如arm、x86、ia64、mips等,在每个体系结构目录下通常都有:

-boot 内核需要的特定平台代码

-kernel 体系结构特有的代码

-lib 通用函数在特定体系结构的实现

-math-emu 模拟FPU的代码,在ARM中,使用mach-xxx代替

-mm 特定体系结构的内存管理实现

-include 特定体系的头文件

block/ 存放块设备相关代码
crypto/ 存放加密、压缩、CRC校验等算法相关代码
Documentation/ 存放相关说明文档,很多实用文档,包括驱动编写等
drivers/ 存放Linux内核设备驱动程序源码。驱动源码在Linux内核源码中站了很大比例,常见外设几乎都有可参考源码,对驱动开发而言,该目录非常重要。该目录包含众多驱动,目录按照设备类别进行分类,如char、block、input、i2c、spi、pci、usb等
firmware/ 存放处理器相关的一些特殊固件
fs/ 存放所有文件系统代码,如fat、ext2、ext3、ext4、ubifs、nfs、sysfs等
include/ 存放内核所需、与平台无关的头文件,与平台相关的头文件已经被移动到arch平台的include目录,如ARM的头文件目录
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类