IBM PC110
ターボ入りウルトラマン
――IBM PC110にTurboLinux日本語版3.0を入れる――


Copywrigth (C) '1999 by Kazumi Takei. All Rights Reserved.



 Linuxを使う必要があったため、いくつかのマシンにパシフィック・ハイテックのTurboLinux日本語版3.0(以下、TurboLinuxと略記)をインストールしてみた。複数のマシンに何度もインストールしていると、ついついどんなマシンにインストールできるのか実験してみたくなる。そこで、IBM ParmTop PC110というマシンにTurboLinuxをインストールしてみた。これはそのときの覚え書である。

ウルトラマンは世界最小のPC ATマシンだ

UNIXといえば、かつてはパソコンよりもはるかに高スペックで高価なワークステーションやミニコンに搭載されるOSだった。
 ところが、パソコンのスペックがどんどん高くなり、またLinuxに代表されるUNIXライクなOS――PC UNIXの登場によって、パソコンにLinuxを搭載して活用するユーザーが急増してきた。インターネットやLANといったネットワークの普及によって、ネットワークに強いOSが必要になってきたともいえるだろう。
 個人でも入手できるPC UNIXには、いくつかの種類がある。なかでも今もっとも勢いのあるのが、TurboLinuxだろう。そこで手元にあるパソコンのなかで、どんなマシンにインストールできるのか実験してみた。
 動作環境   CPU  486DX以上
 メモリ  16MB以上
 ハードディスク  150MB以上
 CD-ROM  ATAPI/SCSI
 フロッピードライブ  1.44MB

 TurboLinuxのパッケージには、動作環境として表のように記載されている。
 この程度のスペックなら、かなり古いマシンにもインストールできそうだ。そこで手近にあったマシンにインストールしてみた。インストールしたのは、IBM PalmTop PC110(以下PT110)というマシン。「ウルトラマンPC」というニックネームでWindows95の発売の1カ月前、つまり1995年に発売されたものだ。重量わずか630グラムで、カラー液晶画面を持つ世界最小のPC ATマシンである。

PC110 with Windows95  このウルトラマンPCのスペックは、次のようなものである。

 CPU  Intel 486SX 33MHz
 メインメモリ  4MBまたは8MB
 ディスプレイ  4.7インチ、640×480ドット
 256色DSTNカラー液晶
 その他  4MBフラッシュメモリ内蔵(交換不可)
 スマート・ピコ・フラッシュ用スロット1
 PCMCIAカードType2×2
 2400bpsモデム内蔵

 電源には、ACアダプタのほか、8ミリビデオカメラなどに使われているリチウムイオンバッテリーも利用でき、発売当時はそのユニークな設計や発想に、パワーユーザーが面白がって購入したマシンだ。このバッテリーは、フル充電の状態で約1.3〜3時間の稼働が可能だった。
バッテリー
(リチウムイオンバッテリー)

 さらに、周辺機器と接続するためには、専用のポートリプリケータが必要になる。フロッピーディスクドライブは外付けで、このポートリプリケータに接続して利用する。
 実はこのマシン、95年発売当初に購入して1年ほど使っていた。もちろんWindows3.1で使い、さらにWindows95を載せて使ってもいた。購入時に、フラッシュメモリ内に独自のPIMソフトがインストールされており、これを使ってPDA的に利用することもできたが、当時はWindows95をインストールして使うのがおしゃれだった。
ポートリプリケータ
(ポートリプリケータ)

 ただし、PCカードスロットが2つしかないため、Type3のHDDカードを入れてしまうと、PCカードタイプのモデムカードが使えず、また当然ながら外付けCD-ROMドライブも接続できない。そこでType2の40MBのフラッシュメモリカードを購入し、ここにWindows3.1をインストールして使っていた。いつもはHDDカードのWindows95を、外出時に持ち歩くときはモデムカードを利用して通信が行なえるよう、Windows3.1の入ったフラッシュメモリカードとモデムカードを差して利用した。

 筆者が購入したのは、メインメモリが8MBのタイプのもの。これには4MBのメモリと、さらに4MBの拡張メモリが搭載されていた。この4MBの拡張メモリを外し、ここに8MBの拡張メモリを載せると、メインメモリはめでたく12MBになる。購入当時、メインメモリを増設するのが流行ったが、筆者もこうして12MBに増設して使っていた。
 33MHzの486SXで、メインメモリが12MBでは、TurboLinuxの動作環境に届いていない。が、それでもX Windowを使わなければまあまあの動作環境といえるだろう。

