uboot 核心 根檔案系統啟動流程

2022-06-23 11:51:10 字數 664 閱讀 8059

uboot的啟動流程

uboot的啟動分為兩個階段。

第一階段:設定異常向量表,設定arm核為svc模式,關cache和關mmu,

關看門狗,初始化時鐘,串列埠,記憶體,初始化棧空間,清bss。跳轉到第二階

段。第二階段:硬體的初始化,讀取環境變數,將核心從emmc載入到記憶體中,

呼叫核心。

kernel的啟動流程

0.設定cpu為svc模式,關中斷。

1. 為核心的解壓做準備(記憶體,中斷等等)。

2.核心自解壓 (vmlinux.lds)。

3.跳轉到入口位址執行(head.s--->main.c)start_kernel執行核心。

4.硬體的初始化(初始mm  mmu  中斷(request_irq),軟中斷初始化,核心定時器) (解析裝置裝置樹,執行驅動)。

5.掛載根檔案系統。

6.開啟第乙個使用者程序init,執行linuxrc應用程式。

rootfs執行過程

linuxrc呼叫inittab檔案(規定作業系統行為檔案)獲取作業系統行為。

執行啟動第乙個指令碼rcs,rcs中呼叫mount -a 掛載fstab中所有裝置。

當控制台登入的時候,執行bin/sh命令,進入shell命令列(在進入前,會執行profile,設定環境變數)。

原文:

uboot 核心 根檔案系統啟動流程

uboot的啟動流程 uboot的啟動分為兩個階段。第一階段 設定異常向量表,設定arm核為svc模式,關cache和關mmu,關看門狗,初始化時鐘,串列埠,記憶體,初始化棧空間,清bss。跳轉到第二階 段。第二階段 硬體的初始化,讀取環境變數,將核心從emmc載入到記憶體中,呼叫核心 kernel...

分析Android 根檔案系統啟動

在android系統啟動時,核心引導引數上一般都會設定 init init 這樣的話,如果核心成功掛載了這個檔案系統之後,首先執行的就是這個根目錄下的init程式。這個程式所了什麼呢?我們只有rfsc read the ing source code init程式原始碼在android官方原始碼的s...

系統啟動掛載根檔案系統時Kernel panic

製作了根檔案系統,在啟動之後停在這裡了 net registered protocol family 1 net registered protocol family 17 vfs mounted root cramfs filesystem readonly.freeing init memory...