linux操作系統啟動流程和光盤鏡像制作
阿新 • • 發佈:2018-11-24
loader table RoCE pat 所有 相關 validator stage linux. 1、簡述linux操作系統啟動流程
定制kickstart 文件:
POST (加電自檢):自檢主要硬件設備如:CPU、內存、硬盤是否正常,以及輸入輸出設備是否存在問題等。 BIOS(Boot Sequence):BIOS(基本的輸入輸出系統)裝載在硬件芯片CMOS之上,自檢時會啟動這個程序,並根據CMOS上的配置信息去讀取其他的硬件信息,檢測正常之後進行硬件設備的初始化。 讀取MBR:引導加載程序,在MBR(主引導記錄)中,主要功能是識別,加載系統的核心文件,並提交到內存中運行來啟動對應的系統。 Kernel運行:Kernel會自身初始化,探測可識別的硬件設備,Kernel是存在硬盤之中的,但是在內核啟動時還沒有加載硬盤,為了解決這個問題Kernel內核通過ramdisk(虛擬文件系統)來加載硬件程序,為防止根文件系統加載時出現bug等問題無法挽回的情況,以只讀方式來掛載根文件系統,來完成跟文件系統的初始化。 init運行:在內核、硬件及驅動信息加載完畢後,內核會運行用戶空間的第一個應用程序:/sbin/init.包括系統的主機名、網絡管理、文件系統格式等其他服務。 默認運行級別、系統初始化、關閉及啟動服務、啟動終端(圖形終端): 運行級別:為了系統的運行或維護等目的而設定的機制; 0-6:7個級別; 0、關機, shutdown 1、單用戶模式(single user),root用戶,無須認證;維護模式; 2、多用戶模式(multi user),會啟動網絡功能,但不會啟動NFS;維護模式; 3、多用戶模式(mutli user),完全功能模式;文本界面; 4、預留級別:目前無特別使用目的,但習慣以同3級別功能使用; 5、多用戶模式(multi user), 完全功能模式,圖形界面; 6、重啟,reboot 默認級別:3, 5 級別切換:init # 級別查看: who -r runlevel 系統初始化腳本:/etc/rc.d/rc.sysinit (1) 設置主機名; (2) 設置歡迎信息; (3) 激活udev和selinux; (4) 掛載/etc/fstab文件中定義的所有文件系統; (5) 檢測根文件系統,並以讀寫方式重新掛載根文件系統; (6) 設置系統時鐘; (7) 根據/etc/sysctl.conf文件來設置內核參數; (8) 激活lvm及軟raid設備; (9) 激活swap設備; (10) 加載額外設備的驅動程序; (11) 清理操作; 系統初始化時運行的腳本在/etc/rc.d/rc.sysinit配置文件中;關閉及啟動服務意味著啟動或關閉/etc/rc.d/rc#.d/目錄下的服務腳本所控制的服務,最後就是啟動終端(圖形終端)了
2、簡述grub啟動引導程序配置及命令行接口詳解
grub的三個階段:
stage 1:運行bootloader主程序,這個程序必須要被安裝在MBR中
stage 1_5:在MBR隨後的扇區中存放,主要用於與stage2所在分區的文件系統進行交互
stage 2:讀取 grub.conf 配置文件,並實現引導功能的擴展
grub配置文件:/boot/grub/grub.conf
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常用的指令:
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文件制作與光盤鏡像制作
[root@silasszl ~]# yum install system-config-kickstart
檢查語法錯誤:
[root@silasszl ~]# ksvalidator anaconda-ks.cfg
準備目錄,復制光盤內容到該目錄中:
[root@silasszl ~]# mkdir /tmp/cdrom
[root@silasszl ~]# mkdir /media/cdrom
[root@silasszl ~]# mount -r -t iso9660 /dev/cdrom /media/cdrom
[root@silasszl ~]# cp -r /media/cdrom/ /tmp/cdrom/
[root@silasszl ~]# cd /tmp/cdrom/
[root@silasszl cdrom]# cd cdrom/
[root@silasszl ~]# chmod u+w isolinux/*
將ks.cfg文件拷貝到/tmp/cdrom中
[root@silasszl cdrom]# cp /root/ks.cfg /tmp/cdrom
創建iso鏡像
[root@silasszl cdrom]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso cdrom/
linux操作系統啟動流程和光盤鏡像制作