FM V-TOWNS は、(通常) 前面のスイッチにより TOWNS モードに
して、TownsOS を動かす事ができます。TOWNS モードでは、TOWNS 用の Linux で
ある Linux/TOWNS が、問題なく(?)動作します。
4.1 Linux/TOWNS とハードディスク
FM TOWNS、FM V-TOWNS でのハードディスク
には、いくつかの 8GB の制限があります。
この限界は、ハードウェア上のものでない場合が多く Linux では、影響を受けない
事も多いようです。Linux では、以下の点が、影響を受けます。
- 8 GB 未満の場所にあるパーティションでないと起動できない。
これは、Linux が起動する前なので制限を受けます。
Linux では、HDD のアクセスで BIOS を使用しないために他の環境では、問題と
なっても、Linux では、制限を受けない部分が多くあります。
以下は、制限を受けない部分です。
- 8GB 以上の場所にあるパーティションでも使用できる。
TOWNS のパーティションテーブルとしては、1TG(or 2TB) の区画を示す事ができる
ように思えます。
- 2GB 以上の大きさのパーティションも使用できる
4GB以上のパーティションは、2048 以上のブロックサイズを指定する必要があります。
60GB HDD の全てを1つのパーティションにして試してみて正常に動作する事を確認
した事があります。
- SCSI-ID の 5,6 番も使用できる。
SCSI ID の 0〜4番のみ使用可は、DOS の制限なので Linux では、制限を受けません。
∴ TOWNS では、8GB 以上のハードディスクを使う人は、Linux/TOWNS を活用すると
いいと思います。
4.2 Linux/TOWNS と IDE HDD
上記の「4.1 Linux/TOWNS とハードディスク」の制限は、
TOWNS 本来の問題なのです。
V-TOWNS では、IDE のディスクの一部を SCSI HDD に見立てて認識します。
このため、これ以外に以下の違いがあります。
- PC/AT側の BIOS でも、8GB 以上のディスクの認識が、うまく行かない。
- IDE HDD に、疑似的に SCSI-ID が割り当てられるため、逆に使用できない部分が出てくる。
などの問題もあります。
上記のような、問題と Linux/TOWNS からも IDE のディスクを直接扱うわけでは
ない事から、「Linux/TOWNS からの 8GB 以上のディスクが正常に使用できる」か
検証を行う必要がある判断した。
特に、TownsOS などで、8GB 以上のディスクの場合に起きると言われる。8GB 以下
の区画に回り込んで、8GB 以下の区画が壊される事が無い事を検証する事を目的と
します。
《検証方法》
- AT用の fdisk を使用して、8GB 以上の TOWNS モード区画を作成する。
- 8GB 以下の部分をパーティションで埋める。
実際にテストしたときのパーティション
# fdisk.towns -l /dev/hda1
Disk /dev/hda1 (TOWNS disk label): 1 heads, 156296322 sectors, 1 cylinders
Units = sectors of 1 * 512 bytes
Device Boot Start End Blocks Id System Name
/dev/hda11 3 260098 130048 1 MS-DOS TownsOS V2.1L51
/dev/hda12 260099 393218 66560 1 MS-DOS DIC
/dev/hda13 393219 618498 112640 1 MS-DOS USER_AREA
/dev/hda14 618499 16777216 8079359 4 MS-DOS EXT MS-DOS EXT
<<EMPTY>> 16777217 156296322 69759553 0 Empty
|
上記の例の /dev/hda14 の「MS-DOS EXT 区画」は、Linux で作成したダミーの区画です。
実際には、2GB 以上の区画を使用する事はできません。
-
「3.4 TOWNS モード区画と FM シリーズのパーティションテーブル」
を使用して AT用の Linux から、TOWNS モード区画内の FM シリーズ用の区画を
認識可能にする。
- TOWNS モード区画内の 8GB 以下のパーティションのチェックサムをとる。
実際にテストしたときのチェックサム(md5sum)の結果 - Plamo/TOWNS インストール前
# for partition in /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 ; do echo -n "${partition}: " ; dd if=${partition} 2> /dev/null | md5sum - ; done
/dev/hda5: 2060eacfd77a6b6a8fcd60c500c69901 -
/dev/hda6: 2377a36218cd9e1f5feef56a749f2e73 -
/dev/hda7: 1d195b9fed2136eaf3c846aca8fce6a8 -
/dev/hda8: 7ebe48a4481ecfb66a2e7a94d3d3b3a8 -
# exit
|
/dev/hda5, /dev/hda6, /dev/hda7, /dev/hda8 は、「fdisk.towns -l /dev/hda1」の
ときの /dev/hda11〜/dev/hda14 に相当します。
- Plamo/TOWNS を 8GB 以上の区画へインストールしてみる。
- 8GB 以下の区画に変化が無い事を確認するために、再度、チェックサムをとる。
実際にテストしたときのチェックサム(md5sum)の結果 - Plamo/TOWNS インストール後
vtowns:/home/digit# for partition in /dev/hda8 /dev/hda9 /dev/hda10 /dev/hda11 ; do echo -n "${partition}: " ; dd if=${partition} 2> /dev/null | md5sum - ; done
/dev/hda8: 2060eacfd77a6b6a8fcd60c500c69901 -
/dev/hda9: 2377a36218cd9e1f5feef56a749f2e73 -
/dev/hda10: 1d195b9fed2136eaf3c846aca8fce6a8 -
/dev/hda11: 7ebe48a4481ecfb66a2e7a94d3d3b3a8 -
|
CONFIG_BLK_DEV_FM_PHYSICAL_ORDER が、設定されていないため Plamo/TOWNS
インストールに伴い /dev/hda5, /dev/hda6, /dev/hda7, /dev/hda8 は、
/dev/hda8〜/dev/hda11 に変わっています。
- TOWNS モード区画内の FM シリーズ用の区画を認識するようにした、AT用の
Linux から、Plamo/TOWNS をインストールしている区画をマウント可能な事を
確認する。
(AT 用 Linux は、一部を除き、8GB の制限を受けないため)
私がテストした結果は、ここで紹介した画面例に示したようになり、8GB 以上の区画
へ Linux/TOWNS をインストールしても 8GB 未満の区画は、破壊されること無く同じ
値を示しています。
また、8GB 以上の領域に確保した区画も TOWNS モード区画を認識するようにパッチ
を適用した、AT用 Linux から使用する事ができました。
∴ Linux/TOWNS では、8GB 以上の TOWNS モード区画を使用する事ができるようです。
4.3 Linux/TOWNS と PCI バス
V-TOWNS でない、本来の TOWNS(以下、pureTOWNS と表記する)は、FM-R の
アーキテクチャーをベースとしているいることもあり PCI バスは存在しませんが、
PC/AT互換機ベースの V-TOWNS は、FMTOWNS に大半の機能を納めた
TOWNS カード自体が、PCI バスに刺さっており。
Linux/TOWNS では、pureTOWNS が、PCI バスを持っていない事もあり PCI の部分を
無効にしています。カーネル作成時の「make {config/menuconfig...}」でも、
TOWNS をターゲットとしたときに CONFIG_PCI を有効にできないようになっています。
ここでは、Linux/TOWNS が、無効にしている PCI バスを有効にしなおすパッチを
紹介します。
ただこのパッチは、 PCI バスは、認識するようになるものの PCI スロットに
接続された拡張ボードを使用できるようになるわけではありません。
つまり、やくたたずのパッチです。
V-TOWNS 用 Linux/TOWNS - PCI バス対応パッチ
ファイル名
|
vtowns-pci.patch.bz2 (1,026 bytes)
(md5sum: 151845e5cde15bba39a39e537ca8dbef)
|
作成方法
|
# cd /usr/src
# bzip2 -cd vtowns-pci.patch.bz2 | patch -p 0
(古い、パッチコマンドなら patch -p0 となります)
このパッチは、Linux-2.2.20 カーネルソースを展開して、Linux/TOWNS
パッチの lt-2220-01.patch.bz2 と vtowns-fm-partition.patch.bz2 を適用後に、
あててください。
bash# make {config|oldconfig|menuconfig|xconfig}
で、以下のようにしてください。
Support FMV-TOWNS (CONFIG_VTOWNS) [Y/n/?]… FM V-TOWNS をターゲットにする。
PCI support (CONFIG_PCI) [Y/n/?] …………… PCI の機能を有効にする。
|
このパッチを適用し PCI バスが、認識できるようになると
「cat /proc/pci」などの表示が変化します。
4.4 Linux/TOWNS と DVD-RAM ドライブ
dvd_scsi_patch パッチを適用すると DVD-RAM が使用できます。適用方法は、
Linux(ATモード)と同じです。
4.5 Linux/TOWNS と LAN カード
FTOWNS 等でも書かれて
いるので TownsOS などで使用可能な唯一の LAN カードである FMV-183/FMV-184 を
使っている方が、多いと思います。
※ PCI を有効にするパッチを当ててかつ PCI の LAN カードを有効にする
用に「/usr/src/linux/drivers/net/Config.in」を変更すると使えるかも
しれません。
使えたら是非、御連絡ください。ここで、紹介したいと思います。
|
FMV-181/2/3/4 用デバイスドライバは、/usr/src/linux/drivers/net/fmv18x.c
(以下、fmv18x.cと略す)としてかなり早い時点で公開されました。
この FMV-181/2/3/4 は、AT1700 のカードと同じチップを搭載していますが、
当初、/usr/src/linux/drivers/net/at1700.c(以下、at1700.cと略す)
とは、別に実装されました。
しかし、2.2系カーネルのリリースあたりでは、メンテナンスがされていなかったために
FMV-181/2/3/4 は、使用できない状態にありました。その後、fmv18x.c
の作者の手により、at1700.cを修正して、FMV-181/2/3/4 に対応したものが
公開されています。
pureTOWNS では、AT1700 のカードと同じチップを搭載した「RATOC REX-3586,
Fujitsu FM50L188/9」と言う 2 つの LAN カードがあります。
Linux/TOWNS パッチを当てると AT1700 用のソースに修正が入り「CONFIG_TOWNS」
を無効にすると AT 用に元のまま、有効にしたときは、TOWNS 用になるような、
条件コンパイルが行われるようになります。
ここまで、FMV-183/FMV-184 についての概要を書きましたが作成方法自体は、
PC/AT互換のモードのとき(
3.1 LAN カードと Linux 2.2 系カーネル
)とほぼ同じです。
唯一の違いは、「make *config」の際に、表示されるメッセージで、
「RATOC REX-3586, Fujitsu FM50L188/9 support (CONFIG_AT1700) [M/n/y/?]」
となることで、実際には、REX-3586 や FM50L188/9 ではないけど「これ」を有効に
するようにしてください。
|