在多數(shù)計算機上,從Linux啟動到進入系統(tǒng)的命令行或者圖形界面時間并不長。嵌入式Linux啟動過程中都做了什么工作,會展現(xiàn)出一個功能強大的系統(tǒng),本文分析Linux系統(tǒng)啟動過程。學(xué)習(xí)和掌握Linux啟動的過程對了解Linux內(nèi)核工作流程有很大幫助。Linux系統(tǒng)初始化可以分成兩大部分:內(nèi)核初始化和系統(tǒng)初始化。本文分析從打開電源開關(guān)到進入用戶界面Linux系統(tǒng)的工作過程。
嵌入式linux啟動過程
1、嵌入式linux啟動第一步--加載BIOS
當(dāng)你打開計算機電源,計算機會首先加載BIOS信息,BIOS信息是如此的重要,以至于計算機必須在最開始就找到它。這是因為BIOS中包含了CPU的相關(guān)信息、設(shè)備啟動順序信息、硬盤信息、內(nèi)存信息、時鐘信息、PnP特性等等。
2、嵌入式linux啟動第二步--讀取MBR
眾所周知,硬盤上第0磁道第一個扇區(qū)被稱為MBR,也就是Master Boot Record,即主引導(dǎo)記錄,它的大小是512字節(jié),里面存放了預(yù)啟動信息、分區(qū)表信息。系統(tǒng)找到BIOS所指定的硬盤的MBR后,就會將其復(fù)制到0×7c00地址所在的物理內(nèi)存中。其實被復(fù)制到物理內(nèi)存的內(nèi)容就是Boot Loader,而具體到電腦,就是lilo或者grub了。
3、嵌入式linux系統(tǒng)啟動第三步--Boot Loader
Boot Loader 就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核做好一切準(zhǔn)備。系統(tǒng)讀取內(nèi)存中的grub配置信息(一般為menu.lst或grub.lst),并依照此配置信息來啟動不同的操作系統(tǒng)。
4、嵌入式linux啟動第四步--加載內(nèi)核
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |