內核源碼樹由很多目錄組成,而大多數目錄又包含很多子目錄。
源碼樹根目錄極其子目錄如下表:
目錄 | 描述 |
---|---|
arch/ | 特定體系結構的源碼 |
block/ | 快設備I/O層 |
crypto/ | 加密API |
Documentation/ | 內核源碼文檔 |
drivers/ | 設備驅動程序 |
firmaware/ | 某些驅動程序需要的設備固件 |
fs/ | VFS和各種文件系統(tǒng) |
include/ | 內核頭文件 |
init/ | 內核引導和初始化 |
ipc/ | 進程間通信代碼 |
kernel/ | 核心子系統(tǒng),例如調度程序 |
lib/ | 通用內核函數 |
mm/ | 內存管理子系統(tǒng)和VM |
net/ | 網絡子系統(tǒng) |
samples/ | 示例,示范代碼 |
scripts/ | 編譯內核所用的腳本 |
security/ | Linux安全模塊 |
sound/ | 語音子系統(tǒng) |
usr/ | 早期用戶空間代碼(所謂的initramfs) |
tools/ | 在Linux開發(fā)中有用的工具 |
virt/ | 虛擬化基礎基礎結構 |
在源碼樹根目錄由很多文件值得提及:
- COPYING文件,是內核許可證(GNU GPL v2);
- CREDITS,是開發(fā)了很多內核代碼的開發(fā)者列表;
- MAINTAINERS,維護者列表,他們負責維護內核子系統(tǒng)和驅動程序;
- Makefile,基本內核的Makefile。
[參考]
- 《Linux內核設計與實現》(第三版)