1. Linux的開機流程分析
1.1 開機流程一覽
1. 加載BIOS硬體資訊,并檢測硬體,取得第一個可開機裝置
2. 讀取并執行第一個可開機裝置MBR内的boot loader
3. 依據boot loader加載kernel, kernel會偵測硬體并加載驅動程式.
4. 在硬體驅動成功後,kernel 會呼叫init程式,init 會取得run level 資訊.
5. inti 執行/etc/rc.d/rc.sysinit檔案來準備軟體運作的環境如網絡,時區等.
6. init 啟動對應的run levle 内的各個服務
7 . init 啟動登陸仿真程式來顯示登陸頁面.
1.2 BIOS,boot loader與kernel的載入
BIOS:檢測硬體,擷取可開機裝置,讀取MBR 執行boot loader
boot loader :呼叫kernel .
kernel:再次檢測硬體,呼叫init程式,并執行init.
1.3 第一支程式init 及配置檔案/etc/inittab與run level
init 程式準備軟體執行的環境,包括系統主機名,語系,網絡環境等
run level: 系統不同的level開啟不同的服務,個等級如下:
0:系統關機
1:單人維護模式
2:無網絡的文本模式
3:有網絡功能的文本模式
4:系統保留
5:X window 的啟動模式
6: 重新啟動
1.4 init 處理系統初始化流程
準備系統,網絡軟體環境.
1.5 啟動系統服務與相關啟動配置檔案
1.6 使用者自定義啟動程式
1.7 開機過程會用到的主要配置檔案
開機過程中會用到的配置檔案大多放置在/etc/sysconfig/目錄下.
1.8 run level的切換
執行 inti [0-6]
2. 核心與核心子產品
2.1 核心子產品與相依性
核心子產品放置目錄:/lib/modules/$(uname -r)/kernel
2.2 核心子產品的觀察
lsmod :列出系統已經存在的子產品資訊,
2.3 核心子產品的加載與移除
modprobe:先搜尋子產品相依性後才加載子產品.
3. Boot loader: grub
grup 配置檔案: /boot/grub/menu.lst