(1)、處理uboot傳入的參數:機器ID、啟動參數 0、判斷是否支持這個CPU 1、判斷是否支持這個單板 2、建立頁表 3、使能MMU,uboot啟動內核時傳入的機器ID 4、調到start_kernel,第一個c函數 (2)、鏈接:根文件系統(tǒng) (3)、最終目的:應用程序
======================================================================= 內核啟動流程: arch/arm/kernel/head.s start_kernel setup_arch // 解析u-boot傳入的啟動參數 setup_commond_line // retset_init kernel_init prepare_namespace mount_root // 掛載跟文件系統(tǒng) init_post // 執(zhí)行應用程序 ====================================================================== 內核啟動流程分析: 1、內核打補丁、編譯、燒寫、試驗 2、內核功能、結構,結合Makefile、Kconfig進行分析 1)配置 2)分析Makefile:第一個文件、鏈接腳本 3、內核啟動過程分析 1)比較機器ID 2)解析uboot傳入的啟動參數 3)掛載根文件系統(tǒng)、執(zhí)行第一個應用程序 4)分區(qū) ===================================================================== 1、uboot:啟動內核 2、內核:啟動應用程序 3、構建:根文件系統(tǒng) ====================================================================== busybox ===================================================================== init進程 1)讀取配置文件 2)解析配置文件 3)執(zhí)行(腳本程序) |
|