Using
Linux and V-TOWNS
for FM V-TOWNS
FMV-TOWNS における Linux
FM V-TOWNS と Linux - Linux/TOWNS(TOWNSモード) ―
HOME 1st. Release 2001/11/06 / Last update. 2007/05/05 (JST)

FMV-TOWNS は、PC/AT互換機にPCI の TOWNS ボードを
中心とし TOWNS アーキテクチャを実装したマシンです。
もともと、FM TOWNS は、FM-R をベースとしているので、
かなり特徴的なマシンです。

  Table Of Contents     FM V-TOWNS について     Linux(AT モード)     Linux/TOWNS(TOWNSモード)     TOWNSモード関連(miscellaneous)  

    4. Linux/TOWNS を使用する


    ここでは、V-TOWNS での Linux/TOWNS の話題を、まとめます。
    HDD / PCIバス / LANカード / DVD-RAM

    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 以下の区画が壊される事が無い事を検証する事を目的と します。

    《検証方法》

    1. AT用の fdisk を使用して、8GB 以上の TOWNS モード区画を作成する。
    2. 8GB 以下の部分をパーティションで埋める。
    3. 実際にテストしたときのパーティション
      # 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 以上の区画を使用する事はできません。


    4. 「3.4 TOWNS モード区画と FM シリーズのパーティションテーブル」 を使用して AT用の Linux から、TOWNS モード区画内の FM シリーズ用の区画を 認識可能にする。
    5. TOWNS モード区画内の 8GB 以下のパーティションのチェックサムをとる。
    6. 実際にテストしたときのチェックサム(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 に相当します。


    7. Plamo/TOWNS を 8GB 以上の区画へインストールしてみる。
    8. 8GB 以下の区画に変化が無い事を確認するために、再度、チェックサムをとる。
    9. 実際にテストしたときのチェックサム(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 に変わっています。


    10. TOWNS モード区画内の FM シリーズ用の区画を認識するようにした、AT用の Linux から、Plamo/TOWNS をインストールしている区画をマウント可能な事を 確認する。

    11. (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 ではないけど「これ」を有効に するようにしてください。


about:V-TOWNS