この章では、SPARC や x86 システムでブートするのに使用するハードウェア、および各プラットホームのブートプロセスの概要を説明します。
この章の内容は次のとおりです。
システムのブート手順については、第 8 章「SPARC システムのブートの手順」または、第 9 章「Intel:x86 システムのブートの手順」を参照してください。
SPARC システムごとに、「モニター」と呼ばれるプログラムを格納している PROM (プログラム可能な読み取り専用メモリー) チップがあります。モニターは、カーネルが使用される前に、システムの動作を制御します。システムをオンにすると、モニターはシステムのハードウェアやメモリーなどを検査するセルフテスト手順を実行します。エラーが検出されなければ、システムは、自動ブートプロセスを開始します。
Solaris システムが動作する前に、以前のシステムの一部には PROM アップグレードが必要なものもあります。詳細については、購入先にお問い合わせください。
ブート PROM フェーズ |
ブート PROM は、セルフテスト診断を実行する。 | ||||||
ブート PROM は、bootblock プログラムを読み込む。 |
|
| |||||
ブートプログラムフェーズ |
ブートブロックプログラムは、ufsboot プログラムを読み込む。 | ||||||
ufsboot プログラムが読み込まれてから、ブート PROM はカーネルを読み込む。 |
|
| |||||
カーネル初期設定フェーズ |
カーネルが自身を初期設定し、ルート (/) ファイルシステムをマウントするのに必要なモジュールをロードする。 |
|
| ||||
init フェーズ |
カーネルが init プロセスを起動する。 | ||||||
init プロセスが実行制御スクリプトを起動する。 |
|
| |||||
|
|
表 10-2 は、前のページで図示した SPARC ブートプロセスについて説明しています。
表 10-2 SPARC: SPARC ブートプロセスの説明
ブートフェーズ |
説明 |
---|---|
ブート PROM |
1. PROM は、システム識別情報を表示し、セルフテスト診断を実行してシステムのハードウェアとメモリーを検査する。 |
|
2. PROM は一次ブートプログラム bootblk を読み込む。このプログラムの目的は、デフォルトのブートデバイスから ufs ファイルシステムにある二次ブートプログラムを読み込むことにある。 |
ブートプログラム |
3. bootblk プログラムは二次ブートプログラム ufsboot を検索して実行し、それをメモリーに読み込む。 |
|
4. ufsboot プログラムが読み込まれたあと、ufsboot プログラムはカーネルを読み込む。 |
カーネルの初期設定 |
5. カーネルが自身を初期設定し、ファイルの読み込みに ufsboot を使ってモジュールのロードを開始する。カーネルはルートファイルシステムをマウントするのに十分なモジュールをロードすると、/ufsboot プログラムの対応づけを解除し、それ自身のリソースを使って動作を続ける。 |
init |
6. カーネルがユーザープロセスを作成し、/sbin/init プロセスを起動する。このプロセスは /etc/inittab ファイルを読んで他のプロセスを起動する。 |
7. /sbin/init プロセスが実行制御 (rc) スクリプトを起動し、このスクリプトは一連の他のスクリプトを実行する。それらのスクリプト (/sbin/rc*) はファイルシステムをマウントして検査し、いろいろなプロセスを開始し、システム保守作業を実行する。 |
カーネルが起動される前は、システムは、PC 上のファームウェアインタフェースである、読み取り専用メモリー (ROM) の Basic Input/Output System (BIOS) によって制御されます。
ハードウェアアダプタにオンボード BIOS を搭載することができ、それによってデバイスの物理的特性を表示したり、デバイスにアクセスしたりすることができます。
起動シーケンスの間、PC の BIOS はアダプタ BIOS があるかどうか調べ、あれば、それぞれをロードして、実行します。アダプタの BIOS はそれぞれセルフテスト診断を実行して、デバイス情報を表示します。
x86 システムをブートするには、「Solaris Boot Option」画面を使用して、システムをブートする方法を指定します。
接続されたデバイスを識別したり、ネットワークまたはローカル CD-ROM ドライブからブートするには、さらに、Configuration Assistant/Boot フロッピーディスクを使います。
表 10-3 で、x86 システムのすべてのレベルをブートするのに使用する 3 つのブートインタフェースを説明します。
表 10-3 x86: x86 ブートサブシステム
ブートサブシステム |
このサブシステムメニューが表示するもの |
---|---|
Configuration Assistant/Boot (構成用補助) フロッピーディスク |
Solaris Device Configuration Assistant (構成用補助) は、システムに接続されているデバイスを識別する。 Boot Solaris 画面は、ディスク、ネットワーク、CD-ROM のようなブート可能なデバイスのリストを表示する。 |
Solaris ブートオプション画面 |
ブートオプションのリスト。このメニューから 5 秒以内にオプションを選ばないと、システムは自動的に実行レベル 3 になる。選択によりブートオプションか、ブートインタプリタを指定できる (boot(1M) のマニュアルページを参照)。 |
ブートプロセスの間、ブートサブシステムメニューは異なるデバイスとブートオプションを表示します。何回かタイムアウトになった後システムが応答を受信しない場合、デフォルトの選択を使って自動的にブートを継続します。ブートサブシステムメニューが表示されたときブートプロセスを停止するか、あるいは自動的に継続させることもできます。
以下の節では、各サブシステムの画面の例を示します。画面表示はシステム構成によって異なります。
構成補助フェーズ中、システムは、次の動作を行います。
接続されたデバイスの走査
識別されたデバイスの表示
ブートフェーズ中、システムは次の動作を行います。
ブートするデバイスのリストの表示。最初にリストされるデバイスが、デフォルトのブートデバイスです。
デフォルトのブートデバイスの変更を可能にする
各段階のデバイス構成の例を次に示します。デバイス出力は、各システム構成によって異なります。
このフェーズでは、構成補助はシステム上のデバイスを識別しようとします。
Solaris Device Configuration Assistant The Solaris(TM) 2.6 (Intel Platform Edition) Device Configuration Assistant scans to identify the devices on the system, lists identified devices, and enables you to boot the Solaris software from a specified device. This program must be used whenever you install the Solaris operating environment or change the hardware on the system. > To perform a full scan and identify all the devices on the system, choose Continue. > To perform a partial scan and identify only the automatically detected devices, choose Partial Scan. (Choose Partial Scan if a full scan has previously failed.) F2_Continue F4_Partial Scan F6_Help
このフェーズでは、システムに接続されているすべてのデバイスが走査されます。
Scanning Devices The system is being scanned to identify all devices on the system. If the scanning stalls, press the system's reset button. When the system reboots, choose Partial Scan or Help. Building driver list -- | | | | | | 0 20 40 60 80 100 Please wait ...
このフェーズでは、システムに接続されているすべてのデバイスが識別されます。
Identified Devices The following devices have been identified in this system. To identify devices that on not in this list, choose Device Tasks. ISA: Bidirectional parallel port ISA: Floppy disk controller ISA: IDE controller ISA: Intel EtherExpress network card ISA: Motherboard ISA: PS/2 mouse ISA: Serial controller ISA: Serial controller ISA: System keyboard ISA: VGA Compatible Display Adapter F2_Continue F3_Back F4_Device Tasks F5_Boot Solaris
このフェーズでは、ブートするデバイスを選択します。デフォルトのブートデバイスを変更するには、「Boot Task」オプションを選択します。
Select one of the identified devices to boot Solaris. > To make a selection, use the arrow keys, then press Enter to mark it [X]. Boot Solaris -------------------------------------------------------------------- [ ] DISK: IDE(ATA) QUANTUM FIREBALL1080A target: 0; port: 1F0-1F7, 3F6-3F7; irq: 14 [ ] NET : Intel EtherExpress network card port: 300-30F; irq: 5 Esc-2_Boot Solaris Esc-3_Back Esc-4_Boot Tasks Esc-6_Help
このフェーズでは、オプションを指定してシステムをブートできます。デフォルトでは、システムは実行レベル 3 になります。
<<< Current Boot Parameters >>> Boot path: /isa/ata@1f0,0/cmdk@0,0:a Boot args: Type b [file-name] [boot-flags] to boot with options or i to enter boot interpreter or to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter:
BIOS フェーズ |
PC BIOS がすべてのハードウェアデバイスの BIOS を読み込んで実行する。 | ||||||
BIOS ブートプログラムがマスタブートレコード mboot を読み込んで実行する。 |
|
| |||||
ブートプログラムフェーズ |
mboot が Solaris パーティションブートプログラム pboot を読み込む。 |
||||||
|
|
pboot が 一次ブートプログラム bootblk を読み込む。 |
|||||
|
|
bootblk が fdisk テーブルを読んでデフォルトのブートパーティションの位置を捜す。 |
|||||
|
|
bootblk が二次ブートプログラムを読み込む。 |
|||||
ufsboot が /etc/bootrc スクリプトを読んで、カーネルを読み込ませる。 |
|
| |||||
カーネル初期設定フェーズ |
カーネルが自身を初期設定して、ルート (/) ファイルシステムのマウントに必要なモジュールをロードする。 | ||||||
カーネルが init プロセスを起動する。 |
|
| |||||
|
| ||||||
init フェーズ |
init プロセスが実行制御スクリプトを起動する。 |
|
| ||||
|
|
表 10-5 は、前のページで図示した x86 ブートプロセスを説明します。
表 10-5 x86: x86 ブートプロセスの説明
ブートフェーズ |
説明 |
---|---|
BIOS |
1. システムをオンにすると、PC BIOS がセルフテスト診断を実行してシステムのハードウェアとメモリーを検査する。エラーが検出されなければ、システムは自動的にブートを開始する。エラーが検出されると、エラーメッセージが表示されて、復元オプションが示される。 追加のハードウェアデバイスの BIOS がここで実行される。 |
|
2. BIOS ブートプログラムが、ブートデバイス (フロッピーディスクかハードドライブ) から最初の物理セクタを読もうとする。ブートデバイス上のこの最初のディスクセクタにはマスタブートレコード mboot が格納されていて、これが読み込まれて実行される。mboot ファイルが見つからなかった場合は、エラーメッセージが表示される。 |
ブートプログラム |
3. mboot は、アクティブなパーティションを見つけるために必要なディスク情報と、Solaris ブートプログラム pboot の位置を格納していて、pboot を読み込んで実行する。 |
4. pboot が一次ブートプログラム bootblk を読み込む。このプログラムの目的は、ufs ファイルシステムにある二次ブートプログラムを読み込むことにある。 |
|
5. ブート可能なパーティションが複数ある場合、bootblk は fdisk テーブルを読んでデフォルトのブートパーティションの位置を捜し、利用可能なパーティションのメニューを表示する。この手順は、ブート可能なパーティションが複数ある場合しか行われない。 |
|
6. bootblk がルートファイルシステム内の二次ブートプログラム ufsboot を見つけて実行する。 |
|
7. ufsboot が、/etc/bootrc スクリプトを実行するコマンドインタプリタを起動する。このスクリプトは、システムブート用の選択メニューを表示する。デフォルトでは、カーネルを読み込んで実行する。 |
|
カーネル初期設定 |
8. カーネルが自身を初期設定し、ファイルの読み込みに ufsboot を使ってモジュールのロードを開始する。カーネルは、ルートファイルシステムのマウントに十分なモジュールをロードすると、ufsboot プログラムの対応づけを解除し、それ自身の資源を使って動作を続ける。 |
9.カーネルがユーザープロセス作成し、/sbin/init プロセスを起動する。このプロセスは /etc/inittab ファイルを読んで他のプロセスを起動する。 |
|
init |
10. /sbin/init プロセスが実行制御 (rc) スクリプトを開始し、このスクリプトは一連の他のスクリプトを実行する。それらのスクリプト (/sbin/rc*) はファイルシステムをマウントして検査し、いろいろなプロセスを開始し、システム保守作業を実行する。 |