シグマリオンつれづれ



NetBSD/hpcmipsによるUNIX環境作成

シグマリオンを購入して誰もが最初にやりたいと思うのはX Window Systemの構築だろう。このためのプラットホームとしてNetBSDを選択した。既に実績があり、今後も発展の可能性があるシステムだからだ。著者はFreeBSD、Linuxの利用経験はあるが、NetBSDは初めてである。実績があっても実際の運用については不明な点も多いため、経験的に得られた情報をここに公開することにした。

まず必要となるのはシグマリオン、CompactFlashやmicrodriveなどのメディア、そしてデータ処理に必須となるPCである。著者は当初64MBのCFとノートPC(インターネット接続可能)を使ってシステムを導入した。

NetBSD/hpcmipsはインターネット上にリソースがあるのでそこから入手する。現在(2000.12.16)、NetBSD1.5がRELEASEバージョンの最新のようであったので、これを利用することにした。snapshotとしては既にシグマリオンに対応したインストーラ等もあるようだが、未確認である。

CFに導入しやすいようにダイエットさせたDistributionがftp://ftp.jp.netbsd.org/pub/NetBSD/arch/hpcmips/pocketbsd/binary/sets/
にあるのでこのうちbase.tgz, comp.tgz, etc.tgz, kern.tgzを入手した。
WinCEからのブート用に
ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-1.5/hpcmips/installation/
からnetbsd.gzとpbsdboot.exeを入手した。

NetBSDマシン(又はその他のUNIXマシン)の無い状態でシグマリオンにNetBSDのパーティションを作成するのは単純ではない。著者は当初DOSフォーマットされたCFにインストールに必要なものを全て入れておけば簡単かと思ったが、パーティションの変更でCFの内容がクリアされてしまうためそのままではインストールできない。まずCFをノートPCで初期化し、インストールファイル類を入れられる最小限のサイズでDOSパーティションを切り直し、残りは未フォーマットの形にしてインストールを試みた。最初パーティションマジックというツールで切り直しを行おうとしてDOS状態でPCカードを認識させるために試用版のドライバ(CardWare)を導入するなどの手間をかけたが、今考えればWindows内のDOSプロンプトでfdiskを行うことで結果的には同じ状態になるはずである。

64MB中25MB程度をDOSパーティションとし、そこにインストールファイルをコピーしておく。ACアダプタをさした状態のシグマリオンにCFを挿して起動し、「タップ調整」「地域、日付設定」を行う。「メモリーカード」というフォルダがシグマリオンのルートフォルダにあるので、それをタップし中身を確認する。NETBSDというファイルが見つかったら、そのファイルをルートフォルダに移動する。これは後のブートプログラムで使うファイルだが、その場所を指定するときに楽だからである。ルートフォルダにあれば「\netbsd.gz」と書くことになる。

pbsdboot.exeを実行するとカーネルブートのメニューが表示される。Kernel nameは上記のように「\netbsd.gz」とし、Frame Bufferは User defineでMobileGearII MC-R520を選び、Byte/lineだけ1280に変更すればよい。Bootをタップするとインストール画面がそのうち出てくるはず。

この時メモリの内容をクリアするという警告が出るが、YESにしないとカーネルロードが始まらない。ということはWinCEに後からインストールしたアプリケーションや設定ファイル等が消えてしまうはずなので、予めバックアップを取っておくべきだろう。

a) Install NetBSD to hard disk
を選び、続けていくと、パーティションをどうするか聞いてくるので
a: Use only part of disk
を選ぶ。DOSパーティションが認識されていれば、partition 0にはDOS FAT16が表示されているはず。
b: Edit partition 1
で残りをNetBSDとして確保する。disklabelは
c: Custom
を選んでaに34MBほど確保し、残りをbのswapとした。さらにeというラベルに、既に作られているdosパーティションの内容も記録しておく。パーティションの時にsize specificationを変更しておくとStartやSizeの値が確認しやすい。

続けるとCustom installationでDistributionの選択画面になるのでKernel, Base, System を選んだ。ここでCompilerまで選んでインストールするとディスクがあふれてしまった。

次のSelect mediumからが問題なのだが、f: local dirを選んでDOSのマウント場所を指定しても認識しない。e: unmounted fsで/dev/wd0e msdos /dosなどと指定しても相変わらずである。諦める前に何度か試み、さらに前のメニューまで戻ってUtlity menuで Run /bin/sh でmount -t msdos /dev/wd0e /mnt2など色々試してもその時点ではmountエラーが起き正常にmountできない。しかし諦めずに再びインストールメニューまで行って/dev/wd0e msdos // などと指定したところインストールが開始された。disklabelが正しく書き込まれないのか、mountのデフォルトの位置が決まっているためなのか全く不明だが、インストール時のファイル表示は「/mnt2//dos/base.tgz」などとなっていたと記憶している。

ともあれインストールが開始されるとしばらく待たされる。ダイエット版の場合いくつかの環境設定は選択できないようである。インストールが終了したら再起動の必要がある。ここで再び初期設定(タップ、日付)が始まるが、Shiftキーを押したままの起動でスキップできるという情報もある(未確認)。再びpbsdboot.exeを起動し、今度のKernel nameには/netbsdと入れてbootするとシステムが立ち上がるはずである。

