歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

嵌入式Linux 啟動過程

嵌入式Linux啟動過程包括四個部分。

1,Uboot執行,加載內核load kernel。

2,內核解壓。decompress kernel

3,內核啟動,加載驅動。 boot kernel

4,Init進程,文件系統掛載,系統配置,加載圖形界面。init  & mount FS & etc configure & GUI init

Uboot就是bootloader,用來初始化內核區域,內核鏡像加載到RAM

下面是第1,2,3步內部匯編過程。

請看arch/arm/boot/compressed/Head.S 中的匯編代碼。(我研究的Head.S的內核路徑,你的可能不是,大同小異。例如Header_32.S)

初始化一個臨時內核棧

用0初始化內核數據,位於_edata 和_end位置之間。

arch/arm/boot/compressed/misc.c 中decompress_kernel來解壓內核鏡像。解壓縮的內核執行,打印出你熟悉的Uncompressing Linux...OK booting the kernel。

第4部沒啥說的。

Copyright © Linux教程網 All Rights Reserved