树莓派内核开发准备(内核源码获取、启动过程、源码目录树)
目錄
- 1.交叉編譯工具的安裝
- 2.內(nèi)核源碼獲取
- 3.嵌入式設(shè)備帶操作系統(tǒng)的啟動(dòng)過程掃盲
- 4.Linux內(nèi)核源碼樹掃盲
- 1.內(nèi)核源碼簡介
- 2.Linux內(nèi)核源代碼目錄樹結(jié)構(gòu)
- tree指令查看
- 內(nèi)核源碼目錄樹
1.交叉編譯工具的安裝
參照我之前的筆記
2.內(nèi)核源碼獲取
下載哪個(gè)版本取決于樹莓派的版本,用命令查看
uname -r官網(wǎng)是外網(wǎng)下載慢,這里是提前下載好的樹莓派源內(nèi)核碼資源
鏈接: https://pan.baidu.com/s/1d8KgnJIc8QoDlZMyt4ITDw
提取碼: f3d4
官網(wǎng)下載方式(方便以后下載樹莓派其他內(nèi)核版本):
官網(wǎng)地址:https://github.com/raspberrypi/
3.嵌入式設(shè)備帶操作系統(tǒng)的啟動(dòng)過程掃盲
4.Linux內(nèi)核源碼樹掃盲
1.內(nèi)核源碼簡介
2.Linux內(nèi)核源代碼目錄樹結(jié)構(gòu)
tree指令查看
通過安裝tree指令方便看內(nèi)核源碼樹目錄。
樹狀顯示當(dāng)前文件夾下包絡(luò)的文件。做第三方工具安裝的時(shí)候,可用于檢查包里的內(nèi)容是否完整。
- 安裝
- 使用
內(nèi)核源碼目錄樹
arch
包含和硬件體系結(jié)構(gòu)相關(guān)的代碼,每種平臺占一個(gè)相應(yīng)的目錄。
每個(gè)平臺中比較重要的包括:
- kernel(內(nèi)核核心部分)
- mm(內(nèi)存管理)
- math-emu(浮點(diǎn)單元仿真)
- lib(硬件相關(guān)工具函數(shù))
- boot(引導(dǎo)程序)
- pci(PCI總線)
- power(CPU相關(guān)狀態(tài))
block
部分塊設(shè)備(內(nèi)存之類的存儲介質(zhì)等)驅(qū)動(dòng)程序。
crypto
常用加密和散列算法(如AES、SHA等)(形成了一個(gè)標(biāo)準(zhǔn),不需要自己去寫這些算法),還有一些壓縮和CRC校驗(yàn)算法。
Documentation
關(guān)于內(nèi)核各部分的通用解釋和注釋。(大多看不懂)
drivers
設(shè)備驅(qū)動(dòng)程序,每個(gè)不同的驅(qū)動(dòng)占用一個(gè)子目錄。
fs
各種支持的文件系統(tǒng),如ext、fat、ntfs等。
include
頭文件。其中,和系統(tǒng)相關(guān)的頭文件被放置在linux子目錄下。
init
內(nèi)核初始化代碼(注意不是系統(tǒng)引導(dǎo)代碼)。
ipc
進(jìn)程間通信的代碼。
kernel
內(nèi)核的最核心部分,包括進(jìn)程調(diào)度、定時(shí)器等,和平臺相關(guān)的一部分代碼放在arch/*/kernel目錄下。
lib
庫文件代碼
mm
內(nèi)存管理代碼,和平臺相關(guān)的一部分代碼放在arch/*/mm目錄下。
net
網(wǎng)絡(luò)相關(guān)代碼,實(shí)現(xiàn)了各種常見的網(wǎng)絡(luò)協(xié)議。
scripts
用于配置內(nèi)核文件的腳本文件。
security
主要是一個(gè)SELinux的模塊。
sound
常用音頻設(shè)備的驅(qū)動(dòng)程序等。
usr
實(shí)現(xiàn)了一個(gè)cpio。
內(nèi)核源碼目錄樹詳細(xì)結(jié)構(gòu)介紹,參照博文:https://www.cnblogs.com/senior-engineer/p/4929703.html
總結(jié)
以上是生活随笔為你收集整理的树莓派内核开发准备(内核源码获取、启动过程、源码目录树)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十四步实现强大的五子棋AI
- 下一篇: 几个不错的素材站