Skip to main content.
Google custom search

NetBSD/macppc nvedit HOW-TO

はじめに

このページは、 Open Firmware NVRAMRC の内容を編集するために必要なコマンド についての、簡単な入門です。 NVRAMRC は、システムのリブートのたびに実行される、 永久に保持されるファイルです。通常、これは、ブート時のシステムの挙動を 修正するための FORTH コマンド群を含んでいます。 NVRAMRC の内容の書き方について、さらなる情報は、 Apple Network Server 500,700: Open Firmware Read Me Technote がよい出発点となります。

この NVRAMRC に影響を与えるコマンド群が Open Firmware に含まれます。 このコマンドは、 Open Firmware プロンプト (つまり、 0 > というプロンプト) から入力されます。 Open Firmware 設定すべてについて、 設定の変更後は、 reset-all コマンドを使ってマシンをリセット することをおすすめします。

NVRAMRC の修正は、 FORTH の文法が非常に厳格である (特に スペースの有無について) ため、かなり煩わしいものです。 必要なパッチを適用するためだけに、一時的にシリアルコンソールを 使うようにするのがよいかもしれません。

コマンド

nvedit 現在の nvramrc の内容の編集を開始します。一時的な バッファーにファイルが残されている場合には、そのファイルの編集を 再開します。そうでなければ、 NVRAMRC の内容を一時的なバッファーに コピーして、それの編集を開始します。
nvstore 一時的な nvram バッファーの内容を NVRAMRC に保存したうえで、 一時的なバッファーの内容を破棄します
nvquit 一時的な nvramrc バッファーの内容を、 NVRAMRC に書き込まずに破棄します
nvrun 一時的な nvram バッファーの内容を実行します
nvalias <alias> <device-path-name>

指定したデバイスの別名を定義します (他の devaliases ではなく、 フルパスを使う必要があります) 、たとえば PowerMacintosh 7300 で

nvalias bsd-cd /bandit/gc/mesh/sd@3:0,\OFWBOOT.XCF
とすると、 `boot bsd-cd' とタイプすれば ofwboot.xcf が CD-ROM ドライブからロードされるように なります
nvunalias <alias> デバイスの別名を NVRAMRC から削除します
setenv use-nvramrc? <value> この <value> は、 truefalse のいずれかです。 この環境変数は、マシンのリセットやリブートの都度 NVRAM の内容を実行するかどうかを定義します

注意: 一部の Open Firmware 1.0.5 のシステムでは、 nvalias の設定に加えて System Disk のパッチを置けるだけの NVRAM 容量がありません。 nvalias は保存せずに System Disk パッチを保存すべきかもしれません

nvedit エディター

Open Firmware の仕様として、 すべての Open Firmware の実装にはエディターが 組み込まれています。以下は、このエディターで使われるコマンドです。 いくつかのコマンドが emacs とよく似ていることに気づく方もいるでしょう。 ここでは、 C-x という表現を、 control キーと x キーを同時に押す意味に使います。

C-l ディスプレーを再描画します
C-k カーソル位置から行末までを消去します
C-n 次の行に進みます
C-p 前の行に戻ります
C-f 一文字進みます
C-b 一文字戻ります
C-c

エディターを終了し、編集した内容を一時的なバッファーに保持します

注意: これは変更を NVRAMRC に保存しませんnvstore を実行する必要があります

以下は、 NVRAMRC のパッチ (Performa 5500 オンボードビデオを使用可能にするためのもの) を入力している Open Firmware セッションの例です。 <CR> は "return" または "enter" キー、 <C-c> は control-c です。

0 > nvedit
cpoke 0a7 0f3000032
cpoke 093 0f3000033
cpoke 03e 0f300003a
<C-c>
0 > nvstore
0 > setenv use-nvramrc? true
0 > reset-all

Back to NetBSD/macppc ポートのページ