本文書ではAXPpciというDEC社が単体販売していた基板を使用して、
Alphaマシンを作り上げる方法を述べる。
ここで使用している部品については、他機種でも参考になることもあるだろう。
筆者は、かねてよりAlphaマシンを入手したいと考えていた。
そこにAXPpci33というボードが発売になった。
AXPpci33にはWindowsNT版とDEC UNIX版があった。
筆者はすかさずそのUNIX版ボードを入手し、DEC UNIXを入れ、使っていた。
AXPpci33上でDEC UNIXを動かした人間としては、筆者は日本ではかなり早い方
だったのではないかと自負している。しかし、DEC UNIXのライセンス料は只では
なく、 WindowsNT版ボードが羨ましく思えた。
そしてフリーなBSDが出るのを待ちわびていたのだった。
以下では、フリーなBSDが動作するAlphaマシンを安価に作る方法を紹介する。
マザーボードにはDEC社の純正品 AXPpci33ボードを使用します。
この基板は OEMを意識して作られた物で別名「noname」とも呼ばれます。
NetBSD/Alphaや Linux/Alphaのドキュメント中でもしばしばnonameとして参照さ
れています。
CPUとしてAlpha AXP 21066 233MHzを搭載済みのもので、最近では、秋葉原の
「ぷらっとほーむ」や大阪日本橋の「ファーストバック」でも売られています。
さすが高速を誇るAlphaチップだけあって、CPUには巨大なアルミのヒートシン
クが取り付けられています。3.3V駆動でこのバカでかさ。入手時には感動しまし
た。
お店で売られているのは、通常、WindowsNT版です。
ちなみに、買ってきたそのままでは、DEC UNIXもNetBSD/Alphaもブートさせる
ことができません。
最近の Linux/AlphaはブートローダがWindowsNT用モニタにも対応しているので、
このままでも大丈夫なはずです。
マザーボードのWindowsNT版とUNIX版との違いは、
WindowsNT用モニタは「ARC」と呼ばれ、Mips CPUを使用したマザーボードなど にも搭載され、WindowsNT標準ソフトウェアです。メニュー・ドリブンで使用感 はあんまり楽しくありません。
DEC UNIX用のモニタは「SRM」と呼ばれ、コマンド・ラインで対話する、通好
みのモニタです。:-)
NetBSDのブートのために、モニタをARCからSRMに変更しなければなりません
(後に詳述)。
キーボード・コネクタはWindowsNT版ではIBM PC-AT用の大きなコネクタ。
UNIX版ではPS/2シリーズの小さなコネクタとなり、物理的な大きさが異るだけ
で電気的、論理的には、まったく同じ物です。
PS/2マウス・コネクタはUNIX版にのみ存在し、WindowsNT版には存在しません
(WindowsNTでは、シリアル・マウスを使用する)。
基板は同じ物なので、単に WindowsNT版にPS/2マウス・コネクタをハンダ付す
れば良さそうなのですが、そうは問屋が卸しません。
僕がキーボード・コネクタをそのままにして、PS/2マウス・コネクタだけをは
んだづけして試したところ、PS/2マウスは認識されませんでした。
ひょっとすると、キーボード制御用マイコンのファームウェアが異なっている
のかも知れません。
PS/2マウスがなくてもNetBSDはブートできるので、一度、全部組み上げて動作 確認した後X windowサーバについては考えるべきでしょう。
このマザーボードは、一般的なIBM PC互換機のマザーボードと同様、
僕は、
ATI社製Mach64 DRAMを使用しています。
これは、AXPpci用のDEC UNIXが要求したものです。
DEC UNIXのX Windowサーバ、WindowsNTでは快調に動作します。
また、Linux/Alphaでも使えるはずです。
しかし、NetBSD/Alphaでは、コンソールは問題ないのですが、X Windowがサ ポートされていません。
NetBSD/AlphaのX Windowサーバは、DEC社製のTGAというボードしかサポートし ていないのです。 僕の赤貧RISCマシン補完計画もここは噸座しています。
新たにビデオボードを購入する場合は、TGAを入手すべきでしょう。しかし TGAは現在日本橋のお店では手に入りません。
NetBSD/Alpha、Linux/Alpha、WindowsNTは、DECのEthernetチップの載った
Ethernetカードをサポートしています。
しかし、I/Oポートのアドレスなどが仕様として固定されている訳ではなく、一
部、動作しないカードも存在するようです。
僕は、
DEC社のカードは自動切り替えも問題無く動作します。
SusTeen LANMASTER FastEthernetはDEC Chipを使用したEthernetカードです。
NetBSD/Alphaでちゃんと使用できます。100Baseという名前ですが、10BaseTと
100BaseTXの両用です。それぞれに別個にコネクタが用意されているので、
10Base/100Baseの自動切り替えに付随する問題が少なくなっています。
残念ながら現在では入手困難です。
NetBSD/AlphaとLinux/Alphaでは、Planet社のPCI Ether 100Base-TXボード (DECチップ搭載)も使えると聞いていますが、確認はしていません。
ハードディスク(以下HDD)は、SCSIディスクならなんでもかまいません。
NetBSD1.2/Alphaをインストールしたい場合は、 406MBytes以上の容量が必要
です。
必要な時に、意外と手に入らないのが、マザーボードから匡体の後ろにコネク
タをだすためのケーブルです。
AXPpciには、IBM PC互換機用のケーブルがそのまま使えます。
ケーブル屋さんで、ケーブルを作ってもらうための資料も書いておきます。
AXPpciの基板上のコネクタは10pinです。
DCD(1ピン) | RXD | TXD | DTR | SG |
---|---|---|---|---|
DSR | RTS | CTS | Ring | FG |
IBM PC互換機の9pinシリアル・コネクタは
(1番) ¥-------+-------+-------+-------+------/ ¥DCD |RXD |TXD |DTR |SG / ¥----------------------------------/ ¥ DSR | RTS | CTS |Ring / ¥-------+--------+-------+-----/ (オスコネクタを圧着側から見たところ)です。
そこで、ケーブル屋さんで、コネクタを圧着して作ってもらう時には、
これでIBM PC互換機で一般的なシリアル・ケーブルができ、AXPpci33でも使用 できます。
IBM PC互換機用のフロッピ・ドライブを使用します。
DEC UNIXではあまり必要性を感じませんが、今回、モニタ・ソフトウェアをARC
からSRMへ変更するために、必要です。
NetBSD/AlphaのX Windowサーバは、PS/2マウスを必要とします。
DEC UNIXでは、Logitech社の3ボタンPS/2マウスが快調に使えています。
PS/2マウスが認識できないと、SRMモニタが起動時にmouse errorを報告します。
蛇足ながら、WindowsNTでは、Logitech社のシリアル3ボタンマウスも使えます。
IBM PC互換機用なら大抵なんでも大丈夫です。
ただし英語版(JISでない配列) でないと色々と不便です。
僕はT-Zoneで安売りされていたDEC純正キーボードを使っています。:-)
匡体はどんなものでもいいのですが、CPUの上に巨大なヒートシンクがあるの
で、それが他の部分と干渉しないような大型の物がいいでしょう。
また、ヒートシンクにじかに冷却風があたるものが、望ましいでしょう。
5Vから3.3Vに降圧するレギュレータのヒートシンクは非常に熱を持ちます。こ
のヒートシンクには何も接触しないように気をつけるべきです。
僕はGT-300という割と有名な匡体を使っていますが、上記条件をすべて満たし
ている上に非常にメンテナンスがしやすく、気に入っています。
ただし、PS/2マウスを使用するには、コネクタが顔を出す穴を加工しなければ
なりませんでした。
パリティー付き70nsecの72pinSIMMです。2つを一組として実装しなければなり
ません。
SRMモニタは32MBytes以上のメモリが実装されていないとまったく起動しませ
ん。
ちなみにARCは16MBytes以上で動作し、WindowsNTのインストールは可能なよ
うです。
32K×8bitか、128K×8bitのスタティックRAMを使用します。
IBM PC互換機で一般的な外部キャッシュ用メモリです。
パリティ(ECC)も必要なので、全部で11個使用します。
SCSI CDROMなら、DEC UNIXでもWindowsNTでも使えます。
しかし、現行のNetBSD/Alphaからはうまく使えません。よって、是非とも必要
なものではありません。
ZipドライブはNetBSDからはHDDにみえます。
WindowsNT4では、リムーバブル・ドライブとして認識されます。
OSのブートにも使用できるので、色々な OSを切り替えて使う時には便利です。
アクセス速度はフロッピに毛が生えたようなものですが、 OSが一揃い入って、
ブートできるという利点は侮りがたいものがあります。
組み立ては、5V電源のコネクタ(3.3V用電源コネクタもある)を間違えなければ、
あとは各コネクタの1番ピンに注意するだけです。マザーボードに付属のマニュ
アルをよくみれば、なにも難しいことはありません。
ジャンパJ8は、リセット・スイッチを本当のリセットとするか、割り込みとす るかの切り替えですが、我々には、リセットの方が便利なので、Reset (Pin1-2 ショート)にしておきます。
部品を組み上げたら、とりあえず電源を入れて起動実験を行います。一番最初 は、HDDはつないでおかない方がいいかも知れません。
異常がなければ、モニタ・ソフトウェアが起ち上がります。
UNIX版マザーボードならば、画面が暗いままの状態で数秒経過したあと、SRM
モニタが起ち上がります。
SRMが使える場合は、NetBSDのインストールに進みます。
WindowsNT版マザーボードならば、ARCモニタが起動します。
ARCでハードウェアの確認をするには、
AXPpci33のSCSIバスは高速動作を行うので、SCSIデバイスが見つからないこと
があります。
そういう時は、ターミネーションを確認して、必ずSCSIバスの両端にだけター
ミネータが存在するようにします。また、SCSIデバイスはパリティをイネーブル
しておきます。
ハードウェアに問題ない場合、WindowsNTのインストールならそのまま始めら れます。(ちなみにWindowsNT V4 日本語ファイナルβは、このマシンで快調に動 作しています)
ARCモニタの場合は、NetBSDのために、モニタ・ソフトウェアをSRM にします。
ARCからSRMへモニタを取り換えるためには、ファームウェア・アップデイト・ ソフトウェアを入手しなければなりません。
ファームウェア・アップデイト・ソフトウェアはDEC社のftpサイト ftp://ftp.digital.com/pub/DEC/Alpha/firmware/ から入手可能です。
本稿執筆時点での最新ファームウェア格納ディレクトリ
ftp://ftp.digital.com/pub/DEC/Alpha/firmware/v3.7/decaxppci33/には、以下のようなファイルがあります。
-r--r--r-- 1 0 0 904704 Aug 19 08:11 decaxppci33_v1_4.exe -r--r--r-- 1 0 0 905216 Aug 19 08:11 decaxppci33_v1_4.sys -r--r--r-- 1 0 0 903168 Aug 19 08:11 decaxppci33_v1_5.exe -r--r--r-- 1 0 0 903680 Aug 19 08:11 decaxppci33_v1_5.sys -r--r--r-- 1 0 0 1854 Aug 19 04:04 fwreadme.txtここではv1.5を使用しました。
以下、ARCでのファームウェア・アップデイト・ソフトウェアの使用方法です。
% mwrite decaxppci33_v1_5.exe a:fwupdate.exeとします。
Apu-> u srmイメージをRAMにロード、ベリファイ後、最終確認プロンプトが出るので、
APU-I ****** READY TO PROGRAM DEVICE ? (Y/N ) ****** y'y'を入力します。このあと、電源異常などでシステムが落ちないように緊 張しながら待ちます。:-)
Rom Update Successfulと表示されたら終了です。
Apu-> v srm
また、万が一、ARCに戻したくなった時のために、
ftp://ftp.digital.com/pub/DEC/axppci/fw_v1_4.image
も入手しておくべきです。
これは、SRMでブート可能なfirmware V1.4のフロッピ・イメージです。このイ
メージがなければ、SRMをARCに戻すことはできません。
このイメージをfwupdate.exeから作ることは、DEC UNIXが稼働していれば可能 です。が、そういう環境はめったにないでしょうから、イメージで入手しておき ましょう。
このイメージを、FreeBSDなどで、
% dd if=fw_v1_4.image of=/dev/rfd0a bs=40960などとしてフロッピに書き込みます。
SRMからフロッピをブートする場合には、
>>>b dva0とします。
ここで作成したフロッピはFlashROM内のモニタが壊れた時の修復にも使用でき るので重宝します。(モニタが壊れた時には、SROM SelectジャンパJ29の1-3 を ショートし、このフロッピをブートに使用して、モニタを修復できる)