OpenBoot
2007/5/23更新
対応バージョン: 3
以下の手順でdiag-switch?システム変数をtrueに設定してマシンをブートする。
okプロンプトに移行
diag-switch?システム変数をtrueに設定
ok printenv Variable Name Value Default Value : diag-switch? false false ok setenv diag-switch? true
電源OFF
数秒後に電源ON
→ セルフテストが始まる。処理時間は数分程度。
セルフテストが終了するとマシンのブートが始まるのでテストの結果を表示したい場合はブート開始時に「Stop」+「A」にてokプロンプトに移行し、show-post-resultsコマンドを実行する
→ 数行の出力があるが、最初の行に0と出力されていればエラーなし
diag-switch?システム変数がtrueのままだと毎回ブート時にセルフテストが行なわれるのでfalseに戻す
ok setenv diag-switch? false ok reset-all ← 設定をNVRAMに書き込む
2007/5/23更新
対応バージョン: 3
システム変数一覧
システム変数には以下のようなものがある(括弧内はデフォルト値)。
auto-boot? (true)
自動ブートの指定。
trueの場合、電源投入/リセット時にシステムが自動的に起動する。
boot-command (boot)
auto-boot?がtrueの場合に実行されるコマンドを指定する。
boot-device (disk net)
起動するデバイスのエイリアス名を指定する。
boot-file (空白)
起動するプログラムに渡される引数を指定する。
この変数を使用する場合にはdiag-switch?の値がfalseである必要がある。
boot-fileの使用例を示す。
ok setenv boot-file kernel/unix ← 32bitモードで起動する場合 ok setenv boot-file kernel/sparcv9/unix ← 64bitモードで起動する場合 ok setenv boot-file kadb /kernel/unix ← kadbモードで起動する場合
diag-device (net)
診断モードの際の起動デバイスを指定する。
diag-file (空白)
診断モードで起動するプログラムに渡される引数を指定する。
diag-level (min)
実行される診断レベル(minまたはmax)を指定する。
diag-switch? (false)
trueの場合、診断プログラムが実行される。
fcode-debug? (false)
trueの場合、追加デバイスFCodeの名前フィールドを取り入れる。
input-device (keyboard)
電源投入時の入力デバイスを指定する(その他ttya、ttybなど)。
keymap (no default)
キーボードカスタマイズ用のキー割当を指定する。
nvramrc (空白)
NVRAM起動スクリプトを指定する。
oem-banner (空白)
カスタムOEMバナーである(oem-banner?がtrueで使用可能になる)。
oem-banner? (false)
trueの場合、カスタムOEMバナーを使用する。
output-device (screen)
電源投入時の出力デバイスを指定する(その他ttya、ttybなど)。
use-nvramrc? (false)
trueの場合、システム起動時にnvramrcのコマンドを実行する。
システム変数表示/変更方法
システム変数は以下のコマンドを使用して表示/変更することができる。
PROM上の場合
システム変数の設定値を表示する
ok printenv [変数]
システム変数の値を設定する。
ok setenv [変数] [値]
指定された変数をデフォルト値に戻する。
ok set-default [変数]
全ての変数をデフォルト値に戻する。
ok set-defaults
OSが起動している場合
システム変数の設定値を表示する。
# eeprom [変数]
システム変数の値を設定する。
# eeprom [変数]=[値]
2007/5/23更新
対応バージョン: 3
以下のコマンドを使用する。
show-devs
システムに認識されている全てのデバイス名を表示する。
show-displays
フレームバッファのデバイス名を表示する。
show-nets
ネットワークインタフェースのデバイス名を表示する。
2007/5/23更新
対応バージョン: 3
以下のコマンドが使用できる。
尚、bannerコマンド以外は一部のバージョンのOpenBootファームウェアのみで利用可能である。
banner
電源投入時のバナーを表示する。
enet-addr
NICのMACアドレスを表示する。
version
PROMのバージョン及び日付を表示する。
idprom
ID PROMの内容を見やすく整形して表示する。
2007/5/23更新
対応バージョン: 3
以下の手順で作業する。
現在の標準出力(output-device)を確認する
システムの標準出力先はPROMのoutput-device変数で指定できるのでまず現在の設定を確認する。
ok printenv output-device output-device = screen
デフォルトの設定ではscreenというエイリアス名が設定されている。
以下のコマンドでscreenに対応するフレームバッファのデバイス名を確認する。
ok devalias screen screen /pci@1f,0/pci@5/TSI,gfxp@2
使用できるフレームバッファの一覧を表示し、出力結果から標準出力に設定するフレームバッファを選択する
ok show-displays a) /pci@1f,0/pci@5/TSI,gfxp@2 ← 現在の出力先 b) /pci@1f,0/pci@5/SUNW,m64B@1 q) NO SELECTION Enter Selection, q to quit:b ←ここで選択する。
選択したデバイスをコンソールデバイスとして設定する
ok setenv output-device <「Control」+「Y」>
設定内容を確認する
ok printenv output-device output-device = /pci@1f,0/pci@5/SUNW,m64B@1
システムをリセットして設定を反映させる
ok reset
設定を元に戻したい場合は以下のようにoutput-deviceの値を変更する
ok setenv output-device <screenまたはその他のデバイス名> ok reset
2007/5/23更新
対応バージョン: 3
OpenBootファームウェアはデフォルトでdisk、cdrom、screen、netなどのエイリアスが定義されているが、nvaliasコマンドを使用するとユーザがデバイスパスのエイリアスを設定することが可能である。
ok nvalias <エイリアス名> <デバイスパス>
尚、エイリアスの設定内容を確認するコマンドはdevaliasである。
nvaliasを設定するとnvramrc変数に設定した内容が入り、use-nvramrc?変数が自動的にデフォルトのfalseからtrueに変更される。
これによりPROMの起動時にnvramrcに設定されているnvaliasが実行され、設定したエイリアスが使えるようになる。
また、nvaliasの設定を解除するには以下のコマンドを実行すればよい。
ok nvunalias <エイリアス名>
この設定はシステムのリセット後に反映される。