内核源码目录结构
- 内核文件大小查询:du -sh
- arch:区分不同体系架构相关代码
- /linux-4.9.235/arch/arm/boot:与arm平台启动相关的代码
- /linux-4.9.235/arch/arm/:不同公司基于arm架构出的不同硬件平台
- /linux-4.9.235/firmware:固件相关代码,有一些wifi芯片、flash芯片有固件
- /linux-4.9.235/Documentation:针对内核的说明文档
- /linux-4.9.235/init:相当于C语言中的main函数,内核的入口程序是内核解压程序,解压后会交给汇编程序做一些cpu本身的初始化。初始化完成后接着调用main.c程序中的start_kernel()函数,它是整个内核的通用入口。内核启动完成后,最终会启动一个文件系统。启动文件系统前,首先需要挂载文件系统。例如,do_mounts_initrd.c程序用来实现挂载文件系统。【重点】
- /linux-4.9.235/Kconfig:内核编译系统的一部分 【重点】
- /linux-4.9.235/security:安全相关代码
- /linux-4.9.235/usr:测试代码
- /linux-4.9.235/block:块设备相关的代码
- /linux-4.9.235/drivers:针对不同类型的驱动代码【重点】
- /linux-4.9.235/fs:文件系统 【重点】
- /linux-4.9.235/ipc:进程间通信相关代码 【重点】
- /linux-4.9.235/kernel:内核通用代码 【重点】
- /linux-4.9.235/arch/arm/kernel:与arm体系架构相关的内核通用代码
- /linux-4.9.235/net/:网络子系统相关的代码以及驱动相关的代码 【重点】
- /linux-4.9.235/sound:声卡相关代码
- /linux-4.9.235/crypto:加密解密相关代码
- /linux-4.9.235/include:内核头文件相关的代码
- /linux-4.9.235/lib:内核中的通用库
- /linux-4.9.235/mm:内存管理相关代码 【重点】
- /linux-4.9.235/scripts:编译内核的脚本文件,gdb主要是用来做内核调试的 【重点】
- /linux-4.9.235/tools:一些工具
网友评论