基于i386體系結(jié)構(gòu)的Linux啟動代碼分析

基于i386體系結(jié)構(gòu)的Linux啟動代碼分析

ID:259246

大?。?44.50 KB

頁數(shù):34頁

時間:2017-07-15

基于i386體系結(jié)構(gòu)的Linux啟動代碼分析_第1頁
基于i386體系結(jié)構(gòu)的Linux啟動代碼分析_第2頁
基于i386體系結(jié)構(gòu)的Linux啟動代碼分析_第3頁
基于i386體系結(jié)構(gòu)的Linux啟動代碼分析_第4頁
基于i386體系結(jié)構(gòu)的Linux啟動代碼分析_第5頁
資源描述:

《基于i386體系結(jié)構(gòu)的Linux啟動代碼分析》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、嵌入式操作系統(tǒng)xlanchen@2007.6.5http://staff.ustc.edu.cn/~xlanchenEmail:xlanchen@ustc.edu.cnPhone:0551-3606864-83上次課內(nèi)容回顧一、嵌入式Linux開發(fā)綜述二、Linux的配置和編譯三、根文件系統(tǒng)及其制作xlanchen@2007.6.52EmbeddedOperatingSystems基于i386體系結(jié)構(gòu)的Linux啟動代碼分析xlanchen@2007.6.5源代碼來源Linux-2.4.18加壓縮后,建立SourceInsigt工程閱讀linu

2、x目錄下的README關(guān)于Linux的介紹該版本內(nèi)核支持的體系結(jié)構(gòu)如何配置、編譯、安裝xlanchen@2007.6.54EmbeddedOperatingSystems考慮Arch為i386在arch/i386下存在如下目錄I386的啟動源代碼文件目錄I386的核心源代碼文件目錄I386的庫源代碼文件目錄I386的數(shù)學仿真源代碼文件目錄I386的內(nèi)存管理源代碼文件目錄I386的配置文件I386的體系相關(guān)部分的MakefileI386的Linux內(nèi)核的鏈接描述文件xlanchen@2007.6.55EmbeddedOperatingSystem

3、sI386的啟動代碼文件在arch/i386/boot目錄下在arch/i386/boot/compressed目錄下I386的體系結(jié)構(gòu)相關(guān)部分的啟動代碼都采用匯編碼寫的啟動扇區(qū)中的啟動代碼,其目標碼必然是512字節(jié)I386初始化內(nèi)核解壓縮xlanchen@2007.6.56EmbeddedOperatingSystems在arch/i386/kernel目錄下的.S文件在init目錄下32位啟動代碼這是體系結(jié)構(gòu)無關(guān)部分,i386體系結(jié)構(gòu)相關(guān)部分的啟動,其目的就是進入main.c中的start_kernel處執(zhí)行xlanchen@2007.6.

4、57EmbeddedOperatingSystems閱讀documentation/i386/boot.txt對于i386平臺,由于一些歷史的原因,因此Linux的啟動比較復(fù)雜這個文檔包含如下內(nèi)容1、Linux/i386的啟動協(xié)議(4個)2、內(nèi)存布局圖3、實模式下的內(nèi)核頭結(jié)構(gòu)4、內(nèi)核的命令行(commandline)xlanchen@2007.6.58EmbeddedOperatingSystems5、啟動配置示例6、裝載Linux的剩余部分7、特殊的命令行參數(shù)8、運行內(nèi)核9、高級啟動回調(diào)函數(shù)關(guān)于其中的一些內(nèi)容,我們將在合適的時候說明xlanc

5、hen@2007.6.59EmbeddedOperatingSystems閱讀頂層目錄下的Makefile找到缺省目標鏈接xlanchen@2007.6.510EmbeddedOperatingSystems找到vmlinux找到vmlinux所依賴的各個文件或者目標可以看到vmlinux包含如下內(nèi)容i386/kernel/head.S+init/main.c+init/version.o+CORE_FILES+DRIVERS+NETWORKS+LIBSxlanchen@2007.6.511EmbeddedOperatingSystems若ma

6、keinstall在i386的Makefile中有install規(guī)則若makeboot/bzImage/zImage等等,則要找到對應(yīng)的目標然后進行makeboot在頂層的Makefile中可以找到boot規(guī)則bzImage/zImage可以在i386的Makefile中找到相應(yīng)規(guī)則其他的zXXX/bzXXX也都依賴于boot下的zImage/bzImage它們最終都找到i386/boot的Makefilexlanchen@2007.6.512EmbeddedOperatingSystemsi386/boot的Makefile看i386/boo

7、t的Makefilez代表壓縮;b代表大內(nèi)核可見compressed下的vmlinux/bvmlinux為compressed/head.S+壓縮后的頂層目錄下的vmlinuxzImage為bootsect+setup+compressed/vmlinuxbzImage為bbootsect+bsetup+compressed/bvmlinuxxlanchen@2007.6.513EmbeddedOperatingSystems下面根據(jù)在bzImage/zImage中的順序,我們依次看啟動相關(guān)的源代碼和相關(guān)概念arch/i386/boot/boo

8、tsect.Sarch/i386/boot/setup.Sarch/i386/boot/compressed/head.Sarch/i386/kern

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

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

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