在對linux核心學習的同時,我們首先應該對linux核心原始碼的目錄有一定的了解,下面是核心原始碼目錄的大概結構說明,根據核心版本的不同略有差異,不過不影響學習。以2.6.28.6核心原始碼為例:
arch目錄包括了所有和體系結構相關的核心**。它下面的每乙個子目錄都代表一種linux支援的體系結構,例如i386就是intel cpu及與之相相容體系結構的子目錄,還有arm、powerpc、mips等。
block塊裝置驅動程式i/o排程
crypto常用加密和雜湊演算法(如aes、sha等),還有一些壓縮和校驗演算法
documentation目錄下是一些文件,是對每個目錄作用的具體說明(核心各部分的通用解釋和注釋)。
drivers目錄中是系統中所有的裝置驅動程式。每個不同的驅動占用乙個子目錄,如char、block、net、mtd、i2c等。
fs目錄存放linux支援的各種檔案系統。不同的檔案系統有不同的子目錄對應,如ext、fat、ntfs、jffs2等。
include目錄包括編譯核心所需要的大部分標頭檔案,與系統相關的標頭檔案放置在include/linux子目錄下。
init目錄包含核心的初始化**(不是系統的引導**),有main.c和version.c兩個檔案。這是研究核心如何工作的好起點。
ipc目錄包含了核心程序間的通訊**。
kernel核心管理的核心**放在這裡。同時與處理器結構相關**都放在arch/*/kernel目錄下。
lib目錄包含了核心的庫**,不過與處理器結構相關的庫**被放在arch/*/lib/目錄下。
mm目錄包含了所有的記憶體管理**。與具體硬體體系結構相關的記憶體管理**位於arch/*/mm目錄下。
net目錄裡是核心的網路部分**,其每個子目錄對應於網路的乙個方面,實現了各種常見的網路協議。
scripts目錄包含用於配置核心的指令碼檔案。
security主要是乙個selinux的模組
sound:alsa、oss音訊裝置的驅動核心**和常用裝置的裝置驅動。
usr實現了用於打包和壓縮的cpio等
一般在每個目錄下都有乙個.depend檔案和乙個makefile檔案。這兩個檔案都是編譯時使用的輔助檔案。仔細閱讀這兩個檔案對弄清各個檔案之間的聯絡和依託關係很有幫助。另外有的目錄下還有readme檔案,它是對該目錄下檔案的一些說明,同樣有利於對核心原始碼的理解。
Linux核心原始碼目錄結構
3.3 核心原始碼目錄結構 瀏覽核心 之前,有必要知道核心原始碼的整體分布情況,按照慣例,核心 安裝在 usr src linux目錄下,該目錄下的每乙個子目錄都代表了乙個特定的核心功能性子集,下面針對2.6.23版本進行簡單描述。1 documentation。這個目錄下面沒有核心 只有很多質量參...
linux核心原始碼目錄結構分析
注 本文是學習朱老師課程整理的筆記,基於linux2.6.35.7和九鼎x210bv3s開發板進行移植。arch。arch是architecture的縮寫。arch目錄下是好多個不同架構的cpu的子目錄,譬如arm這種cpu的所有檔案都在arch arm目錄下,x86的cpu的所有檔案都在arch ...
linux核心原始碼目錄結構分析
1 分析原始碼目錄下的單個檔案 1 kbuild,kbuild是kernel build的意思,就是核心編譯的意思。這個檔案就是linux核心特有的核心編譯體系需要用到的檔案。2 makefile,這個是linux核心的總makefile,整個核心工程用這個makefile來管理的。3 mk,是九鼎...