残りのDistributionについては tar pvfz /dos/hoge.tgz ./hoge/hogehoge などとインストールするが、残念ながら64MBのCFではどうやってもXの起動には至らなかった。コンパイル環境を導入するだけでもいっぱいいっぱいとなる。様々工夫してファイルを削っていけば良いのだろうが作業が大変なので著者は諦めた。

このまま諦めているのも何なので、192MBのCFで再度試みたところ、Xを起動するところまでは成功した。ただしgtkやperlなどを入れて開発環境を構築しようとするとまだまだ容量が足りない。Xの起動で特に問題となる点はなかったと記憶している(xbase, xcontrib, xfont, xmisc, xserverをインストール)。startxで起動できるが、ターミナルのサイズが大きいのでxinitrcは修正した。packagesにktermなどもあるのでpkg_addを使って個々導入していく(導入後rehashすること)。スタイラスペンでXのオペレートは可能だったが、右クリックに相当するメニューはどうやって出せばよいのだろうか、まだわかっていない。レジュームはXを使っていても成功するが画面がconsoleに戻ってしまう。再描画させれば復元する。浮動小数点を含む計算プログラムをコンパイル、実行してみているがお世辞にも速いとはいえない。著者はX上でxkanonなどのアプリケーションを利用したかったので、今後1GBのmicrodriveなどを購入して試してみたいと考えている。

Xを常時利用するようになるうちに困ったのがオペレーションの面倒さだ、主にtwmに起因する問題でもあるので良いウィンドウマネージャを捜すことにした。結果としてflwmを利用することにした。これはウィンドウの左側にメニューバーが出るので縦方向を有効利用できるのでまぁ便利だ。
NetBSD/hpcmipsにはmgl2というコンパクトで便利そうなGUIツールがあるのだが、これは日本語コードの利用に多少の制限がある(日本語EUCを想定している)ため、使い勝手が多少悪かった。
今のところX + flwm + kterm + canuum + w3m....というような組み合わせで利用中だ。

MN128とのシリアル接続(LASの利用)

シグマリオンには外部インターフェースとしてCF, IrDA, PDC/PHS端子, PC接続端子がついているが、このうちCFはストレージデバイスに充てたいという要望は強いはずである。すると通信に用いることができるのは残りのインターフェースとなり、携帯電話等コストのかかる通信法以外の接続方法となると光通信かシリアル通信に限られる。PC接続ケーブルはオプションだが、これを購入することでPCとは直接通信することが可能となり、確実である。PC経由でインターネット接続等も可能なようだが、常に利用時にはPCを起動する必要がある。もし手元にあるルータやTAなどに直接つなげることが出来れば新たにPCを用意する必要もなくインターネット接続が可能となると期待できる。NTT-MEのMN128シリーズにはLASというシリアル接続をLANに収容する機能を持つものがある。これを使ってシグマリオンをネットワーク参加させる試みを行っているので報告する。

MN128-Slotinとシグマリオンを別売りのPCケーブルで接続する。MN128にはシリアルケーブルも付いてくるが、これは使わない。そのままでは通信できないので、まずWinCEでの接続設定を行う。当初迷ったのはネットワーク設定を行うツールが二つあったことだ。シグマリオンの付属のMPメールを使うためには「インターネット通信設定」を使う必要があるようだが、これではシリアル接続用のCOM1ポートを選択できない。通信アプリケーションにあるリモートネットワークで設定する。この設定によってMN128をTAとして利用することは簡単に出来た。インターネット接続やメールの受信も可能である。しかしMN128のLAS機能を利用することはどうしてもできなかった。どうやらWindowsCEではDNS関係の設定でPPPに特別なオプションが必要なようなのだが、RASについてはMN128は対応できるがLASは不可能なようである。これはMN128側のOSのアップデートを待つしかないと思われる。

WinCEではLAS機能は利用できなかったが、NetBSD/hpcmipsのpppdではどうだろうか。試してみたところpppdでは正常にLAS接続が完了した。この結果シグマリオンをNetBSD/hpcmipsで利用する限りはローカルなネットワークのマシンとも接続でき、インターネットも利用できるようになった。
NetBSD/hpcmipsでのppp接続で注意すべき点はpbsdboot.exe実行時にシリアルポートの利用を可能に設定しておくことくらいである。これを忘れると接続できない。

交換について

P-in COMP@CT 利用時の不具合についてNTTDoCoMoに電話したところ、連絡先を教えると交換の申込用紙を送って来て、それを返送すると宅配で交換品が送られて来るという仕組みらしい。交換期限も迫っていたので手続きを行った。その後宅配業者から新品が送られてきた。その場で保証書を書いてもらい、古いシグマリオンについてはバッテリ(サブとメイン)とスタイラスペンを取り外して返却した。当然CFにバックアップを行っておいた。新機種で特に違いは感じなかったが実際には少しCPUが遅くなっているそうである。