摘 嵌入式linux系統的開啟

2021-04-29 07:16:59 字數 1106 閱讀 3699

在各種體系結構平台上,多數核心映像都採用壓縮格式(mips 平台例外,它的映像採用非壓縮格式) 。linux 系統的一般啟動過程通常劃分為核心引導、核心啟動和應用程式啟動3 個階段。

第一階段是目標板硬體初始化,解壓核心映像,再跳轉到核心映像入口。這部分的工作一般由目標板的引導程式和核心映像的自引導程式完成。不同體系結構的目標板引導的方式和程式都有差異。decompress kernel --> call kernel,這和bootloader有關。

第二階段是核心的初始化,初始化裝置驅動,掛接根檔案系統。這裡是 linux 核心通用的啟動函式入口。所有體系結構的目標板都順序呼叫統一的函式,儘管有些函式的**實現是跟體系結構相關的。initialize hardware, initialize device driver, mount root filesystem, execute /sbin/init

第三階段是執行使用者空間的 init 程式,完成系統初始化、啟動相關服務和管理使用者登入等工作。這個階段可以提供給使用者互動介面,例如:shell 命令列或者圖形化的視窗介面。也可以自動執行應用程式。login prompt, start network service, start x-windows

在 linux 系統啟動過程中,有兩個關鍵點。乙個是核心映像的解壓啟動;另乙個是根檔案系統的掛接。目標板處理器上電或者復位後,首先執行引導程式(bootloader) ,初始化記憶體等硬體,然後把壓縮的核心映像載入到記憶體中,最後跳轉到核心映像入口執行。這樣就把控制權完全交給核心映像了。接下來核心映像繼續執行, 完成自解壓或者重定位,然後跳轉到解壓後的核心**入口。這部分主要是 linux 核心的自引導程式,又叫作 linux bootloader,包含在核心源**中。這部分引導**相對簡單,不可能替代目標板上的 bootloader。

因為檔案和應用程式都要儲存在檔案系統中,所以 linux 離不開檔案系統。在核心啟動到最後,必須掛接乙個根檔案系統。從檔案系統的目錄下找到 init 程式,啟動 init 程序。

來自:《嵌入式 linux 系統開發技術詳解——基於 arm》

我同意網上的一些書評,認為這本書寫得比較雜亂,似講義。不適合用作為入門或者學習的。適合於正在看其他相關的書,用來輔助閱讀,以及對嵌入式linux系統比較了解的人查閱。換句話說不是本好書,但值得翻翻。

摘嵌入式教案2

摘嵌入式教案2 2009年12月25日 uclinux是為支援沒有mmu的處理器而對標準硬體平台更好的雲新各種程式提供了保證。的在gnu通用公共許可證 gnu gpl 的保證下,執行uclinux作業系統的使用者可以使用幾乎所有的 b linux api函式 b 不會因為沒有mmu而受到影響。2.6...

摘嵌入式教案2

摘嵌入式教案2 2009年12月25日 uclinux是為支援沒有mmu的處理器而對標準硬體平台更好的雲新各種程式提供了保證。的在gnu通用公共許可證 gnu gpl 的保證下,執行uclinux作業系統的使用者可以使用幾乎所有的 b linux api函式 b 不會因為沒有mmu而受到影響。2.6...

32位嵌入式系統和嵌入式Linux

32位嵌入式系統和嵌入式linux 嵌入式linux是一種開發原始碼 軟實時 多工的嵌入式作業系統,是標準linux的嵌入式系統移植版。眾所周知,linux能在pc中可靠地執行,正是因為當前的pc硬體已經全部採用了32位乃至64位系統,才會給象windows linux unix這些32位作業系統提...