NVRAM の一部に nvramrc と呼ばれる部分があります。そのサイズはそれぞれの SPARC システムによって異なります。これは、起動時に実行されるユーザー定義のコマンドの格納用として予約されています。
一般的に、NVRAMRC は起動時システム変数を保存したり、デバイスドライバコードをパッチしたり、インストール先固有のデバイス構成とデバイスの別名を定義するためにデバイスドライバが使用します。また、バグパッチまたはユーザーインストールの拡張用にも使用できます。コマンドは、ユーザーがコンソールから入力するとおりの ASCII で格納されます。
NVRAMRC 関係のシステム変数には次の 2 つがあります。
nvramrc
use-nvramrc?
NVRAMRC 内のコマンドは、use-nvramrc? を true に設定している場合に、システム起動時に実行されます。次の例外を除く、ほとんどすべての Forth モニターコマンドがここで使用できます。
banner (使用に際しては注意が必要)
boot
go
nvedit
password
reset
setenv security-mode
NVRAMRC のエディタである nvedit では、表 3-4 に示すコマンドを使用して、NVRAMRC の内容を作成、変更することができます。
表 3-4 NVRAMRC エディタコマンド
コマンド |
説明 |
---|---|
nvalias alias device-path |
NVRAMRC に devalias alias device-path を格納します。この別名は、nvunalias または set-defaults コマンドが実行されるまで有効です。 |
nvedit |
NVRAMRC エディタを起動します。前の nvedit セッションからのデータが一時バッファー内に残っている場合は、以前の内容の編集を再開します。残っていない場合は、NVRAMRC の内容を一時バッファーに読み込んで、それらの編集を開始します。 |
nvquit |
一時バッファーの内容を、 NVRAMRC に書かないで捨てます。捨てる前に、確認を求めます。 |
nvrecover |
NVRAMRC の内容が set-defaults の実行結果として失われている場合、それらの内容を回復し、次に nvedit の場合と同様にこのエディタを起動します。NVRAMRC の内容が失われたときから nvrecover が実行されるまでの間に nvedit を実行した場合は、 nvrecover は失敗します。 |
nvrun |
一時バッファーの内容を実行します。 |
nvstore |
一時バッファーの内容を NVRAMRC にコピーします。一時バッファーの内容は捨てます。 |
nvunalias alias |
対応する別名を NVRAMRC から削除します。 |
一部の OpenBoot 2.x には nvalias および nvunalias コマンドがありません。
表 3-5 に NVRAM で使用できる編集コマンドを示します。
表 3-5 nvedit キー操作コマンド
キー操作 |
説明 |
---|---|
Control-B |
1 文字位置戻ります。 |
Control-C |
エディタを終了し、OpenBook コマンドインタプリタに戻ります。一時バッファーは保存されていますが、 NVRAMRC には戻されません。 (後で nvstore を使用して一時バッファーを NVRAMRC に書いて戻してください。) |
Control-F |
1 文字位置戻ります。 |
Control-K |
行の終わりでは、現在行に次の行をつなぎます (つまり、2 つの行を 1 つにします)。 |
Control-L |
すべての行を表示します。 |
Control-N |
NVRAMRC 編集バッファの次の行に進みます。 |
Control-O |
カーソル位置に new line を挿入し、現在行にとどまっています。 |
Control-P |
NVRAMRC 編集バッファーの前の行に戻ります。 |
Delete |
前の 1 文字を削除します。 |
Return |
カーソル位置に改行を挿入し、次の行に進みます。 |
そのほかの標準的エディタ用コマンドについては、第 4 章「Forth ツールの使用方法」を参照してください。
次の手順で、NVRAMRC コマンドファイルを起動してください。
ok プロンプトで、nvedit と入力します。
エディタのコマンドを使用して NVRAMRC の内容を編集します。
Control-C を入力してエディタを終了し、再び ok プロンプトを表示させます。
nvstore と入力して変更結果を保存します。
setenv use-nvramrc? true と入力して、NVRAMRC を有効にします。
reset と入力してシステムをリセットしてから NVRAM の内容を実行するか、 nvramrc eval と入力して nvramrc の内容を直接実行します。nvstore と入力して変更結果を保存しなかった場合は、nvrun と入力して一時編集バッファーの内容を実行してください。
次の例で、NVRAMRC 内に単純なコロン定義を作成する方法を示します。
ok nvedit 0: : hello ( -- ) 1: ." Hello, world. " cr 2: ; 3: ^-C ok nvstore ok setenv use-nvramrc? true ok reset .... ok hello Hello, world. ok |
上記の例で、nvedit の行番号のプロンプト (0:、1:、2:、3:) に注意してください。これらのプロンプトはシステムによって異なることがあります。