一、硬件上電
二、一級啟動:bootROM
Boot ROM是廠商都無法進行更改,固化在芯片內部的ROM;
作用:確定用于啟動的設備;從啟動的設備的位置搬移一小段代碼(4k/8k/16k)到RAM中運行,即SPL;
三、二級啟動:SPL+uboot
1.SPL: Secondary Program Loader:
作用:初始化DDR;從啟動的設備搬移第二段代碼到RAM中,加載uboot;(有些SoC是將bootloader復制到RAM后,再進行DDR初始化;)
2.uboot: Universal boot loader:
U-Boot從啟動設備上面讀取、分析環境變量獲得kernel和rootfs存儲位置,以及所需的kernel command line;自動檢測系統RAM和eMMC/Nand Flash容量和參數;設置以太網口MAC地址,并配置好硬件準備加載Linux kernel;加載Linux kernel到RAM,至此系統控制權則轉移到kernel來處理;
四、Linux Kernel
系統Kernel初始化Linux,加載rootfs,最后啟動’init’來初始化Linux user space
五、不同的OS
補充:
一個嵌入式Linux系統從軟件的角度看通常可以分為四個層次:1、 引導加載程序。包括固化在固件(firmware)中的boot代碼(可選),和BootLoader兩大部分。(bootROM,uboot)
2、Linux內核。特定于嵌入式板子的定制內核以及內核的啟動參數。(linux kernel)
3、 文件系統。包括根文件系統和建立于Flash內存設備之上文件系統。通常用ramdisk來作為rootfs。
4、 用戶應用程序。特定于用戶的應用程序。有時在用戶應用程序和內核層之間可能還會包括一個嵌入式圖形用戶界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。
BootLoader是一段小程序,主要功能是引導操作系統啟動。可以把它想象成PC機Linux上的GRUB/LILO引導程序,只不過在嵌入式linux中,沒有BIOS,而是直接從flash中運行,來裝載內核。它可以初始化硬件設備,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統做好準備
-
嵌入式
+關注
關注
5082文章
19123瀏覽量
305151 -
Linux
+關注
關注
87文章
11304瀏覽量
209483
原文標題:嵌入式Linux OS啟動流程,了解一下!
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論