linux 啓動流程

  • 電源

  • 讀取BIOS

    BIOS包含cpu的相關信息,設備啓動順序,硬盤,內存,時鐘,pnp特性

  • 讀取MBR

    第0磁道第一扇區 MBR Master Boot Record 主引導記錄,512字節,包含預啓動,分區表信息

    系統找到BIOS指定的MBR,將其複製到0x7c00地址所在的物理內存中,其實內容就是Boot Loader

  • boot loader

    初始化硬件設備,建立內存空間的映射圖,爲最終調用操作系統內核做好一切準備

    包括:Grub,Lilo和spfdisk

    Grub配置信息(menu.lst或grub.lst),依照此配置信息來啓動不同的操作系統

  • 加載內核

    根據grub設定的內核映像所在路徑,系統讀取內存映像,並進行解壓操作。此時,屏幕輸出“Uncompressing Linux"。當解壓縮內核完成後,輸出“OK,booting the kernel"

    系統將解壓後的內核置在內存中,並調用start_kernel()函數來啓動一系列的初始化函數並初始化各種設備,完成Linux核心環境的建立。

  • inittab,運行級別

    第一個運行的程序是/sbin/init,該文件讀取/etc/inittab。並依據此文件進行初始化工作

    /etc/inittab主要作用是誰都能夠Linux的運行級別

  • init進程執行rc.sysinit

    linux系統執行的第一個用戶層文件/etc/rc.d/rc.sysinit腳本程序

    他的工作包括:設定PATH、設定網絡配置(/etc/sysconfig/network)、啓動swap分區、設定/proc

    具體可以查看/etc/rc.d中 查看rc.sysinit文件

  • 啓動內核模塊

    依據/etc/modules.conf文件或/etc/modules.d目錄下的文件來裝載內核模塊

  • 執行不同級別的腳本程序

    運行rc0.d到rc6.d的相應的腳本程序,來完成相應的初始化工作和啓動相應的服務

  • 執行etc/rc.d/rc.local

    打開此文件,你對此命令一目瞭然

    rc.local是在一切初始化工作後,給用戶進行個性化的地方,你可以把你想設置或啓動的放這裏

  • 執行/bing/login 進入登錄狀態

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