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 のようにします。