IMX6ULL移植篇-Linux内核源码目录分析一

一. Linux内核源码目录

之前文章对 Linux内核源码的文件做了大体的了解,如下:

IMX6ULL移植篇-Linux内核源码文件表_凌肖战的博客-CSDN博客

本文具体说明 Linux内核源码的一些重要文件含义。

二. Linux内核源码中重要文件分析

1. arch 目录

这个目录是和架构有关的目录,比如 arm 、 arm64 、 avr32 、 x86 等等架构。每种架构都对应
一个目录,在这些目录中又有很多子目录,比如 boot 、 common 、 configs 等等。
arch/arm 为例,其子目录如下:

以上是 arch/arm 的一部分子目录,这些子目录用于控制系统引导、系统调用、动态调 频、主频设置等。

arch/arm/boot 目录下会保存编译出来的 ImagezImage 镜像文件,而 zImage 就是我们要
用的 linux 镜像文件。

arch /arm/boot/dts 目录下,存放 Linux内核所有设备树文件,包括 dts 编译后对应的设备树文件.dtb文件)。
arch/arm/configs 目录是不同平台的默认配置文件:xxx_defconfig。 在 arch/arm/configs 中就包含有 I.MX6U-ALPHA 开发板的默认配置文件: imx_v7_defconfig,执行 " make imx_v7_defconfig " 即可完成配置。

arch/arm/mach-xxx目录分别为相应平台的驱动和初始化文件,比如 mach-imx 目录里面就是 I.MX 系列 CPU 的驱动和初始化文件。

2. block目录

block 是 Linux 下块设备目录,像 SD 卡、EMMC、NAND、硬盘等存储设备就属于块设备, block 目录中存放着管理块设备的相关文件。

3. crypto 目录

crypto 目录里面存放着加密文件,比如常见的 crc 、 crc32 、 md4 、 md5 、 hash 等加密算法。

4. Documentation 目录

此目录里面存放着 Linux 相关的文档,如果要想了解 Linux 某个功能模块或驱动架构的功 能,就可以在 Documentation 目录中查找有没有对应的文档。

Documentation/devicetree/bindings 目录下的文档很重要!是设备树的绑定信息。

5. drivers 目录

驱动目录文件,此目录根据驱动类型的不同,分门别类进行整理,比如 drivers/i2c 就是 I2C
相关驱动目录, drivers/gpio 就是 GPIO 相关的驱动目录,这是我们学习的重点。

6. firmware 目录

此目录用于存放固件。 有一些外设或模块需要加载的固件。

7. fs 目录

此目录存放文件系统,例如 fs/ext2 、 fs/ext4 、 fs/f2fs 等,分别是 ext2 、 ext4 和 f2fs 等文件系
统。

8. include 目录

存放头文件的目录。

下一篇继续了解 Linux内核源码文件。

相关推荐
Wang's Blog1 天前
Linux小课堂: Vim与Emacs之Linux文本编辑器的双雄格局及Vim安装启动详解
linux·vim·emacs
炸膛坦客1 天前
Cortex-M3-STM32F1 开发:(十一)ARM Cortex-M 内核中的 MPU 和 FPU
arm开发·stm32·嵌入式硬件
观山岳五楼1 天前
unbuntu系统配置IPV6的三种模式
linux·服务器·ip·1024程序员节
运维行者_1 天前
AWS云服务故障复盘——从故障中汲取的 IT 运维经验
大数据·linux·运维·服务器·人工智能·云计算·aws
王道长服务器 | 亚马逊云1 天前
AWS Systems Manager:批量服务器管理的隐藏利器
linux·网络·云计算·智能路由器·aws
命运之光1 天前
【快速解决】Linux服务器安装Java17运行环境
linux·运维·服务器
你喜欢喝可乐吗?1 天前
Ubuntu服务器无法显示命令行登录提示
linux·运维·服务器·ubuntu
FJW0208141 天前
【Linux】用户管理及优化
linux·运维·服务器
---学无止境---1 天前
Linux中内核和用户空间通信send_uevent函数的实现
linux·网络
艾莉丝努力练剑1 天前
【C++:继承】C++面向对象继承全面解析:派生类构造、多继承、菱形虚拟继承与设计模式实践
linux·开发语言·c++·人工智能·stl·1024程序员节