ARM Linux啓動流程分析

看到大佬們都寫的這麼好,給大家收集一下:

Linux內核啓動分三個階段

1、解壓縮

2、檢查架構相關

3、start_kernel C 語言環境

關於以下幾篇文章一些名詞(我的理解)

1、鏈接地址  (虛擬地址)         這是一個虛擬地址,對於32位cpu(虛擬地址空間的範圍 0 - 4G)

通過arch/arm/kernel/vmlinux.lds中開始部分就可以看到

 . = 0x80000000 + 0x00008000;       代碼段起始地址 這是一個虛擬地址

2、運行地址   (物理地址)        真實存在在DDR中的地址

在沒有開啓MMU之前,我們是不可能運行在虛擬地址空間上的,啓動之前,我們肯定需要在DDR中運行它

1、自解壓階段

ARM Linux啓動流程分析——內核自解壓階段        實例方式講解

ARM linux解析之壓縮內核zImage的啓動過程           這個很厲害

ARM Linux 3.10.61 的啓動 —— (一)解壓縮階段     這個有很多圖的

2、跟架構檢查相關的

ARM Linux啓動流程分析——start_kernel前啓動階段(彙編部分)     實例方式講解

設備樹學習(四、內核head.S對uboot傳參的處理)                           講的很詳細

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章