歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> AIX多用戶模式啟動過程

AIX多用戶模式啟動過程

日期:2017/2/28 14:53:36   编辑:Linux教程

一般情況下,系統正常啟動時,會直接進入到多用戶模式,也就是正常(Normal)模式下,為應用程序正常運行做好了准備。

把機器前面板上的鑰匙扳到Normal位置時,或者在機器啟動過程中不按任何鍵,就會讓系統從硬盤啟動。當用戶打開機器電源(冷啟動)或通過shutdown熱啟動來重啟系統時,要經過一系列的處理過程才能為用戶准備好系統。這個啟動過程分為三個階段:

只讀存儲器(Ros)內核初始化階段(Read Only Storage Kernel Init Phase)

基本設備配置階段,即rc.boot第一引導階段。

系統引導階段,包括rc.boot的第2和第3個引導階段

ROS內核初始化階段:

以基於pci的rs/6000機器為例,ROS內核初始化階段包括下面幾個步驟。

(1)首先由OCS調用微處理器檢查系統的主板是否有問題,然後將控制權交給只讀存儲器ROS,執行系統加電自檢。

(2)ROS初始化載入程序(IPL)檢查用戶自定義引導設備列表,如果用戶自定義引導列表不正確或者沒有找到引導設備,就會檢查默認的引導列表。無論使用哪一個引導列表,只會在引導列表中找到第一個設備用來引導系統。如果在NVRAM中找到了引導列表,將檢查位於總線上的所有適配器和設備。無論是否找到自定義引導列表,將繼續循環檢查設備,直到找到一個能夠用於啟動系統的設備為止。

(3)當找到第一個可以引導的設設備後,就會檢測引導設備上第一個記錄或物理扇區號(PSN)。如果它是合法的引導記錄,則把它讀入內存,並附加到初始裝入程序的控制塊上。然後根據引導記錄中包含的引導邏輯卷(BLV)長度和BLV地址把BLV裝入內存。

(4)從引導設備中順序地引導邏輯卷(即引導鏡像)讀入到內存,建立RAM文件系統。引導邏輯卷有內核、一個RAM文件系統和基本用戶設備信息組成。

(5)控制權移交給在RAM文件系統中開始系統初始化的內核。

(6)系統初始化的內核運行Init程序(其進程號為1),init進程繼續去執行rc.boot腳本第一個引導階段。

至此,結束了硬件檢測階段。

基本設備配置階段:

到現在為止,系統已經完成硬件檢測,找到BLV,建立起RAM文件系統,啟動了RAM文件系統中的進程init,但是rootvg還沒有被激活。從現在開始,MCA機器和PCI機器的引導過程完全相同。

rc.boot第一個引導階段主要完成基本設備配置,它是由RAMFS上的init進程執行帶1參數的rc.boot程序。這個階段的工作過程如下:

RAMFS中PID為1的init進程 --->執行rc.boot的第1引導階段----->執行cfgmgr -f 配置基本設備 ----->執行bootinfo -b 命令

rc.boot第一個引導階段包括下面的步驟:

一、RAMFS(RAM文件系統)中的init進程執行引導腳本rc.boot 1.在這個過程中,rc.boot程序調用restbase命令,把引導邏輯卷上簡單的ODM數據庫復制到RAMFS。如果這個操作失敗,則會在LED上顯示548;

二、然後rc.boot程序執行cfgmgr -f命令,讓cfgmgr從簡化的ODM數據庫中讀取Config_Rules類。在congfig_rules類中,屬性phase為1的設備被認為是基本設備,基本設備是為訪問rootvg所需的全部設備。rc.boot1 這個階段執行cfgmgr命令來配置基本設備,以方便在下一個rc,boot階段能夠激活rootvg;

三、在rc.boot第一個引導階段最後,執行bootinfo -b命令來檢測最後一次引導設備,這時LED顯示511;

rc.boot第二個引導階段

RAMFS中的進程init接著執行帶2的參數的rc.boot程序,進入到rc.boot的第二個引導階段,這個階段的工作過程如下:

執行ilp_varyon命令來激活rootvg ----> 安裝/dev/hd4文件系統 ----->安裝/usr文件系統---->安裝/var文件系統;執行/copycore命令;卸載/var文件系統----->執行swapon命令,以激活/dev/hd6----->執行mergedev命令把RAMFS中的/dev復制到磁盤----->用cp Cu* /mnt /etc/objrepos命令把RAMFS中的ODM復制到磁盤----->卸載/usr文件系統和/dev/hd4 ---->安裝/文件系統;然後再安裝/usr和/var文件系統---->把引導信息復制到alog中

Copyright © Linux教程網 All Rights Reserved