Using
Linux and V-TOWNS for FM V-TOWNS |
FMV-TOWNS
における Linux
FM V-TOWNS と Linux
|
|
1st. Release 2001/11/06 / Last update. 2001/11/30(JST)
|
FMV-TOWNS は、PC/AT互換機にPCI の TOWNS ボードを
中心とし TOWNS アーキテクチャを実装したマシンです。 もともと、FM TOWNS は、FM-R をベースとしているので、 かなり特徴的なマシンです。 |
このページは、FMV-TOWNS で、Linux を使用する
際に気がついた点についてまとめるページです。 Linux と関係ないことも含め書いていきたいと思います。なお、VTOWNS に関して 情報を集めたいなら、 私のページよりV-TOWNSの部屋 の方が、いい情報が得られるでしょう。 私の環境は、このリンク先に示すような構成になっています。 特徴としては、AMD-K6III(400MHz だが、360MHz で動作させています) と (文教モデルなので)モデムカードの代わりに搭載された、 LAN カード(FMV-183/184互換) と SCSIカード(FMVTW-122) と IDE/SCSI 双方の30GB HDD かと思います。 最近、プライマリ/マスタのIDE HDD を 80GB のものに置き換えました。 なお、ここに書いている話題には、操作を間違えると危険なものも 含まれています。試してみたい方は、必ず、自己責任においてやってみてください。 |
VTOWNS では、前面の TOWNS MODE スイッチを OFF として PC/AT互換機として
使いことも、ON として FM TOWNS として使いこも可能です。 つまり、TOWNS として、Linux/TOWNS を使用することも可能ですし、PC/AT互換機 として、PC/AT互換機の Linux を使用することも可能です。 |
TOWNS MODE スイッチを OFF として PC/AT互換機として互換機として使用するときは、
AT用の Linux が、使用できます。 私は、実際に Plamo-2.2.1/2.1/2.0/1.4.4 と Vine-2.0 をインストールしてみました。
3.1 LAN カードと Linux 2.2 系カーネルFMV-183/184互換の(および、その前身の FMV-181/182)LAN カードは、比較的、 以前から Linux への対応が行われていて 2.0 系カーネルでは、正常に使用できて いました。しかしながら、2.2系のカーネルでは、この LAN カードを使用できません でした。 私が調べた限り、解決策としては、以下の2つが、あります。(2000/10/21)
こちらのドライバと 2.2.14 カーネルで組み合わせて使用してみましたが、正常に 使用できました。私の場合、こちらのドライバを使用する際には、I/O, IRQ を 指定する必要がありました。LAN カードのドライバディスクで、使用する I/O アドレスと IRQ を変更することができますので、現在の設定を確認しておく必要 が、あります。(私の場合は、2.0 系の ifconfig -a で、確認しました。)
2.4系で、どのようになっているかは、把握していません。
3.2 Sound BlasterPlamo Linux でも、/etc/moduels.conf にもコメントアウトされているが、 用意されている設定なので、ごく一般的な設定のようですが、以下の設定で Sound Blaster が、使用できるようになります。 (既に用意されていたので、本当に適切な設定なのか調べていなかったりします。)
3.3 Linux/TOWNS パッチ最近の Linux/TOWNS のパッチを適用した Linux ソースコードは、PC/AT互換機での コンパイルも考えて作られています。 Linux/TOWNS のパッチを適用した場合、PC/AT互換機でも FM TOWNS のパーティション 情報を利用できるようになります。FM V-TOWNS で、外付 SCSI ハードディスクを使用する場合、Linux/TOWNS パッチを適用した方が、利用範囲 も広がるので便利でしょう。 TownsOS の区画設定では、割当できない 2GB 超のパーティションを作成することも できるので、Linux/TOWNS 用の fdisk も用意しておくといいでしょう。
3.4 TOWNS モード区画と FM シリーズのパーティションテーブルFM V-TOWNS では、IDE HDD の内部に TOWNS モード区画を作成して、その部分を SCSI HDD に見立てて使われています。 TOWNS モード区画の内部は、FM シリーズで使用されているパーティション テーブルで構成されています。 Linux では、DOS のパーティションテーブル以外も扱えますが、TOWNS モード 区画は、AT互換機の DOS パーティションテーブルの中の区画として構成されます。 この TOWNS モード区画が、Linux からどのように見えるかと、その利用方法に ついて書きます。 3.4.1 TOWNS モード区画と Linux版 fdisk
PC/AT互換機の DOS/Windows と同様に Linux にも、ハードディスクの区画設定
を行う fdisk コマンドがあります。
このコマンドで、パーティションテーブルを表示する「-l」オプションを指定
して IDE のプライリマリ HDD(/dev/hda) の内容表示の実行例を示します。
|
vtowns:/home/digit# fdisk -l /dev/hda ディスク /dev/hda: ヘッド 64, セクタ 63, シリンダ 621 ユニット = シリンダ数 of 4032 * 512 バイト デバイス ブート 始点 終点 ブロック ID システム /dev/hda1 * 1 463 933376+ 6 FAT16 /dev/hda2 464 620 316512 fe LANstep |
上記の例では、HDD 内の 1番目の区画(/dev/hda1) として Windows95 用 区画が、 ID=0x06 の FAT16 領域 で確保されていて、 それ以外の 2番目の区画(/dev/hda2) が ID=0xfe の LANstep 区画 と 認識されています。
TOWNS モード区画を含むパーティションテーブルの内容表示は、Linux 標準の fdisk では、表示できません。
以下に、上記の TOWNS モード区画 を指定してパーティション
テーブルの一覧を表示させた例です。
(なお、以下の例では、TOWNS 対応 fdisk は、fdisk.towns リネームして
いる事とします)
vtowns:/home/digit# fdisk.towns -l /dev/hda2 Disk /dev/hda2 (TOWNS disk label): 1 heads, 633024 sectors, 1 cylinders Units = セクタ数 of 1 * 512 bytes デバイス Boot Start End Blocks Id System Name /dev/hda21 * 3 260098 130048 1 MS-DOS TownsOS V2.1L51 /dev/hda22 260099 393218 66560 1 MS-DOS DIC /dev/hda23 393219 618498 112640 1 MS-DOS USER_AREA <<EMPTY>> 618499 633024 7263 0 Empty |
上記の例では、/dev/hda21〜/dev/hda23 として使用できるように見えるが、 実際に認識されているかどうかは、別で、実際とは異なります。
今回は、fdisk.towns -l /dev/hda2 として、区画内の パーティションテーブルを表示させていますが、本来は、 fdisk -l /dev/hda の様に使うため単純に区画内の位置と 引数で指定されたデバイス名を単純に組み合わせて区画を示すデバイス名を 作っているように思えます。
これまでは、fdisk コマンドが認識している区画情報を示してきました。
以下のコマンドで OS が、認識しているパーティションテーブルを表示させる事ができます。
vtowns:/home/digit# cat /proc/partitions major minor #blocks name 8 0 2119141 sda 8 1 2118509 sda1 8 16 29316672 sdb 8 17 4195312 sdb1 8 18 4195328 sdb2 8 19 4194304 sdb3 8 20 4194304 sdb4 8 32 12619152 sdc 8 33 4193280 sdc1 8 34 4193280 sdc2 8 35 4193280 sdc3 3 0 1251936 hda 3 1 933376 hda1 3 2 316512 hda2 3 64 30015216 hdb 3 65 4200966 hdb1 3 66 8032 hdb2 3 67 4200997 hdb3 3 68 1 hdb4 3 69 88326 hdb5 3 70 2104483 hdb6 3 71 4200966 hdb7 3 72 4200966 hdb8 |
上記の中で、sd? や hd? は、ディスク全体を示しているのでパーティションとは、 言えないかも知れません。
上記の例では、Linux/TOWNS のパッチを適用していて CONFIG_FM_PARTITION=y としているので、SCSI パーティション内の FM シリーズのパーティションテーブル (sdc1,sdc2,sdc3) が、認識できています。
しかし、(3.4.2 の様にすると) TOWNS用 fdisk で認識する事ができる TOWNS モード区画 (hda2) 内のパーティションは、OS 側では認識できていません。 そのため、TOWNS モード区画内のパーティションは、マウントして使用する事も できません。
TOWNS モード区画は、PC/AT互換機用のパーティションテーブルの1つの区画であり、
その中に FM シリーズ用のパーティションテーブルが作られています。
この構成は、拡張パーティションに似ています。Linux が、サポートしている他の
パーティションテーブル(BSD で言うところのディスクラベル)には、同様の構成
になっているものもあります。
また、Linux/TOWNS のソースは、TOWNS で使われている区画を使用するため修正が
行われています。
上記のパーティションを認識させる部分のソースコードを参考にすると、
Linux で TOWNS モード区画を利用可能にすることが、できます。
以下に、V-TOWNS の TOWNS モード区画への対応パッチを示します。
ファイル名 | vtowns-fm-partition.patch.bz2 (2,866 bytes) |
作成方法 |
# cd /usr/src # bzip2 -cd vtowns-fm-partition.patch.bz2 | patch -p 0 (古い、パッチコマンドなら patch -p0 となります) このパッチは、Linux-2.2.20 カーネルソースを展開して、Linux/TOWNS パッチの lt-2220-01.patch.bz2 を適用後に、あててください。 bash# make {config|oldconfig|menuconfig|xconfig} で、以下のようにしてください。 CONFIG_TOWNS = N …………………… FM V-TOWNS のATモードで使用するため CONFIG_EXPERIMENTAL = Y …………… CONFIG_FM_PARTITION = Y …………… FM シリーズのパーティションテーブルを有効化 CONFIG_VTOWNS_FM_PARTITION = Y … 今回のパッチを有効化する |
Partition check: sda: sda1 sdb: sdb1 sdb2 sdb3 sdb4 sdc: sdc1 sdc2 sdc3 hda: hda1 hda2 < hda5 hda6 hda7 > hdb: hdb1 hdb2 hdb3 hdb4 < hdb5 hdb6 hdb7 hdb8 > |
この2つを比べると、このパッチによってTOWNS モード区画内の区画は、 拡張パーティション内の区画と同じような取り扱いがされている事が分かります。
なお、このメッセージは、起動後でも dmesg コマンドや /var/adm/messages を 参照する事で確認できます。
以下に例を示します。
SCSI HDD(/dev/sd? ここでは、/dev/sdc) のパーティションテーブルを表示する場合 # dd if=/dev/sdc bs=512 skip=1 count=1 | jhd -jv # dd if=/dev/sdc bs=512 skip=1 count=1 | od -v -t x1
IDE HDD のTOWNS モード区画(/dev/hd?? ここでは、/dev/hda2) の中の
パーティションテーブルを表示する場合
|
パッチの適用やソースに若干の手を入れる順番は、できるだけ一般的なパッチから 適用するのが、いいと思います。
(2001/11/11(JST) 現在で、確認したところ linux-2.2.20 用は、無いのなので 2.2.19 用を適用して試しています。reiserfs は、使用していませんが、 パッチの適用は、特に問題無く行えるようです。) 私が試したときは、dvd_scsi_patch-2.2.17 を patch コマンドで適用すると一部、 適用に失敗し reject されます。このときは、2.2.19 のときに修正していたソース から差分をとって適用しました。 (修正自体は、ごくわずかなので特に問題なくで手で修正できると思います。) at1700.c は、TOWNS 用の修正が入っていますが、上記のものへ置き換えても 問題なくコンパイルできました。 |
V-TOWNS での Linux/TOWNS に関する情報は、まだ、まとめられていません。
TOWNS MODE スイッチを ON として TOWNS として使用するときは、Linux/TOWNS が、 使用できます。 ほかに、VTOWNS.COM と言うプログラムによっても TOWNS モードへ移行することも できます。 4.1 AMD-K6-III での起動私は、メルコの HK6-MS400-V2 と言う AMD-K6-III(400MHzですが、360MHz で動作 させています) プロセッサを使用しています。 残念ながら、FMV-TOWNS は、対応機種にはなっていませんので、 CPU の取り換えは、運まかせとなり、また、自己責任になります。 この CPU の置き換えを行うと、CPU のクロックスピードが、マザーボードが想定して いたものより速いため、起動時に以下のメッセージが表示されます。
4.2 AMD-K6-III と TOWNS モード上記の CPU に入れ換えた時に、私の環境では、TOWNS モードスイッチによって TOWNS モードへ切替えようとしたとき、TownsOS の起動段階でハングアップして しまい Towns モードが使用できなくなってしまいました。 しかし、VTOWNS.COM による、TOWNS モードへ切替えは、うまく行きました。 それで、Windows95 の起動フロッピーに VTOWNS.COM を納め AUTOEXEC.BAT を 修正して V-TOWNS の起動フロッピーを試しに作ってみたのですが、起動しません でした。 AMD-K6-III を搭載後に起きた問題なので、CPU に関連する部分に原因があると 思えます。 「Windows95の DOS モード起動フロッピー + VTOWNS.COM」を利用したときと、 「Windows95 通常起動してから VTOWNS.COM」を利用したときの違いで、思い当 たったのは、スタートアップにある『HK6キャッシュ コントロール ユーティリティ』 です。 そこで、最小限の起動ディスクを作成 (format a: と sys a:) してに『HK6キャッシュ コントロール ユーティリティ』を組み込んでみました。
この方法により、FD による TOWNS モードの起動が可能になるので、安心して
ATモードで、ブートローダを試すことができます。
/dev/sga, /dev/fd0, speed=4 などのオプションは、使用している環境により 異なります。また、Linux/TOWNS での CD-R 作成は、うまく行かないかと思います。 |
|