[title pic:test1.jpg] How to install Linux to PS/2
MCAマシンにLinuxを入れてみた


このページは先日、MCAマシン( IBM PS/2 model 70 )にLinux 2.0.29をインストールした時の記録であります。
PS/2 model 70と言う機種は、CPUにi386DX、ハードディスクにはESDI、そしてMCAバスといった 今では記憶の彼方に忘れ去られたようなスペックのマシンであります。しかし、PCと言うものは 適切なソフトに入れ換えてやることで(速度は別として..)、ある程度updateすることができます。
昔から、「コンピュータ、ソフト無ければただの箱」と言いますが、言い方を替えれば 「コンピュータは、結局中に入っているソフト次第」と言う事にも十分なります。

今回インストールしたLinuxは現在世界中でWWW、電子メール、ニュース等の各種サーバーとして 広く使用されているUNIX like OSであります。映画「タイタニック」のCG製作にも使用された実績を持っています。 (...と聞いたことがある) その反面、Linuxはこんな古いマシンでも十分利用可能であります。

最近は単に「Windows95が走らない」とか「古くなったから」等と言われて捨てられる マシンも多くありますが、この様にして別の用途に利用すると言う手もあるのです。 Windows95がインストールできないから捨てちゃうなんて、あまりにもったいないですね。




< 実験機材 >

[PS2 and Thinkpad530cs:FILELINK.jpg530cs]

供試PC: IBM PS/2 model 70

CPU i386DX ( コプロなし )
RAM 4MB
HDD160MB ( ESDI )

IBMが1987年に発売したPC。
一般的なAT互換機とは異なりIBM独自規格である、
Microchannel Architecture (MCA)バスを備えたマシン。
ハードディスクコントローラーもIDE/SCSIでなくESDIを使用。

NIC: 3Com EtherLink/MC ( 3c523 )

秋葉原、日米商会で見つけたジャンク品。購入価格¥1000ナリ。

供試OS: Linux 2.0.30 ( Slackware 3.4.0 )

Slackware3.4.0は、Pacific Hightech Japan発売のCD-ROMを使用。
MCAマシン、特にESDIハードディスクを積んだマシンには専用のbootdiskが必要になります。 bootdiskはMCA-Linuxのサイトから入手( botdisk-MCA-02Jan1998.gz )。
なお、botdisk-MCA-02Jan1998.gzは2.0.29のカーネルが入っています。 インストールの際には、このbootdiskのカーネルをrootへコピーしますので、 インストール後のカーネルバージョンは2.0.29になります。 rootdiskはSlackware同封のtext.gzを使用。

実はSlackwareの中にはMCAマシン用のbootdisk ( ibmmca.s )があるのですが、 ESDIドライバーがESDIハードディスクを正しく認識せずにハングしてしまうため、使用していません。



相棒マシン: IBM Thinkpad 530CS

このマシンにCR-ROMドライブを取り付けてファイルサーバーとして使用。
X11R6の試験時には「マウスパッド」としても貢献。

< 実際の手順 >

(1) NICを入れる

NFSを利用してインストールするため、NICを追加します。 マシンを開けて、MCAスロットにNICを差し込みます。また、10Base-Tのネットワークにつなぐためにアライドテレシスのトランシーバー( CenterCom 210TS )をNICにつなぎます。

MCAバスの拡張ボードの場合、各拡張ボード用の設定ファイル(ADFファイル)を用いて拡張ボードの設定を行います。この設定を行わない限り、拡張ボードは使用できません。
通常の商品ですと、拡張ボードといっしょにADFファイルの入ったオプションディスクがついてきます。しかし前述のように、「基盤がビニール袋に入っているだけ」の状態で買ってきたカードにオプションディスクがついているはずがありません。

オプションディスクがないのであれば、ADFファイルだけでもどこからか入手する必要があります。今回はMicrochannel Enthutialistのページから3c523用のADFファイルをダウンロードしてきました。このページには多くの拡張ボードのADFファイルが収められています。このページはその他にも(MCAマシンに)有用なファイルが多くあります。

