Linux Embedded System

一個簡單的Linux系統架構,如下圖,主要分為4個部份:

  • Hardware
  • Bootloader
  • Linux Kernel
  • User space (Applications)

除了Hardware以外,Buildroot專案建制過程中其他的3個部份都會自己建置,如下圖所示,所有的元件都是從source code開始,經過cross-compiler建制以後,變成了相對應的映像檔或binary檔。
所以建制完後,主要會有「toolchain」, 「bootloader 映像檔」, 「kernel 映像檔」和「root fileSystem 映像檔」,整個流程如下圖所示:

假設我們的專案現在已經建制好已經燒錄到儲存裝置裡面(Flash or EMMC ....),並且插上電源後:

第 1 個跑的程式就是bootloader,他會啟動一些基本的驅動程式,以供開機流程使用,最終就是將kerner載入到記憶體裡後將控制權轉交給Kernel。

第2個就是Kernel會初始化硬體裝置和我們的檔案系統,然後執行第一個程式init。
第3步init就會啟動剩下來user space的service和application。
第4步我們通常就會看到login shell展示再我們面前了。

(來源 : free-electrons )

results matching ""

    No results matching ""