轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記

轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記

ID:30449583

大小:86.28 KB

頁數(shù):13頁

時間:2018-12-30

轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記_第1頁
轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記_第2頁
轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記_第3頁
轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記_第4頁
轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記_第5頁
資源描述:

《轉(zhuǎn)linux引導(dǎo)加載學(xué)習(xí)筆記》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、轉(zhuǎn)Linux引導(dǎo)加載學(xué)習(xí)筆記本文以是我的學(xué)習(xí)記錄,其中一些文字和圖片來自參考資料所列文檔,感謝作者對其知識和分享!最近在自學(xué)Linuxkernel方面的東西,這兩天了粗淺的研究了下kernelboot過程,在此記錄。這里所指Linux引導(dǎo)加載未涉及虛擬化環(huán)境,即系統(tǒng)未運行在hypervisor之上。Linux通過執(zhí)行不同階段的引導(dǎo)加載程序(bootloader)程序來引導(dǎo)操作系統(tǒng),在完成內(nèi)核等引導(dǎo)之后,最終會由調(diào)度器接管CPU,其通過啟用中斷來周期性的搶占控制權(quán),處理多個用戶進程/客戶進程(kvm虛擬化)。Toplevel的引導(dǎo)過程如下圖。整個Linux系統(tǒng)引導(dǎo)共分5步執(zhí)行操作

2、:BIOS/BootMonitor引導(dǎo)程序;BIOS包括POST和Runtime服務(wù)。被稱為第一階段的MBR(Masterbootrecord)引導(dǎo)程序;位于BIOS配置的啟動磁盤0柱面1扇區(qū)的主引導(dǎo)記錄,用于啟動第二階段的linuxbootloader。被稱為第二階段的linuxbootloader;主要有LILO(Linuxloader)和GNUGRUB(Grandunifiedbootloader)兩種bootloader程序,現(xiàn)主流為GRUB。包括了通過initrd來創(chuàng)建RAM盤,執(zhí)行init腳本,通過LKM(linuxkernelmodule)加載本地磁盤等驅(qū)動程序來

3、掛載磁盤中的root文件系統(tǒng)。RAM盤中是個完整的小型linux環(huán)境,在沒有磁盤的嵌入式環(huán)境中,initrd可以是最終的根文件系統(tǒng),也可以通過NFS來掛載最終的文件系統(tǒng)。linuxkernel(及initrd函數(shù))引導(dǎo);負責(zé)加載并解壓zImage/bzImagekernel及initrd映像,并開始執(zhí)行kernel初使化和引導(dǎo)程序/過程。init進程。用于啟動linux配置的各項用戶空間服務(wù)(demon)進程。加電后首先被執(zhí)行的是BIOS(Baseinput/outputsystem)程序。嵌入式環(huán)境使用bootmonitor,它負責(zé)在一個位于rom/flash中預(yù)定地址開始執(zhí)

4、行引導(dǎo)程序,而在PC環(huán)境中這個啟動地址是0xFFFF0,相對來講BIOS提供了更多的配置功能。它主要由兩部分組成:POST(PowerOnSelfTest)程序;其負責(zé)接通電源時對硬件檢測,包括創(chuàng)建中斷向量、設(shè)置寄存器、對一些外部設(shè)備進行初始化和檢測等。BIOSRuntime服務(wù);負責(zé)為操作系統(tǒng)提供一些基礎(chǔ)服務(wù),主要與IO外設(shè)有關(guān)。當BIOSPOST執(zhí)行完后,其將會從內(nèi)存中清理,而Runtime服務(wù)會常駐內(nèi)存,為操作系統(tǒng)提供一些底層的支持。最后BIOS將控制權(quán)交給稱為第一階段引導(dǎo)程序的MBR(Masterbootrecord)程序。接下來執(zhí)行的MBR是一個512byte固定大小

5、的映像。包括446byte長的被稱為初始程序加裁程序(Initialprogramloader,IPL)的可執(zhí)行代碼和64byte分區(qū)表(16byte*4個),最后以0xaa55特殊字節(jié)結(jié)束。如下圖所示。MBR引導(dǎo)程序會將掃描分區(qū)表,獲得唯一活動分區(qū)后,將其中的引導(dǎo)程序讀入RAM并開始執(zhí)行。MBR啟動的引導(dǎo)程序被稱為第二階段引導(dǎo)程序,它是引導(dǎo)的主體,是引導(dǎo)加載的真正部分。Linux中該階段有兩個流行的程序,LILO(較老)和GRUB。如果安裝了lilo程序,可以通過root用戶執(zhí)行如下命令來通過lilo生成默認配置的MBR,并寫入到啟動磁盤0柱面1扇區(qū)位置上。Shell代碼#/

6、sbin/lilo-v-v#/sbin/lilo-v-v一般需要修改lilo的配置文件,使生成的MBR有效。位于/etc/lilo.conf。lilo配置示例。Config代碼boot=/dev/hdamap=/boot/mapinstall=/boot/boot.bprompttimeout=100compactdefault=Linuximage=/boot/vmlinuz-2.4.18-14label=Linuxroot=/dev/hdb3read-onlypassword=linuxother=/dev/hdalabel=WindowsXPboot=/dev/hdama

7、p=/boot/mapinstall=/boot/boot.bprompttimeout=100compactdefault=Linuximage=/boot/vmlinuz-2.4.18-14label=Linuxroot=/dev/hdb3read-onlypassword=linuxother=/dev/hdalabel=WindowsXPboot鍵指定了lilo在哪里安裝MBR??梢酝ㄟ^替換boot=/dev/fd0配置來指定lilo創(chuàng)建有引導(dǎo)記錄的軟盤。LILO天生存在一些缺點和不

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。