linux編譯後文件夾

1、 arch 目錄
這個目錄是和架構有關的目錄,比如 arm、 arm64、 avr32、 x86 等等架構。每種架構都對應一個目錄,在這些目錄中又有很多子目錄,比如 boot、 common、 configs 等等,以 arch/arm 爲例,其子目錄如圖所示:
在這裏插入圖片描述
圖是 arch/arm 的一部分子目錄,這些子目錄用於控制系統引導、系統調用、動態調頻、主頻設置等。 arch/arm/configs 目錄是不同平臺的默認配置文件: xxx_defconfig,如圖所示:
在這裏插入圖片描述
在 arch/arm/configs 中就包含有 I.MX6U開發板的默認配置文件: imx_v7_defconfig,執行“make imx_v7_defconfig”即可完成配置。 arch/arm/boot/dts 目錄裏面是對應開發平臺的設備樹文件
arch/arm/boot 目錄下會保存編譯出來的 Image 和 zImage 鏡像文件,而 zImage 就是我們要用的 linux 鏡像文件。
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 目錄中查找有沒有對應的文檔。
5、 drivers 目錄
驅動目錄文件,此目錄根據驅動類型的不同,分門別類進行整理,比如 drivers/i2c 就是 I2C相關驅動目錄, drivers/gpio 就是 GPIO 相關的驅動目錄,這是我們學習的重點。
6、 firmware 目錄
此目錄用於存放固件。
7、 fs 目錄
此目錄存放文件系統,比如 fs/ext2、 fs/ext4、 fs/f2fs 等,分別是 ext2、 ext4 和 f2fs 等文件系統。
8、 include 目錄
頭文件目錄。
9、 init 目錄
此目錄存放 Linux 內核啓動的時候初始化代碼。
10、 ipc 目錄
IPC 爲進程間通信, ipc 目錄是進程間通信的具體實現代碼。
11、 kernel 目錄
Linux 內核代碼。
12、 lib 目錄
lib 是庫的意思, lib 目錄都是一些公用的庫函。
13、 mm 目錄
此目錄存放內存管理相關代碼。
14、 net 目錄
此目錄存放網絡相關代碼。
15、 samples 目錄
此目錄存放一些示例代碼文件。
16、 scripts 目錄
腳本目錄, Linux 編譯的時候會用到很多腳本文件,這些腳本文件就保存在此目錄中。
17、 security 目錄
此目錄存放安全相關的文件。
18、 sound 目錄
此目錄存放音頻相關驅動文件,音頻驅動文件並沒有存放到 drivers 目錄中,而是單獨的目錄。
19、 tools 目錄
此目錄存放一些編譯的時候使用到的工具。
20、 usr 目錄
此目錄存放與 initramfs 有關的代碼。
21、 virt 目錄
此目錄存放虛擬機相關文件。
22、 .config 文件
跟 uboot 一樣, .config 保存着 Linux 最終的配置信息,編譯 Linux 的時候會讀取此文件中的配置信息。最終根據配置信息來選擇編譯 Linux 哪些模塊,哪些功能。
23、 Kbuild 文件
有些 Makefile 會讀取此文件。
24、 Kconfig 文件
圖形化配置界面的配置文件。
25、 Makefile 文件
Linux 頂層 Makefile 文件,建議好好閱讀一下此文件。
26、 README 文件
此文件詳細講解了如何編譯 Linux 源碼,以及 Linux 源碼的目錄信息,建議仔細閱讀一下此文件。
關於 Linux 源碼目錄就分析到這裏,接下來分析一下 Linux 的頂層 Makefile。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章