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用インストールカーネルが利用可能になる前の記録で、インストールカーネルを使用しない方法です。
使用ハードウェア
- Sharp Telios HC-AJ1メモリ32MBへ増設済
- 16MBコンパクトフラッシュカード
必須ではないがWindowsCE環境をバックアップするのに使用しています。
- IBM MicroDrive 340MB
コンパクトフラッシュカードサイズのハードディスク。現在1GBモデルが販売されています。これにアダプタを着せてPCMCIAスロットで使用しています。CFスロットでも使用できますが、WindowsCE環境では非常に不安定な場合があり、PCMCIAスロットで使用しています。HC-AJ1ではPCカードサービスパックをインストールしないとCFスロットでMicroDriveを使用することが出来ません。すなわち、NetBSDからrebootしてWindowsCEに戻った際には完全にRAMの内容はクリアされていますので、BackUpツールで内容を戻すなり、PCカードサービスパックを再インストールしないとMicroDriveを使用できません。その辺りを鑑みるとPCMCIAスロットでの使用をお勧めします。
- Xircom CFE-10
コンパクトフラッシュカードサイズのEthernet card。CFスロットで使用。
- USBマウス
X Windowを使うには必須です。私は980円で見つけた3 button mouseを使用しています。
- Adaptec SLIM SCSI 1460(今回は使用せず)
WindowsCE環境で使えるSCSIカード。勿論NetBSD/hpcmipsでも対応。外付けHDDを使うときに使用します。(だだし、hpcmipsではディジーチェーンは出来ません。)
- NetBSD/i386をインストールしてあるノートパソコン(必須)
IBM MicroDriveにファイルをインストールするのに使用します。
インストール手順
- ノートパソコンにNetBSD/i386(1.5_ALPHA2)をインストールする。
最初NetBSD-1.4.1をインストールしてあるノートパソコンを使おうとしましたが、IBMのMicroDriveを認識しないため、急遽1.5_ALPHA2をインストールしました。(現時点では1.5 release版をお使い下さい。)
- NetBSD/i386を使ってIBM MicroDriveにdistributionをインストールする。
- NetBSD/i386のインストール用フロッピーディスクで立ち上げる。
私は細かいことは分からないので、自分でdisklabelを設定したり、newfsしたりすることは避けて、NetBSD/i386のインストールフロッピーを利用してMicroDriveをフォーマットしました。
NetBSD/i386のインストール用フロッピーディスクをFDDに挿入し、ノートパソコンを立ち上げ、そのまま、インストールプロセスに入ります。
- 操作の選択
a: Install NetBSD to hard diskを選択します。
Shall we continue -> b: Yesを選択。
- ディスクの選択
On which disk do you want to install NetBSD? :
内蔵ディスクがwd0、MicroDriveがwd1と認識されているので、wd1と入れる。
695 cylinders 16 sectors 63 headsで良いかと尋ねてくるので、そのままの値を用いる。
- ディスクのパーティション
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を選択します。
- ディスクラベル
wd1a (root)に53MB、wd1b(swap)に64MB、wd1e(/usr)に残り全て202MBを割り当てる。
- installerの終了
newfsが終了したところでinstallerをCTRL-Cで強制終了します。そして、再起動して普通に内蔵のHDDからNetBSD/i386を起動します。
- distribution setsを保存するディレクトリの作成
私は/usr/INSTALL/hpcmipsというディレクトリを作ってそこにセーブしました。
# mkdir /usr/INSTALL
# mkdir /usr/INSTALL/hpcmips
# cd /usr/INSTALL/hpcmips
- 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
を実行しておきます。
- ファイルのインストール作業
まず、MicroDriveを/mntにマウントします。
# mount /dev/wd1a /mnt
# mount /dev/wd1e /mnt/usr
- 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では解凍しないで下さい。
- デバイスの作成
# cd dev
# ./MAKEDEV all
- 不要ファイルの消去
# cd ..
# rm *.tgz
- 設定作業
ここまで、インストールしたらカードを外して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をいつものように設定します。(これらの設定は後でもかまいませんが)
- PCMCIAカードを取り出す
これで、i386側での設定は終了です。MicroDriveをアンマウントします。
# cd /
# umount /mnt/usr
# umount /mnt
PCMCIAスロットから取り出して下さい。
- MicroDriveをTeliosへセット
Telios HC-AJ1のPCMCIAスロットに挿入します。Teliosはディスクの初期化を要求しますので、そのまま初期化します。20MBのディスクとして認識されます。ここにpbsdboot.exeをコピーします。
- いよいよ起動!
バックアップはとりましたか?
NetBSD/hpcmipsを立ち上げると全てのデータが失われます。
また、コントロールパネルのシステムで、プログラム実行用のメモリをできるだけ多く割り当てておきましょう。
pbsdboot.exeを立ち上げます。
pbsdbootの設定は
kernel name : /netbsd
Frame buffer: Sharp Telios HC-AJ1/AJ2
とします。
BOOTボタンをクリックしてNetBSD/hpcmipsの世界へどうぞ!
- 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