啟動過程包含下面的一些步驟:
啟動一個系統的初始步驟是上電自檢Power On Self Test,POST)。其目的是驗證基本硬體是否處於正常的工作狀態。同時初始化記憶體、鍵盤、通訊,以及音訊裝置。您可以看到在螢幕上顯示了所有的這些裝置。在這個步驟中,您可以按下功能鍵,以選擇不同的啟動列表。這個階段中所顯示的 LED 值是模型特定的。硬體和軟體方面的問題都可能使得系統無法啟動。
注意:基於 MCI 體繫結構的舊系統在這個步驟之前還將執行一個附加的步驟,即所謂的內建自檢Built In Self Test,BIST)。對於基於 PCI 體繫結構的系統,不再需要執行這個步驟。
系統唯讀記憶體System Read Only Storage,ROS)對於每種類型的系統來說都是特定的。它是啟動 AIX 5L Version 5.3 所必需的,但是它並不為啟動工作構建所需的資料結構。它將定位和載入引導 bootstrap) 代碼。系統 ROS 中包含通用的啟動資訊,並且是獨立於作業系統的。
軟體 ROS也稱為引導程式)構成了 IPL 控制塊,它與 AIX 5L Version 5.3 是相容的,用於接收控制和構建 AIX 5L 的特定啟動資訊。將在記憶體中定位一種特殊的檔案系統,並建立一種名為 RAMFS 的檔案系統。然後,軟體 ROS 定位、載入、並將控制權交給 AIX 5L 啟動邏輯卷 BLV)。軟體 ROS 是基於電腦類型的 AIX 5L 資訊,並且負責完成電腦準備工作,以使得它能夠啟動 AIX 5L 核心。
可以從 /usr/lib/boot 目錄中獲得 BLV 中所包含的檔案的完整列表。其中最重要的組件包含以下內容:
oAIX 5L 核心
o在啟動過程中調用的啟動命令,如 bootinfo 和 cfgmgr
oODM 的一個簡化的版本。在 hd4 可供使用之前,需要對許多裝置進行配置,所以它們的相應方法必須儲存在 BLV 中。這些裝置都被標記為預定義裝置 PdDv) 中的基礎裝置。
orc.boot 指令碼
載入 AIX 5L 核心,並接管控制權。系統將在 LED 面板上顯示 0299。前面所有的代碼都是與硬體相關的。通過配置裝置和啟動 init 進程,核心將完成啟動過程。在這個階段中所顯示的 LED 代碼都是通用的 AIX 5L 代碼。
到此為止,系統對硬體進行了檢測、找到了 BLV、建立了 RAMFS,並且從 BLV 中啟動了 init 進程。但是尚未啟用 rootvg。從現在開始,將調用三次 rc.boot 指令碼,並且每次都傳遞不同的參數。
啟動階段 1
在這個階段中,將執行下面的步驟:
從 RAMFS 啟動的 init 進程將執行啟動指令碼 rc.boot 1。如果出於某種原因,init 進程執行失敗,那麼將在 LED 顯示屏上顯示代碼 c06。
在這個階段中,將調用 restbase 命令,以便將 ODM 的部分鏡像從 BLV 複製到 RAMFS。如果這個操作成功完成,那麼 LED 顯示屏將顯示 510;否則,將顯示 LED 代碼 548。
在執行了該操作之後,cfgmgr -f 命令將從簡化的 ODM 中讀取 Config_Rules 類。在這個類中,將屬性 phase=1 的裝置認為是基礎裝置。基礎裝置是訪問 rootvg 所需的所有裝置。例如,如果 rootvg 位於某塊磁碟中,那麼必須對從主板到磁碟之間的所有裝置進行初始化。調用相應的方法,以便能夠在啟動階段 2 中啟用 rootvg。
在啟動階段 1 結束後,將調用 bootinfo -b 命令以確定最後的啟動裝置。在這個階段中,LED 將顯示 511。
啟動階段 2
在啟動階段 2 中,向 rc.boot 指令碼傳遞的參數為 2。
在這個階段中,將執行下面的這些步驟:
可以使用 varyonvg 命令名為 ipl_varyon 命令)的特殊版本來啟用 rootvg 卷組。如果這個命令執行成功,那麼系統將顯示 517;否則,將顯示下面 LED 代碼中的某一個:552、554、或者 556,並且停止啟動過程。
使用 fsck -f 命令來檢查根檔案系統 hd4。該操作將驗證在上一次關機之前是否已經乾淨地卸載了這個檔案系統。如果這個命令執行失敗,那麼系統將顯示代碼 555。
將根檔案系統 /dev/hd4) 裝入到 RAMFS 中的臨時掛接點 /mnt)。如果這個操作執行失敗,那麼在 LED 顯示屏中將顯示 557。
使用 fsck -f 命令檢查 /usr 檔案系統,然後進行裝入。如果這個操作執行失敗,那麼 LED 將顯示 518。
使用 fsck -f 命令檢查 /var 檔案系統,然後進行裝入。使用 copycore 命令檢查是否發生了轉儲。如果發生了轉儲,那麼從預設傾印裝置 /dev/hd6 複製到預設複製目錄 /var/adm/ras。然後,卸載 /var。
啟用 rootvg 的主分頁空間 /dev/hd6。
調用 mergedev 進程,並將 RAM 檔案系統的所有 /dev 檔案複製到磁碟。
將 RAM 檔案系統中所有自訂的 ODM 檔案複製到磁碟。對於 hd4 和 hd5 中的兩個 ODM 版本,現在進行同步。
最後,將 rootvg磁碟)中的根檔案系統裝入到 RAMFS 的根檔案系統。rootvg 檔案系統的掛接點已變得可用。現在,再次將 rootvg 的 /var 和 /usr 檔案系統裝入到它們的正常掛接點。
在這個階段中,不能使用控制台,所以所有的啟動訊息都將複製到 alog。alog 命令可以對日誌進行維護和管理。
啟動階段 3
在階段 2 完成之後,啟用了 rootvg,並將執行下面的步驟:
啟動 /etc/init 進程。它將讀取 /etc/inittab 檔案,並使用參數 3 調用 rc.boot。
裝入 /tmp 檔案系統。
通過調用 syncvg 命令將該命令啟動作為一個後台進程)對 rootvg 進行同步。因此,將對 rootvg 中所有過時的分區進行更新。在這個階段中,將顯示 LED 代碼 553。
在這個階段中,將調用 cfgmgr 命令;如果系統以正常模式進行啟動,那麼將使用選項 -p2 來調用 cfgmgr 命令;如果系統以服務模式進行啟動,那麼將使用選項 -p3 來調用 cfgmgr 命令。cfgmgr 命令將從 ODM 讀取 Config_rules 檔案,並且調用與 phase=2 或者 phase=3 相對應的所有方法。所有其他非基礎裝置的裝置,並不在這裡進行配置。
接下來,通過調用 cfgcon 命令對控制台進行配置。在配置了控制台之後,如果沒有設定 STDOUT 重新導向,那麼啟動訊息將發送到控制台。然而,可以在 /var/adm/ras/conslog 中找到所有遺漏的訊息。此時,可能顯示的 LED 程式碼封裝括:
oc31:控制台尚未配置。提供相應的指令以選擇控制台。
oc32:控制台是 LFT 終端。
oc33:控制台為 TTY。
oc34:控制台為磁碟中的檔案。
最後,使用 savebase 命令對 BLV 中的 ODM 與 / root) 檔案系統中的 ODM 進行同步。
啟動 syncd 守護進程和 errdemon。
LED 顯示屏將關閉。
如果檔案 /etc/nologin 存在,則將其刪除。
如果 CuDv 中有裝置被標記為缺失,那麼將在控制台中顯示一條訊息。
訊息“System initialization completed”發送到控制台。rc.boot 執行完成。進程 init 將繼續處理 /etc/inittab 中的下一條命令。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html