Linux學習第六周作業
第一步:加電自檢
這個步驟中,CPU在通電後會自動到指定位置找一段代碼執行加電自檢動作。
第二步:啟動BIOS
加載Bootloader程序,這個階段可以分為三步:1、運行GRUB第一階段,這個階段的作用是運行一個程序加載GRUB的程序代碼。2、由於GURB的程序代碼在磁盤上,第1.5階段就是掛載GRUB所在分區讀取GRUB程序代碼 第二階段就是運行GRUB程序並啟動內核程序。
第三步:內核加載
第一步探測可識別的所有硬件設備
第二步加載硬件設備驅動程序(有可能需要借助ramdisk)
第三步以只讀的方式掛在根文件系統(防止內核將根文件系統破壞,當系統運行正常後再以讀寫方式掛載)
第四步運行用戶空間的第一個應用程序/sbin/init
第四步:設置默認運行級別
第五步:運行系統初始化操作
1、設置主機名
2、設置歡迎信息
3、激活udev和selinux
4、掛載/etc/sysctl.conf文件的設置,來設定內核參數
5、檢測根文件系統,並以讀寫方式重新掛載根文件系統
6、設置系統時鐘
7、根據/etc/sysctl.conf文件的設置,來設定內核參數
8、激活LVM及RAID設備
9、加載額外設備的驅動程序
10、清理操作
第六步:關閉、啟動對應級別下要停止的服務
第七步:設置登錄終端
第八步:啟動圖形界面(可選)
2、通過現有系統,添加第二塊硬盤,在該硬盤上安裝grub及相關程序,可以讓第二塊硬盤成為其他設備的啟動盤(CentOS6)
第一步向現有系統添加硬盤
第二步 將新添加的硬盤進行分區處理
一共分為三個分區:一個用於boot分區,一個用於swap分區,一個用於root根分區
第三步 將分區格式化
在安裝grub的過程中,grub程序必須匹配boot目錄,所以/dev/sdb1的掛載點必須是以/boot結尾的路徑,現在演示的路徑為/tmp/boot
將用於根分區的分區掛載到/tmp/sysroot目錄上
第四步 在設備上安裝grub
現在簡單講下grub-install的命令
--root-directory的參數主要是為了指明boot目錄的父目錄,grub-install會在指定的父目錄裏找到boot目錄並安裝grub程序。
最後的/dev/sdb是指定grub安裝的磁盤設備。
現在來看看安裝了grub之後的/tmp/boot目錄
第五步 現在grub程序有了,需要將內核文件復制到/tmp/boot目錄下
第六步 創建或者修改/tmp/boot/grub/grub.config的配置文件
一般使用現有系統的配置文件進行改動
改的結果是這樣的。
必須要寫selinux=0 和 init=/bin/bash(如果沒有啟動程序,需要直接運行bash的情況下)
第七步 配置根文件系統創建必須要的目錄,目錄裏可以沒有文件,但是需要有目錄
第八步 將想要運行的程序的二進制文件和庫文件都拷入到相應的目錄中,通過ldd命令查看命令執行需要的庫文件
第九步 通過切換根進行簡單的應用測試
第十步 將新增的硬盤用於其他設備的啟動盤
3、制作一個kickstart文件以及一個引導鏡像。描述其過程。
Kickstart是Anaconda程序的配置文件,裏面記錄了Anaconda的執行過程的參數。Kickstart文件的生成有三種方式:1、在手動安裝完系統後在root的家目錄下就會有一個anaconda-ks.cfg的文件 2、通過system-config-kickstart命令生成 3、通過現有的kickstart文件來改
System-config-kickstart程序需要先安裝才能使用
上面這個就是kickstart-config-start程序的界面。
制作一個引導鏡像文件需要包含幾個重要的文件。
需要將光盤鏡像中的isolinux目錄封裝到引導鏡像中。
通過下面的命令去封裝鏡像文件
mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS6-test" -c isolinux/boot.cat -b isolinux/isolinux.bin -o /boot-test1.iso /boot-test/
最後一個參數/boot-test/是isolinux/xxx文件的父目錄。
Linux學習第六周作業