1. 程式人生 > >linux操作系統啟動流程,實現kickstart文件制作與光盤鏡像制作

linux操作系統啟動流程,實現kickstart文件制作與光盤鏡像制作

spl enc 圖片 登錄 交互式 引導啟動 system 內核模塊 ini

1、 簡述linux操作系統啟動流程
  • 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的版本分為

  1. grub 0.X (grub legacy)
  2. 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文件所在的分區路徑,而不是”根分區”;其格式為;

kernel: 通常是用於指定要運行的內核文件路徑,如:/vmlinuz-2.6.32-642.el6.x86_64;另外也可在其後設置相關的內核參數,如:ro表示只讀,root表示指定根分區所在路徑,關閉selinux等等;
initrd: 為內核運行指定其可用的ramdisk文件,其版本須和內核版本一致;

grub程序的功能

1提供引導菜單,並提供交互式的命令行接口;在菜單界面,按e可進入編輯模式,用於編輯菜單,按c可進入命令行模式。

  1. 加載用戶選擇的內核或操作系統,並允許傳遞相應的內核參數給內核;可選擇隱藏此菜單
  2. 為菜單提供保護機制,可 編輯菜單 設置認證 為啟用內核 操作系統進行認證, 在系統開啟過程中,有幾秒的過渡頁面,可按任意鍵進入菜單頁面

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文件制作與光盤鏡像制作