Linux内核源码目录介绍
内核源码目录
liyongjun@Box:~/project/board/buildroot-2021.05/override/linux-5.10.9$ tree -L 1 -d
.
├── arch // 此目录下所有子目录都是体系架构特有的代码。每个体系架构特有目录下面至少包含 3 个子目录:kernel、lib、mm。
│ ├── arm
| │ ├── kernel // 不同体系架构内核特有的实现方式
| │ ├── lib // 不同体系架构下的高性能通用代码实现
| │ ├── mm // 不同体系架构特有的内存管理程序的实现
│ ├── mips
│ ├── x86
├── block
├── certs
├── crypto
├── Documentation // 此目录下没有内核代码,有一套有用的内核文档。
├── drivers // 驱动程序代码。占内核代码量的大部分。包括显卡、PCI、网卡等外围设备的驱动代码
├── fs // 文件系统代码。ext2、ext3、ext4、nfs 等
├── include // 包含内核中大部分头文件
│ ├── linux
| │ ├── skbuff.h
├── init // 内核初始化过程的代码
├── ipc // 进程间通信的代码
├── kernel // 内核中最重要的代码,包含内核中平台无关的基本功能,主要包含进程创建、销毁和调度等
├── lib // 主要包含内核中其它模块使用的通用函数和内核自解压的函数
├── LICENSES
├── mm // 实现了平台无关的内存管理代码
├── net // 网络协议栈代码
│ ├── 802
│ ├── bluetooth // 蓝牙
│ ├── ethernet // 以太网(L2)
│ ├── ipv4 // IP 层(L3)
│ │ ├── arp.c
│ │ ├── icmp.c
│ │ ├── igmp.c
│ │ ├── ipc.c
│ │ ├── ip_forward.c
│ │ ├── ip_input.c
│ │ ├── ip_output.c
│ │ ├── ip_tunnel.c
│ │ ├── ping.c
│ │ ├── proc.c
│ │ ├── raw.c
│ │ ├── raw_diag.c
│ │ ├── route.c
│ │ ├── sysctl_net_ipv4.c
│ │ ├── tcp.c // 传输层(L4)
│ │ ├── tcp_*.c
│ │ ├── udp.c
│ │ ├── udp_*.c
│ ├── ipv6
│ ├── llc
│ ├── mac80211
│ ├── netfilter
│ ├── netlink
│ ├── nfc
│ ├── tls
│ ├── wimax
│ ├── wireless // 无线
├── samples
├── scripts
├── security
├── sound
├── tools
├── usr
└── virt
22 directories
-L 1
只列一层目录(上面显示的二、三级目录为手动添加,为了充实)
-d
只列出目录,不列出文件(Makefile 等文件不关心)