NetBSD/macppc Open Firmware 1.0.5 パッチ


ここでは、 output-device /chaos/control を使う Open Firmware 1.0.5 のマシン (即ち PowerMacintosh 7300 - 8600) 上の若干の軽微な問題を直すために、 Apple 社の System Disk ユーティリティーにパッチを当てる方法を説明します。 これは、 Copland 開発者による 投稿と、 port-macppc メーリングリストの Monroe Williams による投稿 に基づいています。

この説明は、読者に Mac OS に関する最低限の知識があることを前提としています。 Mac OS よりシリアル端末や emacs に慣れているような方は、 FAQ 項目 助けてください、 Mac OS のことを何も知らないのです! を参照してください。

  1. Mac OS の起動

    Mac OS 8.0 以降が必要です。

    もし Mac OS 8.0 以降がなければ、 Disk Tools PPC.img を Apple のサイトからダウンロードします。 これは Mac OS 8.1 のブートフロッピーです。このフロッピーからブートして System Disk のフロッピーと入れ換えるか、あるいは、フロッピーのファイルを ハードディスクにコピーします。 Disk Tools イメージをフロッピーに 書き込むには、 Disk Copy 6.3.3 以降を使う必要があります (これは、 PowerPC より前の (つまり m68k) Mac を含む、 Mac OS 7.0.1 以降の全システムで使えます) 。 しかし、ブートフロッピーイメージを単に dd(8)rawrite でフロッピーに書き出すことは、できません。

    古いマシン (Open Firmware 1.0.5) では、 Mac OS をブートするたびに、 Open Firmware のすべての設定 (nvram を含む) がデフォルト値に戻されますので注意してください。

  2. ダウンロード

    ftp://ftp.apple.com/developer/macosxserver/utilities/SystemDisk2.3.1.smi.bin

    MacBinary から自動マウントディスクイメージへの変換のため、 StuffIt Expander (または別のユーティリティー) が必要です。 Aladdin Systems の ヘルプページを参照してください。

  3. ディスクイメージのマウント

    ディスクイメージを開いてデスクトップにマウントすると、 イメージ中に System Disk ユーティリティーがあります。

  4. NVRAM へのパッチ当て (容易な方法)

    もしあなたが System Disk 2.3.1 を使っているなら、この ResCompare System Disk 2.3.1 OF105 patch.hqxをダウンロードして下さい。 このプログラムは、 640x480 60Hz (Open Firmware がサポートしている、 見たところ唯一の解像度) のビデオを正確に設定し、常に同期する様に 若干の遅延を加えるためのパッチをあなたの System Disk に当てるでしょう。

  5. NVRAM へのパッチ当て (上級者向けの方法)

    次の URL から ResEdit をダウンロードして伸張して下さい。 http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/Utilities/ResEdit_2.1.3.sea.bin もしあなたが System Disk 2.3.1 を持っているなら、 ResEdit に System Disk アプリケーションをドラッグして、 OFpt リソースの ID 128 を開いて下さい。 別のバージョンの System Disk では、 OFtc リソースを開いて、 いずれの ID があなたの Power Macintosh のモデルに対応するか 判断する必要があります。

    当該 OFpt リソースの、大きく長い文字列の終わりに 次の内容をペーストして下さい。 (ペーストした)文字列の末尾に、キャリッジリターンがあることを確認して下さい。 そうしないと System Disk が「最後のラインが突然に終わる」と不平を言うでしょう。 最初の \ にも注意してください。これは Apple 社製のパッチ (先に開いた OFpt リソース) の最後の行の終わり (unselect-dev) に続けて書きます。

            \
            dev /bandit/gc/via-cuda\
            ' write value &W\
            : -&We &W swap - execute ;\
            : P1 4D8 -&We false 548 -&We ;\
            &W FC + ' P1 BLpatch\
            : P2 0C 2 ms ;\
            &W E0 + ' P2 BLpatch device-end

    このブロックは、 via-cuda ドライバーがビデオコントローラーのクロックを 準備しろと言われてからデバイスを設定するまでに十分な時間が与えられないバグを 修正します。

    このパッチの著者は、ドライブが回転する前に起動しようとするマシンのため のパッチも作りました。 しかしながら、 nvram が、 System Disk のパッチの他に、これらの両方のパッチ を入れるのに十分な大きさを持っていない様に思われます。 けれどもこのパッチが本当に必要とされるかどうかは明確ではありません。 それで、あなたは上記のブロックの代わりに大きく長い文字列の終わりに 次の物をペーストするべきかも知れません。 (ペーストした)文字列の末尾に、キャリッジリターンがあることを確認して下さい。 そうしないと System Disk が「最後のラインが突然に終わる」と不平を言うでしょう。 最初の \ にも注意してください。これは Apple 社製のパッチ (先に開いた OFpt リソース) の最後の行の終わり (unselect-dev) に続けて書きます。

            \
            : wBoot\
            begin\
             boot-device ['] $boot catch drop\
             ." -Waiting for boot-device" cr\
             d# 500 ms\
            key? until\
            ;

    このブロックは、標準的な起動コマンドの変わりに、 ディスクが回転するまで待つと言うことを FORTH 言語で定義します。 これは、標準での「コンピューターの画面が何時まで待っても黒いまま」問題を 回避します。

    これは、起動コマンドとして boot の代わりに wBoot を使用する必要があることを意味します。 (起動コマンドは Advanced Options 画面で設定します)

  6. 保存、実行、保存

    ResEdit の変更を保存して終了して下さい。変更された System Disk プログラム を実行して、 Power User (Open Firmware) をクリックして下さい。 そして、新しい nvram の内容を保存するために Save ボタンをクリックして下さい。


Up to NetBSD/macppc Port Page
NetBSD ホームページ
NetBSD 対応機種

www@jp.NetBSD.org
$NetBSD: of105patch.html,v 1.3 2007/07/29 02:41:30 kano Exp $
Copyright © 1998-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.