linux操作系統啟動流程,實現kickstart文件制作與光盤鏡像制作
- POST:通電自檢;
- BIOS:BOIS自檢,加載硬盤;
- 讀取MBR,進行MBR引導;
- bootloader:grub引導菜單;
- 加載內核 Kernel(ramdisk) ;
- 啟動init進程,依據inittab文件設定運行級別;
- init進程,執行rc.sysinit文件;
- 啟動內核模塊,執行不同級別的腳本程序;
- 執行/etc/rc.d/rc.local;
- 啟動mingetty,進入系統登陸界面。
POST --> Boot Sequence(BIOS) --> Bootloader(MBR) --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init --> /etc/init, /etc/init/*.conf --> 設定默認運行級別 --> 系統初始化腳本 --> 關閉或啟動對應級別下的服務 --> 啟動終端並打印登錄提示符 --> (圖形桌面)
2、 簡述grub啟動引導程序配置及命令行接口詳解
grub的版本分為
- grub 0.X (grub legacy)
- grub 1.X (grub 2)
目前centos 5和centos 6使用的就是 grub legacy 版本 centos 7使用的是 grub2 版本的啟動引導程序
grub的三個階段
第1階段安裝在mbr扇區中;
第1.5階段在mbr之後的扇區,主要存放識別真正第2階段所在設備的文件系統驅動,文件系統模塊也可稱為文件系統驅動,要訪問就需要借助工具那麽這工具就叫驅動是統稱;
第2階段就是這個工具,放在/boot/grub/目錄下就叫做stage2文件,加載完stage2就能顯示菜單,從而用戶能執行高級操作,如grub菜單支持編輯功能,e進入編輯菜單,還支持保護2種加密(保護編輯和內核);
grub相關的配置文件
與grub相關的配置文件包括:/etc/grub.conf和/boot/grub/grub.conf /etc/grub.conf是指向/boot/grub/grub.conf的軟連接,grub程序在引導啟動時會讀取這個配置文件,並按照這個文件的配置參數引導啟動系統。
defaule: 表示有多個grub引導菜單時,選擇哪一個作為默認啟動引導菜單;
defaule=0:表示默認選擇第一個選項進行配置 ;
timeout: 表示選擇菜單的時間,如果過了這個時間沒有選擇則表示使用默認選項 ;
splashimage: 指定引導菜單中的背景圖片的路徑 ;
titile: 指定選項的名稱 ;
root: 表示kernel和initrd文件所在的分區路徑,而不是”根分區”;其格式為;
initrd: 為內核運行指定其可用的ramdisk文件,其版本須和內核版本一致;
grub程序的功能
1提供引導菜單,並提供交互式的命令行接口;在菜單界面,按e可進入編輯模式,用於編輯菜單,按c可進入命令行模式。
- 加載用戶選擇的內核或操作系統,並允許傳遞相應的內核參數給內核;可選擇隱藏此菜單
- 為菜單提供保護機制,可 編輯菜單 設置認證 為啟用內核 操作系統進行認證, 在系統開啟過程中,有幾秒的過渡頁面,可按任意鍵進入菜單頁面
grub的命令行接口
在菜單頁面按c即可進入命令行接口,在此命令行接口,我們可以配置相關的grub設置.
grub常用的指令有:
help:查看命令幫助;
root (DEVICE):指定系統和內核文件所在的分區,如root(hd0,0)。
find (hd0,0) /path/to/file:用於查找對應分區下的文件。常用於當不確認內核文件在哪個分區時,可使用此命令確認文件所在路徑;支持tab補全;
kernel /path/to/kernel_file:用於指定要運行的內核文件。
initrd /path/to/kernel_file:指定initrd文件;
boot:以當前配置好的grub配置啟動系統
3、 實現kickstart文件制作與光盤鏡像制作
kickstart文件制作流程
? 安裝制作kickstart文件的圖形界面工具
[root@gaohu ~]# yum install system-config-kickstart
? 開啟工具
[root@gaohu ~]# system-config-kickstart
? 在打開的圖形界面中通過file菜單選項選擇安裝過程中生成的/root目錄下的anaconda-ks.cfg作為默認配置,在此基礎上進行修改,配置內容包括:
1、基本配置
- 安裝過程中的默認語言
- 鍵盤類型
- 時區
- root用戶密碼
2、 安裝方法 - 安裝或升級
- 配置安裝源(CD-ROM、FTP、HTTP、NFS、Hard Drive)
3、引導裝載程序選項 - 是否需要安裝boot loader
- 給內核傳遞的參數(auto rhgb quite)
4、分區信息 - 是否清楚MBR
- 是否清除現有分區
- 是否需要初始化磁盤標簽
- 設定分區布局
5、網絡配置 - IP地址
- 子網掩碼
- 網關
- DNS
- 驗證
- 用戶登錄的認證方式
6、 防火墻配置 - 是否啟用
- 安全級別
7、顯示配置 - 是否啟用圖形界面
8、 軟件包選項 - 需要安裝哪些軟件包
9、 安裝前腳本
10、安裝後腳本 - 最後通過file菜單選項選擇ks.cfg的保存的位置
引導鏡像制作流程
? 創建myboot目錄
[root@gaohu ~]# mkdir myboot
? 復制/media/cdrom/isolinux/到myboot目錄
[root@gaohu ~]# cp -r /media/cdrom/isolinux/ myboot
? 賦予isolinux下文件寫權限
root@gaohu isolinux]# chmod u+w *
? 復制ks(ks.cfg)文件到/myboot/文件下
[root@gaohu ~]# cp ks.cfg /myboot/
? 創建光盤鏡像boot.iso,退出到myboot目錄之外
[root@gaohu ~]# mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6 x86_64 boot” -csolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/
linux操作系統啟動流程,實現kickstart文件制作與光盤鏡像制作