ADFファイルが入手できたらリファレンスディスクにコピーして、Autoconfigurationを行って3c523を認識させます。その後、”set Configure”から3c523のトランシーバー設定を外部トランシーバーに変更します。

(2) Installationに必要なファイルを入手する

MCA-Linuxのサイトから以下のファイルをダウンロードします。

  Slackware-02Jan1997.tar.gz ・・・・・・・・・ Slackware用のbootdisk
  esdi_slack-11Jan1997.tar.gz ・・・・・・・・・ ESDI-HDDドライバー
  Slackware.txt ・・・・・・・・・ インストールの手引書
次に、bootdiskとrootdiskを作成します。rootdiskにはSlackware付属のtext.gzを使用しました.またSlackware.txtによると、rootdiskファイルは解凍してからフロッピーに書き込んだほうが良いように書いてありましたので、解凍したものをRAWRITE.EXEでフロッピーに書き込みました。

(3). bootdiskで立上げて、FDISKをかける

取りあえず、bootdiskでマシンを起動してパーティションを切ります。この時、FDISKを実行する前に以下のことを実施する必要があります。
( ESDI-HDD用にスペシャルデバイスファイルを書き換える )

  # rm /dev/hd*
  # mknod /dev/hda b 36 0
  # mknod /dev/hda1 b 36 1
  # mknod /dev/hda2 b 36 2
( この例では、1台目ESDI-HDD ( /dev/hda )を2つのパーティション(hda1-2)に区切っています )
この後FDISKをかけてパーティションを区切ります。

(3) ネットワークを設定する

NFS経由でインストールするために、NICの設定を行います.
(ターゲットマシンのIPアドレスを192.168.31.7とした例)
   # ifconfig eth0 192.168.31.7
   # route add 192.168.31.0 eth0
繋がっているかどうかをサーバー側からpingで確認した後、サーバーのCD-ROMをマウントします。
(サーバーのIPアドレスを192.168.31.104としています)
  # cd /
  # mkdir /nfs
  # mount 192.168.31.104:/CDROM /nfs
これで、サーバーのCD-ROMがマウントできました。
注意: NFSのマウントポイントとして/mntは使用しない。/mntはインストールターゲットであるハードディスクがマウントされる.

(4) スワップの設定

この後、スワップファイルを使用可能にします(下の例は、/dev/hda1をスワップ区画とした例)
  # mkswap -c /dev/hda1
  # swapon /dev/hda1
メモリに余裕のあるマシンでは、スワップの設定はSETUPの中で行ってかまわないのですが、4MBと非力なマシンでは先にスワップの設定をしたほうが安全でしょう。

(5) SETUPの実行

SETUPでは次のような選択を行います。
i. 前記(4)を実施した場合、SETUPがswaponでスワップ領域を登録するか聞いてきたら[n]を選択する。

ii. "SOURCE MEDIA SELECTION"では"Install from pre-mounted directory"を選択し、先にマウントしたCD-ROM(のディスクセットが入っている)ディレクトリを指定する (例: /nfs/slakware)

iii: "INSTALL LINUX KERNEL"の項では、bootdiskからカーネルをインストールする。
[注意] bootdiskのカーネルはフロッピー周りが安定してない様で、たまにフロッピーからの読み込みが失敗します。 そのときは、別のLinuxマシンにbootdiskを入れてカーネルを抜き出し、ネットワーク経由でターゲットマシンのルートに直接コピーします。 この際、ターゲットマシンのルートディレクトリは/mnt/であることに注意してください。


(例)
[別マシン上]bootdiskを差し込んでおく
  # dd if=/dev/fd0 of=/mnt0/vmlinuz
[ターゲットマシン上。SETUPとは別の仮想コンソール]
  # mkdir /mnt_b
  # mount [別マシンのIPアドレス]:/mnt0 /mnt_b
  # cp /mnt_b/vmlinuz /vmlinuz
