OpenBoot 2.x コマンド・リファレンスマニュアル

第 2 章 システムの起動とテスト

この章では、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 に固有のオプションで、システムによって異なります。)


注 -

デバイス名の指定を必要とする (boottestなどの) 多くのコマンドには、フルデバイスパス名、デバイスの別名のどちらを指定してもかまいません。このマニュアルでは、どちらの場合に対しても、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)

フロッピードライブ 

この表の sd0sd1 などは、これらのデバイスを記述するために Solaris(R) 1.x オペレーティング環境で使用されていた用語です。The Solaris 2.x では、表 2-3に示すように異なっています。

表 2-3 Solaris オペレーティング環境の別名

別名 

Solaris 1.x での名前

Solaris 2.x での名前 

diskdisk0

sd0

c0t3d0s0

disk1

sd1

c0t1d0s0

disk2

sd2

c0t2d0s0

disk3

sd3

c0t0d0s0

診断の実行

いくつかの診断ルーチンが Forth モニターで使用できます。これらのオンボードテストでは、ネットワークコントローラ、フロッピーディスクシステム、メモリー、装着されている SBus カード、SCSI デバイス、システムクロックなどのデバイスの機能を確認できます。ユーザーがインストールするデバイスは、そのファームウェアに自己診断機能があればテストできます。

表 2-4に診断テスト用コマンドの一覧を示します。device-specifier は、デバイスパス名またはデバイスの別名を意味します。

表 2-4 診断テストコマンド

コマンド 

説明 

probe-scsi

組み込み SCSI バスに接続されているデバイスを確認します。 

probe-scsi-all [device-path]

システムの、指定したデバイスツリーノードの下にインストールされているすべての SCSI バスに対して probe-scsiを実行します。(device-path を指定しないと、ルートノードが使用されます。)

test device-specifier

指定したデバイスの自己診断テストを実行します。例を示します。 

test floppy : フロッピードライブが接続されている場合、テストします。

test /memory : NVRAM 変数 selftest-#megs で指定される M バイト数をテストします。 または diag-switch?true の場合は全メモリをテストします。

test net : ネットワーク接続をテストします。

test-all [device-specifier]

指定したデバイスツリーノードの下の (組み込みセルフテスト方法を備える) すべてのデバイスをテストします。(device-specifier を指定しないと、ルートノードが使用されます。)

watch-clock

時計機能をテストします。

watch-net

ネットワークの接続を監視します。 

SCSI バスのテスト

組み込み SCSI バスに接続されているデバイスの機能を確認するには、次のように入力します。


ok probe-scsi 
Target 1
  Unit 0  Disk  SEAGATE ST1480  SUN04246266
    Copyright (C) 1991 Seagate All rights reserved 
Target 3
  Unit 0  Disk  SEAGATE ST1480  SUN04245826
    Copyright (C) 1991 Seagate All rights reserved 

ok

システムに接続されているすべての SCSI バスをテストするには、次のように入力します。


ok probe-scsi-all
/iommu@f,e0000000/sbus@f,e0001000/esp@3,200000
Target 6
  Unit 0  Disk  Removable Read Only device   SONY   CD-ROM CDU-8012 3.1d

/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000
Target 1
  Unit 0  Disk  SEAGATE ST1480  SUN04246266
    Copyright (C) 1991 Seagate All rights reserved 
Target 3
  Unit 0  Disk  SEAGATE ST1480  SUN04245826
    Copyright (C) 1991 Seagate All rights reserved 

ok

応答は 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 コントローラのテスト

ボード上の 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 つずつ増えていきます。テストを停止するには任意のキーを押します。

ネットワークの監視

ネットワーク接続を監視するには、次のように入力します。


ok watch-net 
Internal Loopback test - succeeded
External Loopback test - succeeded
Looking for Ethernet packets.
'.' is a good packet. 'X' is a bad packet.
Type any key to stop
....................X.....X...............
ok 

システムはネットワークトラフィックを監視し、エラーのないパケットを受け取るたびに " . " を、また、ネットワークハードウェアインタフェースによって検出できるエラーがあるパケットを受け取るたびに X をそれぞれ表示します。


注 -

一部の OpenBoot 2.x システムにはこのテストワードがありません。


システム情報の表示

Forth モニターはシステム情報を表示するコマンドをいくつか備えています。それらのコマンドを表 2-5に示します。これらのコマンドでは、システムバナー、Ethernet コントローラの Ethernet アドレス、ID PROM の内容、OpenBoot ファームウェアのバージョン番号を表示できます。(ID PROM 内容は、シリアル番号、製造年月日、マシンに割り当てられている Ethernet アドレスを含む各マシン固有の情報です。)

表 2-5 システム情報表示コマンド

コマンド 

説明 

banner

電源投入時のバナーを表示します。

show-sbus

インストールされ、プローブされる SBus デバイスのリストを表示します。 

.enet-addr

現在の Ethernet アドレスを表示します。

.idprom

ID PROM の内容を書式付きで表示します。

.traps

SPARC のトラップタイプのリストを表示します。 

.version

起動 PROM のバージョンと日付を表示します。

デバイスツリー表示コマンドも参照してください。


注 -

オペレーティングシステムを停止し 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 コマンドの実行が必要なことがあります。