この章では、SPARC や IA システムでブートするのに使用するハードウェア、および各プラットホームのブートプロセスの概要を説明します。
この章の内容は次のとおりです。
システムのブート手順については、第 10 章「SPARC: システムのブート (手順)」または、第 11 章「IA: システムのブート (手順)」を参照してください。
SPARC システムごとに、「モニター」と呼ばれるプログラムを格納している PROM (プログラム可能な読み取り専用メモリー) チップがあります。モニターは、カーネルが使用される前に、システムの動作を制御します。システムをオンにすると、モニターはシステムのハードウェアやメモリーなどを検査するセルフテスト手順を実行します。エラーが検出されなければ、システムは、自動ブートプロセスを開始します。
Solaris システムが動作する前に、以前のシステムの一部には PROM アップグレードが必要なものもあります。詳細は、ご購入先にお問い合わせください。
表 12-1 で、ブートプロセスについて説明します。
表 12-1 ブートプロセスの説明
ブートフェーズ |
説明 |
---|---|
ブート 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 はそれぞれセルフテスト診断を実行して、デバイス情報を表示します。
Solaris のブート時に、ブートシステムについて次の選択を行えます。
一次ブートサブシステム (「Partition Boot」メニュー) - この最初のメニューは、複数のオペレーティング環境がディスク上にある場合に表示されます。このメニューで、インストールされたどのオペレーティング環境からブートするかを指定できます。何も指定しなければ、デフォルトではアクティブなオペレーティング環境からブートします。
Solaris オペレーティング環境以外のオペレーティング環境からブートするように指定すると、次の 2 つのメニューは表示されません。
自動ブートプロセスへの割り込み - 自動ブートプロセスに割り込むと、Device Configuration Assistant (デバイス構成用補助) にアクセスできます。
Configuration Assistant を使用すると、Solaris システムを別のブートデバイスからブートしたり、新しいハードウェアの構成や構成変更が行え、またデバイスやブートに関連する作業を実行できます。
「Current Boot Parameters」メニュー - このメニューには 2 つの形式があります。1 つは、通常の Solaris ブート用で、もう 1 つは Solaris インストールブート用です。
通常の「Current Boot Parameters」メニューでは、オプションを付けて Solaris システムをブートしたり、ブートインタプリタを実行できます。
インストール用の「Current Boot Parameters」メニューでは、インストールの種類を選択したり、ブートをカスタマイズできます。
表 12-2 に、主な IA ブートインタフェースの目的を示します。以降の節では、各ブートサブシステムを詳細に説明し、例を示します。
表 12-2 ブートサブシステム
ブートプロセス中は、ブートサブシステムメニューは異なるデバイスとブートオプションを表示します。システムは何回かのタイムアウトの後で応答を受け付けなくなった場合、デフォルトの設定値を使って自動的にブートを継続します。ブートサブシステムメニューが表示されるたびに、ブートプロセスを停止することができます。また、自動的に継続させることもできます。
以下の節では、各サブシステムの画面の例を示します。
デバイスを識別する段階では、Device Configuration Assistant (デバイス構成用補助) は次の処理を実行します。
システムにインストールされているデバイスを走査する。
識別されたデバイスを表示する。
キーボードの選択やデバイスとその資源の編集などの追加作業を可能にする。
ブート中に、Configuration Assistant は次の処理を行います。
ブートするデバイスのリストを表示する。アスタリスク (*) が付いたデバイスがデフォルトのブートデバイスです。
自動ブートやプロパティ設定の編集、ネットワーク構成方針の選択などの追加作業を可能にする。
各段階のデバイス識別の例を次に示します。デバイス出力は、各システム構成によって異なります。
Configuration Assistant がシステム上のデバイスを識別するときに、いくつかのメニューが表示されます。
この画面は、Configuration Assistant をブートしてメニューにアクセスするたびに表示されます。Configuration Assistant はシステムがブートするたびに実行されますが、自動ブートプロセスはこのメニューを省略します。
Solaris Device Configuration Assistant The Solaris(TM) (Intel Platform Edition) Device Configuration Assistant scans to identify system hardware, lists identified devices, and can boot the Solaris software from a specified device. This program must be used to install the Solaris operating environment, add a driver, or change the hardware on the system. > To perform a full scan to identify all system hardware, choose Continue. > To diagnose possible full scan failures, choose Specific Scan. > To add new or updated device drivers, choose Add Driver. About navigation... - The mouse cannot be used. - If the keyboard does not have function keys or they do not respond, press ESC. The legend at the bottom of the screen will change to show the ESC keys to use for navigation. - The F2 key performs the default action. F2_Continue F3_Specific Scan F4_Add Driver F6_Help |
この画面は、Configuration Assistant が自動検出できるデバイスのハードウェア構成データを集めているときに一時的に表示されます。
Bus Enumeration Determining bus types and gathering hardware configuration data ... Please wait ... |
この画面は、特別なドライバだけで検出できるデバイスを Configuration Assistant が手動で走査しているときに表示されます。
Scanning Devices The system is being scanned to identify system hardware. If the scanning stalls, press the system's reset button. When the system reboots, choose Specific Scan or Help. Scanning: Floppy disk controller ####################### | | | | | | 0 20 40 60 80 100 Please wait ... |
この画面は、システムで識別されたデバイスを表示します。このメニューからは、Boot Solaris メニューに移動できます。また、キーボード構成の設定、デバイスの表示や編集、シリアルコンソールの設定、構成の保存や削除など、付加的な作業も実行できます。
Identified Devices The following devices have been identified on this system. To identify devices not on this list or to modify device characteristics, such as keyboard configuration, choose Device Tasks. Platform types may be included in this list. ISA: Floppy disk controller ISA: Motherboard ISA: PnP bios: 16550-compatible serial controller ISA: PnP bios: 16550-compatible serial controller ISA: PnP bios: Mouse controller ISA: PnP bios: Parallel port ISA: System keyboard (US-English) PCI: Bus Mastering IDE controller PCI: Universal Serial Bus PCI: VGA compatible display adapter F2_Continue F3_Back F4_Device Tasks F6_Help |
この段階では、システムをブートする方法を指定できます。
Solaris ブートメニューからは、Solaris リリースをブートするデバイスを選択できます。また、autoboot やプロパティ設定の表示や編集など、オプションの作業も実行できます。ブートデバイスを選択し、[Continue] を選択すると、Solaris カーネルがブートを開始します。
Boot Solaris Select one of the identified devices to boot the Solaris kernel and choose Continue. To perform optional features, such as modifying the autoboot and property settings, choose Boot Tasks. An asterisk (*) indicates the current default boot device. > To make a selection use the arrow keys, and press Enter to mark it [X]. [X] DISK: (*) Target 0:QUANTUM FIREBALL1280A on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1 [ ] DISK: Target 1:ST5660A on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1 [ ] DISK: Target 0:Maxtor 9 0680D4 on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1 [ ] CD : Target 1:TOSHIBA CD-ROM XM-5602B 1546 on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1 F2_Continue F3_Back F4_Boot Tasks F6_Help |
このメニューは、ローカルディスクから Solaris をブートするたびに表示されます。デフォルトの Solaris カーネルからブートしたい場合は、5 秒間のタイムアウトが経過するのを待ちます。別のオプションでブートしたい場合は、タイムアウト期間が経過する前に、適切なオプションを選択します。
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a Boot args: Type b [file-name] [boot-flags] <ENTER> to boot with options or i <ENTER> to enter boot interpreter or <ENTER> to boot with defaults <<< timeout in 5 seconds >>> Select (b)oot or (i)nterpreter: |
表 12-3 で、ブートプロセスについて説明します。
表 12-3 ブートプロセスの説明
ブートフェーズ |
説明 |
---|---|
BIOS |
1. システムの電源をオンにすると、PC BIOS がセルフテスト診断を実行してシステムのハードウェアとメモリーを検査する。エラーが検出されなければ、システムは自動的にブートを開始する。エラーが検出されると、エラーメッセージが表示されて、復元オプションが示される。 追加のハードウェアデバイスの BIOS がここで実行される。 |
|
2. BIOS ブートプログラムが、ブートデバイスの最初の物理セクターを読もうとする。ブートデバイス上のこの最初のディスクセクターにはマスターブートレコード mboot が格納されており、このレコードが読み込まれて実行される。mboot ファイルが見つからなかった場合は、エラーメッセージが表示される。 |
ブートプログラム |
3. mboot には、アクティブなパーティションと、Solaris ブートプログラム pboot の位置を見つけるのに必要なディスク情報が、格納されており、mboot は、pboot を読み込んで実行する。 |
4. pboot が一次ブートプログラム bootblk を読み込む。このプログラムは、ufs ファイルシステムにある二次ブートプログラムを読み込む。 |
|
5. ブート可能なパーティションが複数ある場合、bootblk は fdisk テーブルを読んでデフォルトのブートパーティションをさがし、利用可能なパーティションのメニューを表示する。ブートするパーティションを選択する際に、30 秒経過するとタイムアウトになる。これは、ブート可能なパーティションが複数ある場合にのみ発生する。 |
|
6. bootblk はルートファイルシステムで二次ブートプログラム boot.bin または ufsboot をさがし、実行する。Configuration Assistant を起動するときは、5 秒以内に自動ブートに割り込みをかける。 |
|
7. 二次ブートプログラム boot.bin または ufsboot が /etc/bootrc スクリプトを実行するコマンドインタプリタを起動する。ここでシステムのブート方法を選択するメニューが表示される。デフォルトでは、カーネルが読み込まれ、実行される。ブートオプションを指定したり、ブートインタプリンタを起動するときは、5 秒以内に行う。 |
|
カーネル初期設定 |
8. カーネルは二次ブートプログラム boot.bin または ufsboot を使用してファイルを読み取り、カーネル自身を初期化して、モジュールの読み込みを開始する。ルートファイルシステムをマウントするのに十分なモジュールをカーネルが読み込むと、二次ブートプログラムのマッピングを解除し、それ自身の資源を使用してブートを継続する。 |
9.カーネルはユーザープロセスを作成し、/sbin/init プロセスを起動する。このプロセスは /etc/inittab ファイルを読み込んで他のプロセスを起動する。 |
|
init |
10. /sbin/init プロセスは実行制御 (rc) スクリプトを開始し、このスクリプトが一連の他のスクリプトを実行する。それらのスクリプト (/sbin/rc*) はファイルシステムを検査、マウントし、さまざまなプロセスを実行して、システム保守作業を実行する。 |