2011-01-0612:01最近在看《嵌入式linux應(yīng)用開發(fā)完全手冊》,前一陣在看關(guān)于Uboot的啟動流程分析,可忘記把讀書筆記給記錄下來,現(xiàn)在在讀移植linux內(nèi)核,我想應(yīng)該記錄一些東西,以加深理解16">
linux內(nèi)核移植讀書筆記

linux內(nèi)核移植讀書筆記

ID:37711739

大小:40.50 KB

頁數(shù):5頁

時間:2019-05-29

linux內(nèi)核移植讀書筆記_第1頁
linux內(nèi)核移植讀書筆記_第2頁
linux內(nèi)核移植讀書筆記_第3頁
linux內(nèi)核移植讀書筆記_第4頁
linux內(nèi)核移植讀書筆記_第5頁
資源描述:

《linux內(nèi)核移植讀書筆記》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、linux內(nèi)核移植讀書筆記<1>2011-01-0612:01最近在看《嵌入式linux應(yīng)用開發(fā)完全手冊》,前一陣在看關(guān)于Uboot的啟動流程分析,可忘記把讀書筆記給記錄下來,現(xiàn)在在讀移植linux內(nèi)核,我想應(yīng)該記錄一些東西,以加深理解16.1linux版本及特點2.6.36.2:主板本是2.6,次版本36,修訂版本216.2.2內(nèi)核源碼結(jié)構(gòu)及Makefile分析一,arch:體系結(jié)構(gòu)相關(guān)的代碼,對于每個架構(gòu)的cpu,arch目錄下有一個對應(yīng)的子目錄,arch/arm,arch/i386block:塊設(shè)備相關(guān)的通用函數(shù)crypo:加密和散列算法drivers:所

2、有設(shè)備的驅(qū)動程序,里面的每一個子目錄對應(yīng)一類驅(qū)動程序fs:linux內(nèi)核所支持的文件系統(tǒng)include:內(nèi)核頭文件,有基本的頭文件(include/linux/下),各種驅(qū)動或功能部件的頭文件,各種體系相關(guān)的頭文件,init:內(nèi)核的初始化代碼,main。c是內(nèi)核引導(dǎo)后的第一各函數(shù)ipc:進程間通信的代碼kernel:內(nèi)核管理的核心代碼,與處理器相關(guān)的核心代碼在arch/arm/kernel/下lib:內(nèi)核用到的一些庫函數(shù)代碼,與處理器相關(guān)的庫函數(shù)代碼在arch/arm/lib/下mm:內(nèi)存管理代碼,與處理器相關(guān)的內(nèi)存管理代碼在arch/arm/mm/下net:網(wǎng)

3、絡(luò)支持代碼,每個子目錄代表網(wǎng)絡(luò)的一個方面security:安全,密鑰相關(guān)的代碼sound:音頻設(shè)備的驅(qū)動程序usr:用來制作一個壓縮的cpio歸檔文件:initrd的鏡像,它可以作為內(nèi)核啟動后鏈接的第一各文件系統(tǒng),一般用不到Documentation:內(nèi)核文檔scripts:用于配置,編譯內(nèi)核的腳本文件二:LinuxMakefile分析內(nèi)核中的文件有2萬多個,僅與s3c2410,s3c2440相關(guān)的文件就有1萬多個,這么多的文件,在內(nèi)核編譯時哪些文件將被編譯,他們是怎么被編譯的,他們的連接順序如何,哪個文件在前面,哪個文件在后面?這些都是有Makefile文件來

4、管理的,簡單來說,makefile文件主要完成一下3個方面的工作a,決定編譯哪些文件b,怎樣編譯這些文件c,怎樣連接這些文件,以及他們的連接順序在linux內(nèi)核目錄下有很多Makefile文件,這些Makefile文件又要包含其他的一些配置信息文件和通用規(guī)則文件等,這些文件一起構(gòu)成了linux的makefile體系,這個體系中的文件可以分為如下5類a,頂層的makefile文件,它是所有makefile文件的核心,從總體上控制著內(nèi)核的編譯,連接b,.config文件,在配置內(nèi)核時生成,所有makefile文件都是根據(jù).config文件來決定使用哪些文件c,arc

5、h/arm/makefile,對應(yīng)arm體系結(jié)構(gòu)的makefile,用來決定與arm體系結(jié)構(gòu)相關(guān)的哪些文件參與內(nèi)核的生成d,scripts/makefile.*,makefile共用的通用規(guī)則,腳本等e,KbuildMakefiles,各級子目錄下的Makefile,被上一層makefile調(diào)用來編譯當(dāng)前目錄下的文件(1)決定編譯哪些文件a,頂層makefile決定內(nèi)核根目錄下哪些子目錄將背編譯進內(nèi)核b,arch/arm/makefile決定該目錄下哪些文件,目錄被編譯進內(nèi)核c,各級子目錄下的makefile文件決定該目錄下哪些文件被編譯進內(nèi)核,哪些被編譯成模塊

6、,需要進入子目錄下繼續(xù)進行編譯先看步驟a,頂層makefile決定內(nèi)核根目錄下哪些子目錄將被編譯進內(nèi)核在頂層的makefile中可以看到如下內(nèi)容:init-y:=init/drivers-y:=drivers/sound/net-y:=net/libs-y:=lib/core-y:=usr/...core-y+=kernel/mm/fs/ipc/security/crypto/block/有此可見,makefile將內(nèi)核根目錄下的這些目錄分為了5類,除去include目錄和一些不包含內(nèi)核代碼的目錄外,還有一個arch目錄沒有出現(xiàn)在內(nèi)核中。其實,arch目錄是在a

7、rch/arm/makefile中被包含進內(nèi)核的,在頂層的makefile直接包含了這個makefile。include$(srctree)/arch/$(ARCH)/MakefileARCH是一個變量,我們可以在頂層makefile中進行修改,找到ARCH?=和CROSS——COMPILE?=ARCH?=armCROSS_COMPILE?=arm-linux-在看步驟b,arch/arm/下哪些目錄被編譯進內(nèi)核,我們可以在arch/arm/makefile下找到如下內(nèi)容head-y:=arch/arm/kernel/head$(MMUEXT).oarch/ar

8、m/kernel/ini

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。