この章では、OpenBoot ファームウェアを使用して行う最も一般的な作業について説明します。次のような作業があります。
システムの起動
診断の実行
システム情報の表示
システムのリセット
OpenBoot ファームウェアの最も重要な機能はシステムを起動することです。起動とは、オペレーティングシステムなどのスタンドアロンプログラムをロードし、実行するプロセスのことです。電源を入れるとシステムは、通常、ユーザーの操作なしに自動的に起動します。必要な場合、ユーザーは OpenBoot コマンドインタプリタから明示的に起動処理を開始できます。自動起動では、不揮発性 RAM (NVRAM) で指定されるデフォルトの起動デバイスが使用されます。ユーザーが開始する起動では、デフォルトの起動デバイスか、ユーザーが指定する起動デバイスが使用されます。
システムをデフォルト起動デバイスから起動するには、Forth モニターのプロンプトで次のコマンドを入力します。
ok boot |
制限付きモニターのプロンプトでシステムを起動するには、次のように入力します。
> b |
boot コマンドの構文は次のとおりです。
boot [device-specifier] [filename] [options]
boot コマンドのオプションの変数を表 2-1で説明します。
表 2-1 bootコマンドの一般的オプション
変数名 |
説明 |
---|---|
[device-specifier] |
起動デバイス名 (フルパス名または別名)。例を示します。 cdrom (CD-ROM ドライブ) disk (ハードディスク) floppy (3.5 インチフロッピーディスクドライブ) net ( Ethernet ) tape (SCSI テープ) |
[filename] |
起動するプログラムの名前 (たとえば stand/diag)。 filename は選択するデバイスとパーティションのルートからのパス名とします。filename を指定しないと、起動プログラムは boot-file NVRAM 変数の値 (第 3 章参照) を使用します。 |
[options] |
-a - デバイスと起動ファイル名を聞いてきます。 -h - プログラムを読み込み後、停止します。 (これらは OS に固有のオプションで、システムによって異なります。) |
デバイス名の指定を必要とする (boot や testなどの) 多くのコマンドには、フルデバイスパス名、デバイスの別名のどちらを指定してもかまいません。このマニュアルでは、どちらの場合に対しても、device-specifier という表記を使用します。
明示的に内部ディスクから起動するには (ディスクフルシステムの場合)、次のように入力します。
ok boot disk |
明示的に Ethernet から起動するには、次のように入力します。
ok boot net |
制限付きモニタープロンプトで起動デバイスを指定するには、次の例に示すように、起動デバイスの名前を指定して bコマンドを使用します。
> b disk (ディスクフルシステム用の内部ディスクから明示的に起動する場合) > b net (Ethernet から明示的に起動する場合) |
デバイスの別名定義はシステムによって異なります。システムの別名の定義を知るには、第 1 章「概要」で説明したdevaliasコマンドを使用します。表 2-2は、デバイスの別名と、SPARCstation 2 および SPARCstation IPX システムでのデバイス別名の定義の例です。見出しの「旧パス」は、対応する SBus デバイスに対する OpenBoot バージョン 1.x での指定形式を示します。
表 2-2 代表的デバイスの別名
別名 |
起動パス |
旧パス |
説明 |
---|---|---|---|
disk |
/sbus/esp/sd@3,0 |
sd(0,0,0) |
デフォルトディスク (第 1 内部ディスク) |
disk0 |
/sbus/esp/sd@3,0 |
sd(0,0,0) |
第 1 内部ディスクsd0 |
disk1 |
/sbus/esp/sd@1,0 |
sd(0,1,0) |
第 2 内部ディスク sd1 |
disk2 |
/sbus/esp/sd@2,0 |
sd(0,2,0) |
外部ディスク sd2 |
disk3 |
/sbus/esp/sd@0,0 |
sd(0,3,0) |
外部ディスク sd3 |
tape |
/sbus/esp/st@4,0 |
st(0,0,0) |
第 1 テープドライブ st0. |
tape0 |
/sbus/esp/st@4,0 |
st(0,0,0) |
第 1 テープドライブ st0 |
tape1 |
/sbus/esp/st@5,0 |
st(0,1,0) |
第 2 テープドライブ st1 |
cdrom |
/sbus/esp/sd@6,0:c |
sd(0,6,2) |
CD-ROM パーティションc |
cdroma |
/sbus/esp/sd@6,0:a |
sd(0,6,0) |
CD-ROM パーティション a |
net |
/sbus/le |
le(0,0,0) |
Ethernet |
floppy |
/fd |
fd(0,0,0) |
フロッピードライブ |
この表の sd0、sd1 などは、これらのデバイスを記述するために Solaris(R) 1.x オペレーティング環境で使用されていた用語です。The Solaris 2.x では、表 2-3に示すように異なっています。
表 2-3 Solaris オペレーティング環境の別名
別名 |
Solaris 1.x での名前 |
Solaris 2.x での名前 |
---|---|---|
disk と disk0 |
sd0 |
c0t3d0s0 |
disk1 |
sd1 |
c0t1d0s0 |
disk2 |
sd2 |
c0t2d0s0 |
disk3 |
sd3 |
c0t0d0s0 |
いくつかの診断ルーチンが Forth モニターで使用できます。これらのオンボードテストでは、ネットワークコントローラ、フロッピーディスクシステム、メモリー、装着されている SBus カード、SCSI デバイス、システムクロックなどのデバイスの機能を確認できます。ユーザーがインストールするデバイスは、そのファームウェアに自己診断機能があればテストできます。
表 2-4に診断テスト用コマンドの一覧を示します。device-specifier は、デバイスパス名またはデバイスの別名を意味します。
表 2-4 診断テストコマンド
組み込み SCSI バスに接続されているデバイスの機能を確認するには、次のように入力します。
システムに接続されているすべての SCSI バスをテストするには、次のように入力します。
応答は SCSI バスに接続されているデバイスによって異なります。
インストールされている 1 つのデバイスをテストするには、次のように入力します。
ok test device-specifier |
これは、指定したデバイスノードの (selftest という名前の) デバイステスト方法を実行します。応答はデバイスノードの自己診断テストの方法によって異なります。
インストールされているデバイスのグループをテストするには、次のように入力します。
ok test-all |
デバイスツリーのルートノードの下のすべてのデバイスがテストされます。応答は、各デバイスの自己診断テストの方法によって異なります。test-all コマンドに device-specifier オプションを使用すると、指定したデバイスツリーノードの下のすべてのデバイスがテストされます。
フロッピーディスクドライブのテストは、フロッピーディスクドライブが正しく機能するかどうかを調べます。このテストを実行するには、フロッピーディスクドライブにフォーマット済みの高密度 (HD) ディスクをセットしておかなければなりません。
フロッピーディスクドライブをテストするには、次のように入力します。
ok test floppy Testing floppy disk system. A formatted disk should be in the drive. Test succeeded. ok |
このテストが失敗した場合は、エラーメッセージを参照してください。
フロッピーディスクを取り出すには、次のように入力します。
ok eject-floppy ok |
このコマンドが失敗する場合は、紙クリップを伸ばしてディスクスロットの近くの小さな穴に差し込んで、フロッピーディスクを取り出せます。
メモリーテストルーチンを使用すると、システムは NVRAM のシステム変数 selftest-#megs で指定した M バイト数のメモリーをテストします。(NVRAM のシステム変数についての詳細は、第 3 章「システム変数の設定」を参照してください。) デフォルトでは 1 M バイトのメモリーがテストされます。ハードウェア診断スイッチ (システムにある場合) 、NVRAM のシステム変数 diag-switch? のどちらかが有効にしてある場合は、全メモリーがテストされます。
メモリーをテストするには、次のように入力します。
ok test /memory Testing 16 megs of memory at addr 4000000 11 ok |
上記の例で、最初の数値 (4000000) はテストの基底アドレスであり、その次の数値 (11) はテストされる M バイト数です。
PROM がシステムをテストするにはしばらく時間がかかります。システムがこのテストに失敗した場合は、エラーメッセージが表示されます。
ボード上の Ethernet コントローラをテストするには、次のように入力します。
ok test net Internal Loopback test - (result) External Loopback test - (result) ok |
システムはテストの結果を示すメッセージを表示して応答します。
システムが Ethernet に接続されていない場合は、このテストの外部ループバック部分が失敗します。
ok watch-clock Watching the'seconds' register of the real time clock chip. It should be ticking once a second. Type any key to stop. 1 ok |
数値が 1 秒毎に 1 つずつ増えていきます。テストを停止するには任意のキーを押します。
システムはネットワークトラフィックを監視し、エラーのないパケットを受け取るたびに " . " を、また、ネットワークハードウェアインタフェースによって検出できるエラーがあるパケットを受け取るたびに X をそれぞれ表示します。
一部の OpenBoot 2.x システムにはこのテストワードがありません。
Forth モニターはシステム情報を表示するコマンドをいくつか備えています。それらのコマンドを表 2-5に示します。これらのコマンドでは、システムバナー、Ethernet コントローラの Ethernet アドレス、ID PROM の内容、OpenBoot ファームウェアのバージョン番号を表示できます。(ID PROM 内容は、シリアル番号、製造年月日、マシンに割り当てられている Ethernet アドレスを含む各マシン固有の情報です。)
表 2-5 システム情報表示コマンド
コマンド |
説明 |
---|---|
banner | |
インストールされ、プローブされる SBus デバイスのリストを表示します。 |
|
.enet-addr | |
SPARC のトラップタイプのリストを表示します。 |
|
.version |
デバイスツリー表示コマンドも参照してください。
オペレーティングシステムを停止し banner と入力し、次にシステムを再起動すれば、カラーテーブルが変更されてしまうことがあります。Solaris 2.0 以前の OS でこのカラーテーブルを復元するためには、clear_colormap を実行し、次に Utilities メニューから Refresh を選択します。Solaris 2.0 または 2.1 のオペレーティング環境に復元するには、Properties... メニューから ColorChooser を選択します。
場合により、システムをリセットすることが必要になることがあります。reset コマンドはシステム全体をリセットします。これは、電源再投入 (パワーサイクル) を行うのと同じです。
システムをリセットするには、次のように入力します。
ok reset |
リセット時にパワーオン自己診断テスト (POST) および初期化手続きを実行するようにシステムを設定してある場合は、このコマンドを起動すると、それらの手続きの実行が開始されます。(システムによっては、電源投入後に POST だけが実行されます。) POSTが終了すると、電源再投入後と同様に、システムは自動的に起動するか、Forth モニターに入ります。
デバイスツリーをブラウズしていた場合は、システムをリセットする前に device-end コマンドの実行が必要なことがあります。