インストール前の準備

TurboLinuxをどうインストールするか、考えてみた。
 まず、インストールするためにはフロッピーディスクドライブとCD-ROMドライブが必要になる。フロッピーディスクドライブを利用するためには、ポートリプリケータに接続すればいい。
FDD
(外付けフロッピーディスクドライブ)
 CD-ROMドライブは、外付けのものを接続することになるが、これには2つの選択肢がある。1つは、ポートリプリケータのパラレルポートで接続する方法。こちらの方法では、パラレルポート接続のCD-ROMドライブが必要だ。
 もう1つは、PCカードタイプの外付けCD-ROMドライブを接続する方法。ただし問題がある。TurboLinuxをインストールするためには、ハードディスクに最低でも170MB程度の空き容量が必要だ。

 ところがウルトラマンには、内蔵フラッシュメモリがあるものの、これは4MBという容量。当然ながら、ここにインストールするわけにはいかない。そこでType2のフラッシュメモリカードの利用が考えられるが、170MBなどという大容量のフラッシュメモリカードなんてない。残る道は、Type3のHDDカードを使い、ここにTurboLinuxをインストールする方法だが、Type3ではPCカードスロット2つを占拠してしまうため、PCカードタイプのCD-ROMドライブが接続できない。

 そこで利用したのが、タイプアダプタという製品だ。これはType3のPCカードをType2のスロットで利用できるようにするアダプタ。ウルトラマンを購入する前に、HP社のHP200LXを使っていたが、このときときどき利用していたものだ。これを流用すれば、ウルトラマンでもHDDカードとPCカードタイプの外付けCD-ROMドライブとの2つを、同時に接続して利用することができる。
