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

上級ユーザー向けの起動

起動はクライアントプログラムを読み込み実行するプロセスです。クライアントプログラムは、通常はオペレーティングシステムまたはオペレーティングシステムのローダプログラムですが、boot を使用して診断などその他の種類のプログラムを読み込み、実行することもできます。(オペレーティングシステム以外のプログラムの読み込みについての詳細は、第 5 章「プログラムの読み込みと実行」を参照してください。)

起動は、普通は、上記で説明した各システム変数の内容値に基づいて自動的に行われますが、ユーザーインタフェースからも開始できます。

OpenBoot は起動処理で次に示す手順を実行します。

多くの場合、起動処理によって読み込み、実行されるプログラムは二次起動プログラムであり、それはさらに別のプログラムを読み込みすることを目的とします。この二次起動プログラムは、OpenBoot が使用するものとは異なるプロトコルを使用して二次起動プログラムを読み込むことができます。たとえば、OpenBoot は簡易ファイル転送プロトコル (TFTP) を使用して二次起動プログラムを読み込むこともでき、さらに読み込まれた二次起動プログラムが今度はネットワークファイルシステム (NFS) を使用してオペレーティングシステムを読み込むこともできます。

一般的な二次起動プログラムには次の形式の引数を指定できます。

filename -flags

ここで、filename はオペレーティングシステムを格納しているファイルの名前であり、-flags は、二次起動プログラム、オペレーティングシステム、またはそれらの両方の起動フェーズの詳細制御用のオプションのリストです。すぐ次の boot コマンドのテンプレートに示すように、OpenBoot はそのようなテキストをすべて OpenBoot そのものには特別な意味をもたない、1 つの隠された arguments 文字列として取り扱うということ、つまり、引数文字列は変更されないでそのまま指定されたプログラムに渡されるということに注意してください。

boot コマンドの形式は次のとおりです。


ok boot [device-specifier] [arguments]

boot コマンドの省略可能な変数を表 2-1 で説明します。

表 2-1 boot コマンドの省略可能な変数

変数名 

説明 

[device-specifier]

起動デバイスの名前 (フルパス名または devalias)。一般的には次のような値が使用されます。

cdrom (CD-ROM ドライブ)

disk (ハードディスク)

floppy (3.5 インチフロッピーディスク)

net (Ethernet)

tape (SCSI テープ)

device-specifier を指定しないときに、diagnostic-mode? から false が返された場合は、bootboot-device システム変数によって指定されるデバイスを使用します。

device-specifier を指定しないときに、diagnostic-mode? から true が返された場合は、bootdiag-device システム変数によって指定されるデバイスを使用します。

[arguments]

起動するプログラム (たとえば stand/diag) の名前と任意のプログラム引数。

arguments を指定しないときに、diagnostic-mode? から false が返された場合は、bootboot-file システム変数によって指定されるファイルを使用します。

arguments を指定しないときに、diagnostic-mode? から true が返された場合は、bootdiag-file システム変数によって指定されるファイルを使用します。


注 -

デバイス名を必要とする大部分の (boottest などの) コマンドには、フルデバイス名でもデバイスの別名でも指定できます。本書では、device-specifier (デバイス指定子) という用語は、デバイスパス名でもデバイスの別名でも指定できるということを意味しています。


デバイスの別名は構文的には arguments と区別できないので、OpenBoot はこのあいまいさを次のように解決します。

したがって、boot コマンド行には次に示すような書式が可能です。


ok boot

この書式の場合は、boot はデフォルトの起動デバイスからデフォルトの起動引数によって指定されるプログラムを読み込み、実行します。


ok boot device-specifier

boot の引数が 1 つだけであって、その最初の文字が / であるか、または定義されている devalias の名前である場合は、boot はその引数をデバイス指定子として使用します。つまり、boot は指定されたデバイスからデフォルト起動引数によって指定されるプログラムを読み込み、実行します。

たとえば、明示的にディスクから起動するには、次のように入力します。


ok boot disk

明示的にネットワークから起動するには、次のように入力します。


ok boot net 

boot の引数が 1 つだけであって、かつその最初の文字が / でもなく、また定義されている devaliasの名前でもない場合は、boot はその後のテキストをすべて boot の引数として使用します。


ok boot arguments

boot はデフォルトの起動デバイスから引数によって指定されるプログラムを読み込み、実行します。


ok boot device-specifier arguments

空白文字で区切られた引数が最低 2 つはあって、かつそれらの最初の引数の最初の文字が / であるか、または定義されている devalias の名前である場合は、boot は最初の引数をデバイス指定子として使用し、その後のテキストをすべて boot の引数として使用します。つまり、boot は指定されたデバイスから引数によって指定されるプログラムを読み込み、実行します。

上に示したすべての場合について、boot はそれが使用するデバイスを /chosen ノードの bootpath 特性に記録します。boot はさらに、それが使用する引数も /chosen ノードの bootargs 特性に記録します。

デバイスの別名定義はシステムごとに異なります。第 1 章「概要」で説明している devalias を使用してシステムの別名の定義を調べてください。