先介紹下簡要的一啓動順序:
- BIOS或啓動固件加載並運行引導裝載程序
- 引導裝載程序在磁盤上找到內核映像並裝載到內存中啓動
- 內核初始化設備及其初始程序
- 內核掛載root文件系統
- 內核用PID 1 來運行init,用戶空間此時開始啓動
- init啓動其他系統進程
- init通常在最後啓動一個用於用戶登錄的進程
Linux引導裝載程序的核心功能
- 從多個內核中選一個使用
- 從多個內核參數集中選一個使用
- 允許v用戶手動更改內核映像名稱和參數
- 允許支持其他操作系統使用
再介紹一下Linux內核初始化過程
- 檢查CPU
- 檢查內存
- 檢測設備總線
- 檢測設備
- 設置附加內核子系統(如網絡等)
- 掛載root目錄
- 啓動用戶空間
命令 | 意義 |
---|---|
dmesg | 檢測或控制內核緩衝區,默認輸出內核緩衝區的內容 |
porc/cmdline | 系統啓動時使用的內核參數,其中的 ro 參數代表以只讀模式掛載文件系統 |
boot/grub/grub.cfg | grub的核心配置文件 |
grub-mkconfig | 生成新的配置文件,默認輸出已有的配置文件 |