Last update : May 23, 2001

Sharp Telios HC-AJ1にNetBSD/hpcmipsをインストール


Visitors since Feb. 5, 2001 : 来客カウンター

NetBSD/hpcmipsはMIPS系のCPUを搭載しているWindowsCE機をtarget machineとして開発されているCoolなOSです。現在動作確認されているマシンは星取り表にあります。
NetBSD/hpcmipsはユーザー数の関係からNECのモバイルギアIIシリーズがメインとなっています。BSDマガジンの第4号にもモバイルギアIIシリーズに対するインストールの記事が掲載されています。 さて、私が最近某ネット上のオークションで購入したSharp Telios HC-AJ1ですが、800x600の65536色のTFTディスプレイを有するマシンで、CPUは東芝製の129MHzのTX3922が搭載されています。ハードウェア的には素晴らしい物ですので、是非ともNetBSD/hpcmipsを動かしたいと思い、チャレンジした記録です。
現時点ではTelios HC-AJ1にNetBSD/hpcmipsをインストールする場合、モバイルギアIIシリーズと同様にインストールカーネルを使用し、容易にインストールすることが出来ます。この記録はTX3922用インストールカーネルが利用可能になる前の記録で、インストールカーネルを使用しない方法です。

使用ハードウェア


インストール手順

  1. ノートパソコンにNetBSD/i386(1.5_ALPHA2)をインストールする。
    最初NetBSD-1.4.1をインストールしてあるノートパソコンを使おうとしましたが、IBMのMicroDriveを認識しないため、急遽1.5_ALPHA2をインストールしました。(現時点では1.5 release版をお使い下さい。)
  2. NetBSD/i386を使ってIBM MicroDriveにdistributionをインストールする。
    1. NetBSD/i386のインストール用フロッピーディスクで立ち上げる。
      私は細かいことは分からないので、自分でdisklabelを設定したり、newfsしたりすることは避けて、NetBSD/i386のインストールフロッピーを利用してMicroDriveをフォーマットしました。
      NetBSD/i386のインストール用フロッピーディスクをFDDに挿入し、ノートパソコンを立ち上げ、そのまま、インストールプロセスに入ります。
    2. 操作の選択
      a: Install NetBSD to hard diskを選択します。
      Shall we continue -> b: Yesを選択。
    3. ディスクの選択
      On which disk do you want to install NetBSD? :
      内蔵ディスクがwd0、MicroDriveがwd1と認識されているので、wd1と入れる。
      695 cylinders 16 sectors 63 headsで良いかと尋ねてくるので、そのままの値を用いる。
    4. ディスクのパーティション
      a: Use only part of the diskを選択。単位はMegabytesを選択した。Partition 0にNetBSDを、Partition 1にDOS(FAT16・32MB以上)を割り当てた。NetBSDに322MB、残り(20MB)を全てDOS/Windowsに割り当てる。boot selectorは不要ですので、複数OS起動はNoを選択します。
    5. ディスクラベル
      wd1a (root)に53MB、wd1b(swap)に64MB、wd1e(/usr)に残り全て202MBを割り当てる。
    6. installerの終了
      newfsが終了したところでinstallerをCTRL-Cで強制終了します。そして、再起動して普通に内蔵のHDDからNetBSD/i386を起動します。
    7. distribution setsを保存するディレクトリの作成
      私は/usr/INSTALL/hpcmipsというディレクトリを作ってそこにセーブしました。
      # mkdir /usr/INSTALL
      # mkdir /usr/INSTALL/hpcmips
      # cd /usr/INSTALL/hpcmips
    8. distribution setsの取得
      ここで、最寄りのサーバからdistribution setsを取って来ます。
      kernelはTX3922用のものを用います。
      ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-1.5/hpcmips/binary/kernel/netbsd.TX3922.gz
      その他のファイルは
      ftp://ftp.jp.netbsd.org/pub/NetBSD/NetBSD-1.5/hpcmips/binary/sets/
      の*.tgzをダウンロードします。
      # ftp -i ftp.jp.netbsd.org
      ここは省略
      ・・・・・・・・・・・
      ・・・・・・・・・・・
      ・・・・・・・・・・・
      ftpが終了した後
      # gunzip netbsd.TX3922.gz
      # chmod 755 netbsd.TX3922
      を実行しておきます。
    9. ファイルのインストール作業
      まず、MicroDriveを/mntにマウントします。
      # mount /dev/wd1a /mnt
      # mount /dev/wd1e /mnt/usr
    10. distribution setsの展開
      # cd /mnt
      # ln -s /usr/INSTALL/hpcmips/*.tgz ./
      # tar -zxpf base.tgz
      # tar -zxpf etc.tgz
      # tar -zxpf comp.tgz
      # tar -zxpf man.tgz
      # tar -zxpf misc.tgz
      # tar -zxpf text.tgz
      # tar -zxpf xbase.tgz
      # tar -zxpf xcomp.tgz
      # tar -zxpf xcontrib.tgz
      # tar -zxpf xfont.tgz
      # tar -zxpf xserver.tgz
      # cp /usr/INSTALL/hpcmips/netbsd.TX3922 ./netbsd
      注!:kern.tgzはCPUがVR41XX(モバギ2など)用のkernelです。Teliosでは解凍しないで下さい。
    11. デバイスの作成
      # cd dev
      # ./MAKEDEV all
    12. 不要ファイルの消去
      # cd ..
      # rm *.tgz
    13. 設定作業
      ここまで、インストールしたらカードを外してTeliosに持っていって起動させることが可能です。但し、single userモードで起動するため、少々厄介です。普通でしたら厄介でも何でもない作業なのですが、Teliosにおいてこの状態で起動させると、起動時のメッセージが四角い箱で塗りつぶされていき、全く読めません。あるところで停止するのですが、次に何をして良いか全く分かりません。
      うまく起動した場合はおそらく
      root device:
      のところで停止していると思われます。
      そこで、wd0aと入れてリターンを押します。 次に
      dump device (default wd0b):
      と出ていると思われるので、そのままリターン。次に
      file system (default generic):
      と出ていると思われるので、そのままリターンしますと、ようやく読める字が現れてほっとします。(^_^)
      このまま、single userモードで作業を行うことも可能ですが、先に設定しておいて最初から一気にmultiuserモードで立ちあげる方が楽かなと思います。

      NetBSD/i386で設定する場合は
      # cd etc
      # vi rc.conf

      rc_configured=NO

      rc_configured=YES
      に変更します。

      myname, mygate, ifconfig.ne0, hosts, resolv.confをいつものように設定します。(これらの設定は後でもかまいませんが)
    14. PCMCIAカードを取り出す
      これで、i386側での設定は終了です。MicroDriveをアンマウントします。
      # cd /
      # umount /mnt/usr
      # umount /mnt
      PCMCIAスロットから取り出して下さい。
  3. MicroDriveをTeliosへセット
    Telios HC-AJ1のPCMCIAスロットに挿入します。Teliosはディスクの初期化を要求しますので、そのまま初期化します。20MBのディスクとして認識されます。ここにpbsdboot.exeをコピーします。
  4. いよいよ起動!
    バックアップはとりましたか?
    NetBSD/hpcmipsを立ち上げると全てのデータが失われます。
    また、コントロールパネルのシステムで、プログラム実行用のメモリをできるだけ多く割り当てておきましょう。
    pbsdboot.exeを立ち上げます。
    pbsdbootの設定は
    kernel name : /netbsd
    Frame buffer: Sharp Telios HC-AJ1/AJ2
    とします。
    BOOTボタンをクリックしてNetBSD/hpcmipsの世界へどうぞ!
  5. Xを起動する
    Xを起動するにはXのdistributionを展開するだけでなく、以下のような設定が必要です。
    # chmod g+rw /dev/ttyE* /dev/wskbd* /dev/wsmouse*
    /etc/ld.so.confを次のように設定します。(1.5.1_BETA2では不要)
    # cat /etc/ld.so.conf
    /usr/X11R6/lib
    /usr/local/lib
    /usr/pkg/lib
    1.5.1_BETA2では以下の設定を追加する必要があります。
    /etc/ttysの設定を変更します。
    console "/usr/libexec/getty std.9600" vt100 on secure
    とあるのを
    console "/usr/libexec/getty std.9600" vt100 off secure
    ttyE0 "/usr/libexec/getty std.9600" vt100 on secure
    と変更します。
    /etc/ttysを変更した後
    # kill -HUP 1
    を行います。(init(8)をkill -HUPして、/etc/ttysを読み込ませます。)

参考リンク

以下のページを参考にTelios HC-AJ1にNetBSD/hpcmipsをインストールいたしました。大変参考になりました。ありがとうございました。
sugimoto@sums.shiga-med.ac.jp