あとは、SETUPで"skip"を選択して、次に進みます.

iv: "MAKING INSTALLATION BOOTDISK"は必ず作成する.後で使用します。

v: "LILO INSTALLATION"は"skip"を選択。ここではインストールしません(ESDI-HDDの場合のみ)。

(6) ターゲットマシンにスペシャルデバイスファイルを書き込む

SETUP終了後、前述の(2)で行った事を、ターゲットマシンに対して実施します.スペシャルデバイスファイルの作成先が/mnt/dev/であることに注意。

  # rm /mnt/dev/hd*
  # mknod /mnt/dev/hda b 36 0
  # mknod /mnt/dev/hda1 b 36 1
  # mknod /mnt/dev/hda2 b 36 2

(7) SETUP時に作成したBOOTDISKで再起動し、rootでログイン。

ESDI-HDDの場合、このままではliloがインストールされていないので、ハードディスクから起動できません。
NFSまたはftpを利用してesdi_slack-11Jan1997.tar.gzをコピーしてきます。
その後、tarで解凍します。
  # tar -zxpvf esdi_slack-11Jan1997.tar.gz
これで、必要なドライバ類とESDI-HDDに対応したliloがインストールされます。
あとは、viを用いて/etc/lilo.confを作成して、

  # /sbin/lilo
...とすれば、liloのインストールは終了。BOOTDISKを抜いて再起動すると、(運が良ければ)Linuxが起動します。 後は、必要に応じて、JEなどを追加していきます。

(その他)

lackware-02Jan1998のカーネルはmsdosファイルシステムをマウント可能です。 これを利用して、DOSとLinuxを同一MCAマシン上に共存させることもできます。 私はNICが入手できる前に、Linuxのbootdiskで一度起動させて、FDISKでパーティションを切った後にCardela DR-DOS7.0を導入し、このDOS区画にSlackwareのディスクセットをコピーして インストールソースとして利用しました.デュアルブートもちゃんとできました。 もっとも、ディスクスペースががもったいないので、NIC入手後は上記手順でLinuxのみの構成にインストールしなおしましたが。


< i386DX+4MB環境にGUIを入れてみよう >

Linux導入成功の調子に乗って、X11R6のインストールもやってみました。
XF86Configの例

特にMCAマシンだからと言う個所はないと思います.ただし、ウチのマシンのPS/2ポートが死んでいるのでシリアルマウスの設定になっています。

Xを動かした感想として感じたのは...

とにかく遅い!!

startxとした後からハードディスクは忙しく回り始めて、とにかくスワップの嵐.ウィンドウマネージャーとしてfvwm95を使った際には「何をやってもしばらく止まる」と言った状況(立ち上がり自体に5分近くかかった)。twmを使っても「我慢できる限界の速さ」といったところ。しかし、使用自体ができないわけではない。

[fvwm95:fvwm95.jpg]

[twm:twm.jpg]

fvwm95使用時の画像

この写真取るのに30分近くかかりました。
twm使用時の画像

こちらの方が、何とか使用に耐えてくれます



...とはいえ、
最初からインストールさえできないOSよりはずっとマシ
だと思います。べつにGUIは必要に応じて使えば良いのですから..


< 導入にあたって参考にしたページ >

MCA-Linux
何といっても、まずはここでしょう。MCAマシン用のカーネルパッチや、ESDIドライバ、bootdisk等があります。

Microchannel Enthutialist
MCAの各種拡張ホードのID一覧表や、ADFファイルが置いてあります。また、マシンにささているボードのIDを調べてくれるツールもあります。

Walking Linux
アスキー出版局から出されている本。ネットワーク経由でのインストール方法を参考にさせていただきました。



Index / Profile / PC / Visit Report / Link

感想なんか多分ないと思うが、
一応書かないと良くないようなので...
感想があったらこちらへ(誤り等の指摘も)
MAIL: QZY02173@nifty.ne.jp