HDDカードとタイプアダプタ
(左:340MBのHDDカード
右:タイプアダプタ)

 まず、HDDカードを挿入して、MS-DOSのFDISKコマンドでHDD内をまっさらな状態にしてしまう。実際にはこの作業は不要だが、念には念を入れたわけだ。電源投入時に、HDDカードから起動しないようにするためでもある。
 このHDDカードを取り出し、タイプアダプタに接続して、カードスロットに挿入。さらにPCカードタイプのCD-ROMドライブも接続。そしてボートリプリケータにウルトラマンを乗せ、フロッピーディスクドライブを接続。これで準備完了だ。

 いや、最初にもうひとつやっておきたいことがある。ウルトラマンには4MBのフラッシュメモリが内蔵されている。これはLinuxをインストールする場合、hda1として認識されてしまう。もちろんそれでもかまわないが、実際にはなぜかLinuxをインストールしたあとの起動で、うまくウルトラマンが起動できなかったのだ。
 そこで内蔵フラッシュメモリは、MS-DOSでシステムフォーマットしておこう。LILOをどこに置くかでも異ってくるのだろうが、筆者はHDDカード(hdcとして認識される)にインストールし、ブートパーティションの最初のセクタにLILOをイスントールした。最初はマスターブートレコードにLILOをインストールしたが、これもうまく起動できなかったため、この方法になってしまった。フロッピーディスクにLILOをインストールするという手もあるが、これではいつもポートリプリケータに乗せて起動しなければならない。一番確実なのは、LinuxをインストールしたHDDカードにLILOを置く方法だろう。(※注:これでも正常に起動できなかった。詳細はここ

 電源を入れてすぐにHDDカードから起動するためには、内蔵フラッシュメモリの起動を遅らせる必要もある。そこで[F1]キーを押しながら電源を入れ、BIOS設定画面(イージーセットアップ)を起動。ここで「Start up」を指定して、システムの始動ドライブの優先順位を、FDD→HDD1→PCMCIAの順に変更した。MS-DOSやWindowsで使う分には、FDD→PCMCIA→HDDの順番のほうが便利なのだが、Linuxではどうもうまくいかなかったからだ。(※注:解決策もここ


TurboLinuxのインストール

備が終わったら、フロッピーディスクドライブにTurboLinuxのインストールディスクを挿入して、ウルトラマンを再起動する。これでフロッピーディスクからブートイメージが読み込まれ、TurboLinuxのインストールが始まる。

 PC110だからといって、とくに変わった設定はない。ただし、ハードディスクを内蔵していないため、タイプアダプタにHDDカードをつなぎ、これをPCカードスロットに入れておかなければならない。また、インストールにはPCカードタイプのCD-ROMドライブを利用するため、これも接続しておく。タイプアダプタの形状のため、2つあるカードスロットの上にタイプアダプタ、下にCD-ROMドライブという形になってしまった。
 なお、CD-ROMドライブにはこれまで何度かLinuxをインストールし、何のトラブルもなかったPanasonicのKXL-DN740Aを利用した。また、インストールにPCMCIAを利用するため、TurboLinuxの
追加モジュールディスクが手元にない場合は、マニュアルの記述に従って事前に作成しておくこと。

 TurboLinuxのインストールディスクをフロッピーディスクドライブに入れ、ウルトラマンを再起動すると、ディスクが読み込まれ、まずインストール開始のメッセージが表示され、インストールが始まる。インストールは日本語で行われるから、とくに迷うこともないだろう。
 最初に色の選択。ウルトラマンのディスプレイはカラーディスプレイだから、ここは
「はい」を指定。すると「TurboLinux日本語版 (Karatu)へようこそ!!」という最初のメッセージが表示される。[OK]を押すと、今度はキーボードタイプの選択。ここではjp106を選択すればいい。

 次はPCMCIAサポートの設定。インストールするために外付けのPCカードタイプのCD-ROMドライブを利用するから、ここでは
「はい」を指定。すると追加モジュールディスクに交換するよう促されるから、指示にしたがって追加モジュールディスクを挿入する。
 追加モジュールディスクが読み込まれると、PCMCIAサービスを開始すると表示され、ピッと高い音、続いてビッと低い音が鳴る。これがPCカードが認識されたときの音だ。
 さらに接続しているPCMCIA機器が表示される。ここでは「Socket 0 : Raven CD-Note SCSI」と表示されていた。[OK]を押す。
 次はインストール先の選択。ここではもちろん「CD-ROM ドライブ」を選択。するとインストールCDを挿入するよう指示が出るから、接続しているCD-ROMドライブにTurboLinuxのインストールCDを入れて[OK]を押す。CD-ROMドライブが初期化され、インストールが始まる。

 まず、インストールオプションの選択。ここでは「
標準」を指定した。ネットワーク接続方法を聞かれるが、ウルトラマンではとりあえずネットワーク接続する予定はない。というより、このままではネットワーク接続ができない。というのも、PCカードスロットがHDDカードで埋まってしまうからだ。ネットワークに接続するためには、別の方法が必要だが、これらの設定はインストール後にもできるから、ここではネットワークを選択せずに[終了]ボタンを押しておく。
 次はSCSI機器の設定だ。通常に考えれば、いま現在、PCカードタイプのCD-ROMを接続しており、実際にはこのドライブはSCSI機器なのだが、これはPCMCIAとして正常に認識されている。それ以外にSCSI機器は接続していないから、ここでは「いいえ」を指定すればいい。

 そしてパーティションの設定だ。パーティションを設定するドライブが2つ、表示されている。1つは内蔵フラッシュメモリであるSunDisk SDP3B-4、もうひとつはタイプアダプタで接続しているType3のHDDカード。こちらは「
Integral Peripherals 8340PA」と表示された。
 先頭の表示を見るとわかるが、内蔵フラッシュメモリのほうが「/dev/hda」で、HDDカードのほうが「/dev/hdc」と認識されている。初心者はちょっとわかりにくいかもしれないが、ここでインストール先を間違えないよう注意。インストールするのはHDDカード、つまり「/dev/hdc」のほうだ。

 Linuxの場合、パーティションは最低2つ必要になる。1つはスワップ領域、もうひとつは標準の領域。最初にスワップ領域を80MB程度作成しておけばいいだろう。利用するHDDカードの容量にもよるが、筆者が利用したカードは340MBだったから、80MBと250MBに分割してみた。残り10MBは、DOS領域だ。インストールするタイプによって必要な容量が異なり、すべてのファイルをインストールしようと思えば葯800MB必要になる。HDDカードにはそんなに容量はないから、インストールタイプとHDDの容量によって決定するしかない。

 ちなみに、インストールタイプによって次の容量が必要になる。

・ルータ 74MB
・X端末 151MB
・SHOHOサーバ 168MB
・標準ワークステーション 522MB
・開発ワークステーション 687MB
・すべて 862MB

 パーティションの作成が終わったら、FDISKを終了。次はスワップ領域の設定。さらにマウントテーブルの設定。ここではHDDカードに作成したDOS領域をマウントするよう設定しておくと、あとで都合がいい。
 Linuxパーティションをフォーマットし、ネットワーク設定でドメイン名を設定する。Linux初心者にはちょっとわかりにくいが、とりあえず適当な名前を設定してしまってかまわない。ウルトラマンでネットワークを行なう予定がないからだ。また、あとで変更することもできる。

 そして実際のインストール。ディスク容量や、Linuxをどんな用途に利用しようと考えているかによっても、インストールタイプは異なってくる。本当ならすべてのパッケージをインストールしたいところだが、HDDカードすべてでも340MB、Linuxパーティションとして250MBしかないから、ルータかX端末、あるいはSHOHOサーバの選択しかない。そしてとりあえずネットワークに接続しないつもりだから、ここではX端末を指定するといい。

 パッケージのインストールが終了したら、LILOのインストールだ。これについては、「LILOの削除」を見ていただくとわかるが、結論からいえばマスターブートレコードにインストールしてしまうといい。
 次がXの設定。これも「X Windowの設定」を見てもらうといい。あとでちゃんと設定するから、ここでは適当でかまわない。システムに自動的に認識させてしまうといい。

 システムの設定で、もし画面表示がおかしくなったり問題が出たら、とりあえずFn+F7キー([Fn]キーと[F7]キーを同時に押す)を押してみよう。これで元のノーマルな画面表示に戻るだろう。
 なお、キーボードはjp106日本語キーボードを指定。マウスはシステムが自動的に検索するが、「一般的なPS/2マウス」に設定すればいい。
 また、ディスプレイは「デフォルトディスプレイ」を、デフォルト色数は「8bitカラー(256色)」を、ビデオモードは「640x480」を、フォント解像度は「100DPI」を指定。
 さらに、ログイン方法(Change Login Method)では「テキストログイン」を設定しておこう。ウルトラマンのX Windowは、少なくとも筆者は、使うのにかなりの忍耐が必要だ。起動時にXが立ち上がるまで辛抱強く待つのは、ちょっと耐えられそうもない。

 インストーラにしたがって、時間の設定やプラグ&プレイの設定(スキップする)、プリンタの設定(これもキャンセル)などを行い、ルートパスワードの設定やユーザーの追加などが終わると、これでインストール完了。[終了]ボタンを押すと、インストールが終了してLinuxが終了する。
 その後、いまインストールしたLinuxが起動するはずだ。もし起動しない場合は、LILOのインストールがうまく行われていないか、LILOが正常に動いていないのだろう。
 これらについての対策は、次で詳しく説明する。


LILOの削除

ったんはうまくいったかのように見えたTurboLinuxのインストールだが、実は筆者はHDDカードを2枚持っており、1枚にはTurboLinuxを、もう1枚にはWindows3.1/95を入れて利用したいと思っていた。このカードを交換するだけで、Linux環境を起動したりWindows3.1を、あるいはWindows95を起動したりすることができる……はずだった。
 ところが、できなくなってしまった。Windowsのカードを入れて起動すると、LILOが「LI」で止まってしまい先に進まないのだ。
 Windowsを起動するためには、「FDISK /MBR」を指定して、マスターブートレコードを元に戻すしかなくなってしまったのである。しかたないからLILOを削除すると、当然ながらLinuxが起動しなくなった。

 いや、もっと問題なのは、カードHDDを挿入してPC110を起動すると、カードの内容によって環境が変わってしまうことだ。つまり、こういうことである。
 Windowsのカードを入れて起動すると、Windowsカードは1番目のハードディスク、つまりCドライブとして認識される。内蔵フラッシュメモリは2番目のハードディスクでDドライブだ。

 ところが、Linuxのカードを入れて起動すると、内蔵フラッシュメモリがhda1で、カードHDDはhdc1、hdc2(スワップ領域とルートパーティション領域)として認識されるのだ。
 それだけなら問題はないが、イージーセットアップによって起動ドライブの順番を設定すると、カードHDDはPCMCIAカードであり、内蔵フラッシュメモリがHD1となっているのだ。そこで起動の順番を
FD→PCMCIA→HD1と指定すると、Windowsのカードを入れて起動したときはPCカードであるカードHDDがCドライブとして起動する。もちろん、起動できるシステムが入っているからだ。

 ところが、その状態でLinuxのカードを入れて起動すると、Linuxのカードからは起動できず、内蔵フラッシュメモリがHD1のCドライブとして起動してしまうのである。LILOが入っていれば問題はないが、LILOを削除してしまうとLinuxが起動できない。だからといってLILOを残しておくと、今度はWindowsのカードで起動できない。

 ここで頭を悩ませた。Windowsカードを入れたらWindowsが起動し、Linuxカードを入れたらLinuxが起動できるような方法はないのか。
 イージーセットアップでの設定は、Windowsを起動するためにはカードHDDがCドライブになる必要がある。つまり、内蔵フラッシュメモリよりも先にシステムが認識される必要があるのだ。また、LILOは削除しておく必要もある。そのためには、起動順序を
FD→PCMCIA→HD1に設定しなければならない。だが、この順番ではLinuxが起動できない。

 そこで思い出したのが、LinuxにはDOSから起動できる設定があるということだ。LOADLINを使用するのである。
 LOADLINを利用するためには、LinuxのカードにDOS領域を作成する。ここにLOADLINを入れ、まずDOSで起動しておいて、起動DOSからLOADLINでLinuxを起動させたらどうか。この方法なら、起動ドライブの順番はWindowsカードの場合とLinuxカードの場合とまったく同じでかまわないではないか。

 長々と説明したが、結局この方法が筆者の利用環境には最も適しているようだ。というわけで、ポートリプリケータを接続したりCD-ROMドライブを接続したりして、もう一度Linuxカードの設定を行ない、Linuxをインストールし直した。
 今度は、まずDOSのFDISKコマンドでディスク内にDOS領域を作成した。これは実際には1MBもあればいいだろう。あとあとのことを考え、筆者は10MBのパーティションを設定した。さらにこの領域をDOSでシステムフォーマット(Format /s)して、起動できるように設定。イージーセットアップの起動順序で、Windowsのカードが起動できる設定のままで、こちらのLinuxのカードが起動できるかどうか確認しておこう。
 このカードをスロットに挿入し、TurboLinuxのインストールディスクで起動して、このカードにLinuxをインストールする。スワップ領域も作成するため、このカードは次のように設定された。

 hdc1……DOS領域
 hdc2……Linuxのスワップ領域
 hdc3……Linux領域

 この設定で、もう一度Linuxをインストール。LILOはマスターブートレコードにインストールしてしまってかまわない。そのほうが後の作業が楽だろう。
 インストールが終了し、システムが再起動されると、カードからLinuxが起動する。LILOをインストールしなかったり、別の場所にインストールすると、たぶんLinuxが起動できないはずだ。こんなときは、もう一度最初からインストールを行なわなければならなくなってしまう。

 Linuxが起動したら、このカードのDOS領域をマウントする。実際にはインストール時にマウントするよう設定できるから、覚えていたらインストール時に設定しておいたほうが都合がいいだろう。筆者はルートディレクトリのdosというディレクトリに設定しておいた。
 さらに次のコマンドを実行し、カーネル、ディスクイメージをDOS領域に作成する。この方法はマニュアルにも記載されている。

  # PATH=$PATH:/sbin
  # modprobe loop
  # mkinitrd -f /boot/initrd 2.0.35
  # mkdir -p /dos/linux
  # cp /boot/vmlinuz /boot/initrd /dos/linux

 DOS領域にLinuxのディレクトリを作成する部分は、環境に合わせて変更していただきたい。
 ここまで終わったら、Linuxをシャットダウン。さらにシステムフォーマットしてFDISKコマンドを入れておいたDOSのフロッピーディスクでPC110を起動し、「FDISK /MBR」と指定して、マスターブートレコードを元に戻す。LILOの削除だ。

 この状態では、Linuxカードを入れて起動しても、DOSが起動するだけ。それから先には進まない。そこで、先ほど作成したDOS領域のLinuxディレクトリに、LinuxのCD-ROMのDOSUTILSディレクトリにあるLOADLIN.EXEファイルをコピー。また、LOADLINを使ったLinuxの起動バッチファイルを作成する。これはBOOT.BATなどのファイル名でいいだろう。バッチファイルの内容は、次のものだ。

  loadlin vmlinuz root=/dev/hdc3 initrd=initrd vga=normal

root=/dev/hdc3」の部分は、やはり環境によって書き換えていただきたい。筆者の環境では、Linuxのパーティションはhdc3に設定したからだ。
 あとはDOSを英語モードにし、いま作成したBOOT.BATを実行すればいい。これでめでたくLinuxが起動できる。

 もっとスマートな方法もあるかもしれない。が、PC110という特殊な環境では、これが精一杯の考えられる方法だった。


X Windowの設定

Linuxをインストールし、このLinuxのHDDカードからもWindowsをインストールしたHDDカードからも、簡単にシステムが起動できるようになったのはいいが、実はまだ問題が残っていた。X Windowが正常に表示されないのだ。
 実は、インストール時にいろいろと試したのだが、どうしても正常に表示されない。どこかを変更すると、なんとか表示されるが、ゴーストが出てとても見られたもんじゃない。そのままキャンセルしても、以後画面はブレブレという感じになったまま。

 もちろん、インストール終了後にはturboxcfgを起動して、X Windowの設定を試行錯誤してみた。が、やはりゴーストが出たままの画面は表示されるが、それ以外はダメ。XF86Configファイルを編集して変更してみたりしたが、どうにもうまく表示されない。
 一時は、ウルトラマンでX Windowは無謀だとあきらめかけていた。実は、すでに手元のPC110のマニュアルが紛失していて、使われているビデオチップやディスプレイの詳しい情報など判然としない状況でもあったのだ。


 turboxcfgで自動的にハードを認識させると、各項目は次のように認識された。

Console Keyboard : jp106
XKB Model/Layout : jp106(jp)
Mouse : Generic PS/2 Mouse on /dev/psaux
Probed Card : Chips & Tech F65530:PORT (XF86_SVGA)
Configured Card : Chips & Technologies CT65535 (XF86_SVGA)
Video RAM : 1024 kb
Monitor ID : 640x480 LCD (Generic 640x480 LCD)
Monitor Freqs : HSync 31.5 KHz VSync 50-70 Hz
 勝手に設定した部分もあるかもしれないが、おおむねこんなもんだろう。ゴーストが出た状態の画面は、たぶんディスプレイの周波数、あるいは水平周波数や垂直周波数などが合っていないのではないだろうか。
 そう考えて、このあたりの数値をいろいろと試してみたが、やはりゴーストは消えない。256色だが、Video RAMの設定値も異っているのかもしれない。XFree86 3.3.2からNeoMagicチップにも対応したが、Chips & TechnologiesのCT65535にも対応している。上記の設定でダメなら、やはり周波数あたりを細かくいじっていくしかないのだろうか。

 そう思っていたとき、かまた よしなおさんの「
Mobile Linux on the IBM Palm Top PC110」のページで、X Windowをスタートしたあと、FnキーとF7キーを押せばいい、という記述を拝見した。
 Fn+F7というのはウルトラマンの場合、内部LCDと外部ディスプレイとの表示変更機能だ。外部ディスプレイを接続している場合、ウルトラマンの表示をディスプレイに出すために、Fn+F7を押せばいい。もちろん逆に、外部ディスプレイから内部LCDに戻したいときも、Fn+F7を押せばいい。
 startxを指定してX Windowを起動し、画面が表示されたら、このときもFn+F7キーを押すと、何と不思議なことにX WindowがLCDで正常な表示に戻るのだ。出ていたゴーストがウソのように、ちゃんとTurboLinuxの壁紙が表示させている(下画面参照)。もちろん、AfterStepが起動する。

 これでX Windowの設定は終わってしまった。ウルトラマンでX Windowを動かすのは、かなりのストレスになるが、それでもウルトラマンでX Windowが動くだけで感動ものだ。
Linux on PC 110
 なお、とりあえず正常に動いているXのXF86Configの内容は、ここのファイルのようになっている。


このページに関するご質問は こちら まで.
Copywrigth (C) '99 by Kazumi Takei. All Rights Reserved.


[ Home ]