Linux开机流程
1.读完BIOS 之后,会先去读取第一個开机硬盘的第一個扇区(就是master boot record, MBR 囉!)
2. 读取MBR 的Kernel Loader …ex lilo, grub, spfdisk..
1. 开机的核心都在/boot 底下,kernel 名称通常就是/boot/vmlinuz-xxxx 的格式
3. 载入 Kernel 的操作系统核心信息
4.Kernel run init 程序并取得run-level 信息;
1.心执行的第一个程序就是/sbin/init
2.并由/etc/inittab 取得系统登入状态:(目标是确定主机以怎样的情況登入)
3. init 执行/etc/rc.d/rc.sys init 檔案;
4. 档案的內容包括了==>设定序设路径( PATH )、
1.设設定主机名称、
2.执行/etc/sysconfig/network 所记录的网络信息、
1.(系統会再去读取/etc/sysconfig/network,并将该项档案内的数据,如NETWORKING, FORWARD_IPV4, HOSTNAME, DOMAINNAME, GATEWARY, GATEWAYDEV 等等的设定读入系統中)
3.
1.啟動系統的置換空間(簡單的可以想成是虛擬內存): swapping
2. 檢查檔案系統:這個時候系統會去檢查一些可能會存在的目錄,例如/fsckoptions 與/forcfsck 及/fastboot 等等的目錄
4.掛載/proc 這個保存在內存當中的主機基本訊息、( 他的主要功能是記錄主機的一些接口設備的最新數據狀況! 例如網絡周邊啦、輸入輸出周邊啦等等的)
5.以及其它幾個Linux 操作系統最基本的幾個信息
1. 設定Plug and Play ( PNP )的一些參數數據;
2.清除/etc/mtab ;
3.mount root 及/proc 檔案系統:好了,將一些數據都設定好之後,當然就是需要將數據寫下來囉! 這個時候就會將root 與/proc 數據給他mount 上檔案系統啦!
4.決定是否使用模塊, 加載模塊
5.檢查檔案系統:與前面相同的,當前面的/fastboot 檢查的旗標開啟之後,就會以fsck 檢查你的其它扇區囉!( 使用fsck )
6.==============================
7.設定console 字型
8.打開quota
9. 清除不必要的檔案, 如lock, pid
10.設定clock
11.serial port 初始化
12.將開機訊息經由dmesg 放入/var/log/dmesg 中
5. 啟動核心的外掛式模塊(/etc/modules.conf);
1.那麼如果系統原本找不到的模塊( 例如早期的via-rhine 芯片組) 就可以在這個檔案裡面/etc/modules.conf 寫入呢
6.init 執行run-level 的各個批次檔( Scripts );
7. init 執行/etc/rc.d/rc.local 檔案;
8.執行/bin/login 程序;
9.登入之後開始以Shell 控管主機。