linux核心啟動過程
第一篇日誌就摘錄一下linux核心的啟動過程,參考了《linux核心移植和yaffs2根檔案系統製作》
嵌入式linux系統從軟體角度看可以分為四部分:引導引導程式(bootloader),linux核心,檔案系統,應用程式。bootloader是系統啟動時執行的第一段**,它主要用來初始化處理器及一些外設,然後呼叫linux核心。這就是我們平時所說的系統的托舉。linux核心在完成系統的初始化之後需要掛載某個檔案系統作為根檔案系統(root filesystem)。根檔案系統可以做為linux系統中檔案和資料的儲存區域,也包括系統配置檔案和執行應用軟體需要的庫。
總的來說,系統的啟動分為:執行bootloader->呼叫系統核心->掛載根檔案系統。
bootloader 是嵌入式系統的引導引導程式,它是系統上電後執行的第一段程式, 其作用類似於 pc 機上的 bios。 在完成對系統的初始化任務之後, 它會將
非易失性儲存器 (通常是 flash 或 doc 等) 中的 linux 核心拷貝到 ram 中去,然後跳轉到核心的第一條指令處繼續執行,從而啟動 linux 核心。
初始化ram,初始化串列埠、檢測處理器型別、設定linux啟動引數、呼叫linux核心映像。
其中設定linux啟動引數主要採用兩種方式:即通過 struct param_struct 和 struct tag(標記列表,tagged list)兩種結構傳遞。前者較老,在2.4版本以前的核心中使用較多,2.4版本之後很少使用。
linux核心啟動過程
第一步 電腦加電後cpu開始自身初始化,然後從某個固定位置 一般為0xfffffff0 取指令開始執行,此指令為跳轉指令,跳轉到bios 首部。第二步 bios開始加電自檢進行post power on self test 此階段完成系統硬體檢測,包括記憶體 系統匯流排檢測等,然後bios讀取啟動裝...
Linux 核心啟動過程
核心啟動前需要滿足的條件 暫存器,cpu,cache mmu 1.cpu暫存器的設定 r0 0 r1為機器碼 r2為啟動引數,標記列表在ram中的起始位址 2.cpu工作模式 必須禁止中斷 irq和fiq cpu必須設定為svc模式 3.cache和mmu的設定 mmu必須關閉 指令cache可以開...
linux核心啟動過程
linux核心啟動過程完成啟動核心並執行使用者空間的init程序的功能。當核心映像被載入到ram之後,bootloader的控制權被釋放。核心映像並不是可直接 執行的目標 而是乙個壓縮過的zimage 小核心 或bzimage 大核心,bzimage中的 b 是 big 意思 但是,並非zimage...