OpenBoot の起動
OpenBoot は、&arch-title; アーキテクチャのブートに必要となる
基本的な機能を提供するものです。
これは x86 アーキテクチャに置ける BIOS と機能的には似ていますが、
ずっと優れています。
Sun のブート PROM には Forth のインタープリタが組み込まれており、
これを使うと診断や簡単なスクリプトの実行など、
コンピュータに対して様々なことが行えます。
ブートプロンプトを呼び出すには、Stop キー
(Type 4 キーボードより古いものでは L1 キー、
また PC キーボードアダプタを持っているなら Break キー)
を押しながら A キーを押してください。
ブート PROM は ok あるいは >
というプロンプトを表示します。
ok というプロンプトの方を好まれる方が多いようです。
古い方のプロンプトが表示された場合は、
n キーを押すと新しい方のプロンプトになります。
シリアルコンソールを使用している場合、マシンに break を送信してください。
Minicom では Ctrl-A F を使用します。
cu では Enter を押して、
%~break と入力してください。
その他のプログラムを使用している場合は、
その端末エミュレータの文書を参照してください。
ブートデバイスの選択
OpenBoot を使うと、特定のデバイスから起動したり、
デフォルトのブートデバイスを変更したりできます。
しかしこのためには、OpenBoot におけるデバイスの呼び方について、
ある程度詳しく知っておく必要があります。
これは、 で説明した
Linux におけるデバイスの命名法とはかなり異なっています。
またコマンドも OpenBoot のバージョンによって少々異なります。
OpenBoot に関するより詳細な情報は、
Sun OpenBoot Reference にあります。
新しい版では、たいていの場合
floppy
, cdrom
, net
,
disk
, disk2
などの OpenBoot デバイスが使えます。
それぞれ文字通りの意味です。
例えば net
デバイスはネットワークからの起動用です。
さらに、デバイス名では特定のディスク・特定のパーティションを
指定することもできます。
例えば第 2 ディスクの第 1 パーティションから起動するには
disk2:a
のように指定します。
OpenBoot の完全なデバイス名は以下のようになります。
driver-name@
unit-address:
device-arguments
OpenBoot の古い版では、デバイス名の付け方が若干異なります。
フロッピーデバイスは /fd
となり、
SCSI ディスクデバイスの形式は
sd(controller,
disk-target-id,
disk-lun)
となります。
新しい版の OpenBoot には
show-devs というコマンドがあり、
これは現在設定されているデバイスを見るのに便利です。
どの版を使うにせよ、完全な情報は
Sun OpenBoot Reference をご覧ください。
特定のデバイスから起動するには、
bootデバイス名
というコマンドを使ってください。
setenv コマンドを使えば、
その動作をデフォルトに設定することができます。
しかし設定する変数名は OpenBoot のリビジョンによって異なります。
OpenBoot 1.x では、
setenv boot-fromデバイス名
というコマンドを使います。
それ以降の版の OpenBoot では
setenv boot-deviceデバイス名
というコマンドを使います。
なおこの設定は、Solaris の eeprom コマンドを使ったり、
/proc/openprom/options/ の適当なファイルを変更して
行います。例として Linux からなら
# echo disk1:1 > /proc/openprom/options/boot-device
Solaris では以下のようにしてください。
eeprom boot-device=disk1:1