ふりかけFreeBSD

CASIOPEIA FIVA MPC-206編

(掲載:2002/09/22)

なぜか高校の先輩から CASIOPEIA FIVA MPC-206 を借りることになりました。 とはいえ、このまま金銭トレードで我が家に来ることになりそうです。

よく動くので金銭トレード成立しました。 このページはかなり書き散らしている感じです。 (利用される方がいらっしゃるかどうかわかりませんが)内容は無保証ですので御利用される方は自己責任で御利用下さい。


お題目


参考ページ

楽をしたいので、同じようなことをしている人が いるかどうか WWW で検索します。

検索した結果、どう考えてもたかのゆーじさんのこのページ http://www.running-dog.net/bsd/fiva206/ を参考にしないわけにはまいりません。熟読します。


bsdboot.com の秘密

(2002.8.24記)

いろんな関係で、このマシンでは Windows は起動しなくなっていました。 Bモードの Linux は起動します。

このさいなのでこのマシンでは、Windows にさよならして PC-UNIX のみで使うことにしましょう。

MPC-206を(内蔵ハードディスク以外で)ブートするのにはいくつかの方法があります。

MPC-206 にはフロッピーディスクドライブは付属していません。 私はUSB接続のフロッピーディスクドライブは持っていないので フロッピーディスクによるブートは使えません。

CD-ROM ドライブからブートができれば、 FreeBSD のインストール CD-ROM から起動できるのですが、 手持ちのメルコ CD-ROM ドライブではブートできませんでした。

今回は手持ちの部品だけでなんとかしてみたい、ので 手持ちのコンパクトフラッシュを使って起動してみました。

手持ちのコンパクトフラッシュは、ハギワラシスコムの「HPC-CFT32」という 32MB のコンパクトフラッシュです。 IBM PalmtopPC 110 で PC-DOS/V 7.0J が起動するようになっています。 (webboy 用だったりします)

このコンパクトフラッシュを(CFアダプターを使って) PCカードスロットに差してみました。 DOS が起動しました。使うことができそうです。

コンパクトフラッシュの認識

今回は ThinkPad240Z を母艦として使い、 コンパクトフラッシュへの書き込みをします。 Windows 98 を使えばコンパクトフラッシュを認識しますが、 FreeBSD でやってみます。 ちなみにシステムは FreeBSD-4.6.1-RELEASE になっています。

試行錯誤の末、/etc/pccard.conf に以下の行を追加すると うまく行きました。なぜうまくいくのかはよくわかりません。

# HAGIWARA FLASH
card "HAGIWARA" "HPC-CFT32"
        config  0x01 "ata" ?

mount するにはこんなコマンドです。

mount -t msdos -o ro /dev/ad8s1 /mnt

bsdboot.com

コンパクトフラッシュを認識したので、 このコンパクトフラッシュを 初期化して FreeBSD をインストールしておけば、 Fiva で FreeBSD をブートすることができるはずです。

とはいってもハードディスクへのFreeBSDへのインストールが終れば コンパクトフラッシュ内のFreeBSDは不要になります。 わざわざコンパクトフラッシュ内の DOS環境を壊すのもなんだなあ、と 思うわけです。

と思ったら、DOS から各種 *BSD をブートできる bsdboot.com というプログラムがありました。ありがたいことです。

http://www.nurs.or.jp/~kurati/bsd/index.html からたどると最新の bsdboot.com をダウンロードすることができます。

これはどう使うかというと、DOS から見えるところに bsdboot.com と FreeBSD のカーネル(ファイル名「kernel」) を置いておき、

bsdboot -f kernel

などとします。 このときには、EMSなど DOS用の拡張メモリドライバが 起動していてはいけないということです。 面倒なので、あらかじめ CONFIG.SYS を別名にリネームして 何も読み込まないことにしました。

bsdboot から呼び出す kernel は通常のカーネルではなく、 2.88M版のインストールフロッピーに含まれるカーネルが必要です。 ですが、とりあえず手元にあった 4.4-RELEASE の CD-ROM の ルートディレクトリにあった kernel.gz ファイルでも 大丈夫でした。

もしインストールフロッピーからカーネルを取り出したい時は、こんな感じです。

# vnconfig -c /dev/vn0 /mnt/floppies/boot.flp
# mount /dev/vn0 /usr/home/hoge/tmp

# cp /usr/home/hoge/tmp/kernel.gz /doko/ka/

# umount /dev/vn0
# vnconfig -u /dev/vn0

ちなみに、4.5-RELEASE の boot.flp では kernel と mfsroot が 分かれているため(?)bsdboot.com でブートしても途中で 止まってしまいました。

とりあえずは 4.4-RELEASE をインストールすることにしました。 OSさえインストールしてしまえば後からバージョンアップできますし。 とはいっても 4.4-RELEASE の CD-ROM は捨てずにとっておくのがよさそうです。


FTPインストール、内蔵LAN遅い?

コンパクトフラッシュから bsdboot.com で 4.4-RELEASE のインストーラを 起動することまでできるようになりました。 PCカードスロットにはコンパクトフラッシュが入っていますから、 内蔵LANを使ってインストールするのが最も簡単です。

ThinkPad240Z に CD-ROM ドライブを接続して 4.4-RELEASE の CD-ROM を mount しておきます。 240Z を FTPサーバとして、MPC-206 から FTPインストールする ことにしました。

anonymous FTP サーバの設定が面倒なので、240Z 上の 一般ユーザーのアカウントを使います。 (インストーラ側では、ftp のアカウントに「ftp」以外のものを 指定することができます) URL を入力する時に ftp://192.168.0.201//mnt/ のように入力しました。

4.4-RELEASE には XFree86 3.3.6 が付属します。 あとで ports から XFree86 バージョン 4 以降を入れてもいいのですが、 ここでは付属の XFree86 3.3.6 をそのまま入れてしまいました。

さてさて、内蔵LAN(RealTek, rl0)にはいろいろ問題があるようです。 通信相手のLANカードやハブなどによって速度が極端に出ない場合があるようです。 今回のFTP インストールではなかなかメーターがすすみません。 あきらめてそのまま寝ることにしました。 起きるまでには終っているのではないでしょうか。

(後で思ったのですが、minimal install をしたあと、PCカードスロットを有効にして LANカードなり SCSI カードなりを差してそちらから続きをやるほうが効率的だと思われます。)

あと、A mode ←→ B mode のスイッチを有効にするためには、 MBR にブートローダを書き込んではいけないようです。 インストーラでブートローダを書き込まないように注意します。

A mode で FreeBSD が起動するようになりました。


Upgradeインストール、内蔵LAN遅い?

何を思ったのか、4.5-RELEASE の CD-ROM を使って Upgrade したくなりました。 ThinkPad240Z で 4.5-RELEASE の CD-ROM を mount して FTP サーバにします。

/stand/sysinstall を使って upgrade インストールしました。 とはいえ rl0 が遅いのは変わっていないのでまた一晩寝かせます。

rl0 については「RealTekって?」で少し調べてみました。


PC-CARDスロットを使う

4.4-RELEASE, 4.5-RELEASE では MPC-260 ではそのままでは PC-CARDスロットが使えないようです。 たかのさんのページを参考に、/boot/loader.conf に以下の二行を加えます。

hw.pcic.irq="0"
hw.pcic.intr_path="1"

これでPC-CARD スロットが利用可能になりました。 RealTek のかわりに LAN カードを挿してもよいですし、 SCSI カードをさして CD-ROM ドライブを使うこともできます。

しかし、CFスロットは有効になっていません。これについては 「CFスロットを有効にする」に書きました。


XFree86-3.3.6

XF86Setup コマンドを使って設定してみたりするのですが、 なかなかうまくいきません。

みなさんのWWWページを見る限り、 XFree86 4.x 系列を使った場合はうまくいくようです。 SMI LynxEM+ にはいろいろあるようです。

…と Thinkpad 240Z のカードも SMI Lynx EM+ なことに気がつきました。 XFree86 4.x を試す前に、(なかばだめもとで)240Z で動いている XF86Config ファイルを コピーして試してみました。

…きちんと動きました。試してみるものです。

…と、一度は起動したのですが、何度起動しても真っ黒になってしまうことがあります。

WWW検索などしてみて、 http://search.luky.org/linux-users.8/msg02782.htmlからはじまる一連のスレッドを読んでみました。 わかったのは、XF86Config の Section "Devices" に

    option "no_accel"

という行があれば起動できる。ということでした。 ただしスピードが遅くなりますが、 一度起動すればそのあと "no_accel" なしの XF86Config で起動しても 大丈夫のようです。当面面倒ですがこれで逃げてみることにします。 また、逆に ThinkPad240Z で X が真っ黒な時も同じ方法が使えるかもしれません。

ということで、Fiva ではとりあえずこんなXF86Configです。


APM有効なカーネル

電源を切る時に面倒なので、カーネルでAPM を有効にしてみます。

/usr/src/sys/i386/conf で設定ファイルを作ります。 GENERIC ファイルとの違いですが、単に apm0 の disable を取ってみました。

#device         apm0    at nexus? disable flags 0x20 # Advanced Power Management
device          apm0    at nexus? flags 0x20 # Advanced Power Management

Fiva の場合は apm コマンドでは電池の状態などはわからないのですが、

# shutdown -p now

で、電源まで落ちるようになったのでこれだけでも便利です。 ついでに ThinkPad240Z のカーネルもこのようにしてみました。


FreeWnn の辞書

なるべくなまけたいですから、CD-ROM 内のパッケージからいろいろなソフトウェアをインストールします。emacs 21 なども使ってみたいのですが、 とりあえず FreeWnn と mule-2.3 を動かすことにしてから考えることにしました。

自分で登録した辞書(大した語数はありあせんが)がないとやる気が出ませんので、 ThinkPad240Z から辞書を持ってきます。 方法は自分でも忘れてますが、自分で書いた ダブルライダー編のFreeWnn のユーザー辞書 を見てその通りにやりました。いい感じです。


LongRun

たかのさんのページによると、LongRun は 4.4-RELEASE にマージされているそうです。 たかのさんのページを読めばわかるのですが、

# sysctl hw.crusoe.longrun=3

などとすると CPU のスピードを変えられるようです。


右下バックスラッシュキー

X上で右下のバックスラッシュキー「\」を無効にしたい

日本語 106キーボードについて記述されているファイルは /usr/X11R6/lib/X11/xkb/symbols/jp のようです。このファイルを参考にします。

key  { [ backslash, bar       ], [ prolongedsound     ]       };
key  { [ slash, question      ], [ kana_ME, kana_middledot ]  };
key  { [ backslash, underscore], [ kana_RO            ]       };

このあたりが参考になります。

Ctrl キーと Caps キーを入れ換えるために「swapcaps」を有効にしていますので、 ここをいじって backslash キーも変更します。 「swapcaps」については /usr/X11R6/lib/X11/xkb/symbols/ctrl に書かれています。

// swap the caps lock key with the left control key
partial modifier_keys 
xkb_symbols "swapcaps" {
    key   {  symbols[Group1]= [ Control_L ] };
    key   {  symbols[Group1]= [ Caps_Lock ] };
};

1行足して、backslash キーを slash に割り当てます。

// swap the caps lock key with the left control key
partial modifier_keys 
xkb_symbols "swapcaps" {
    key   {  symbols[Group1]= [ Control_L ] };
    key   {  symbols[Group1]= [ Caps_Lock ] };
    key   {  symbols[Group1]= [ slash ] };
};
//

サウンド

カーネルで device pcm を有効にするだけで良いようです。


ダイヤルアップPPP

相変わらず CFカード型の PHS の Paldio611s を使っています。 kernel config で sio2, sio3 をコメントアウトしておくと、 611s を挿入したときに sio2 として認識してくれます。

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3
#device		sio2	at isa? disable port IO_COM3 irq 5
#device		sio3	at isa? disable port IO_COM4 irq 9

PPP接続には FreeBSD標準の ppp を使います。/etc/ppp/ppp.conf を編集します。

/etc/ppp/ppp.conf はこんな感じです。

point1:
 
 set device /dev/cuaa2
 set phone 03-xxxx-xxxx
 set authname xxxxx
 set authkey xxxxxxxx
 
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR                    # Add a (sticky) default route

接続する前に内蔵LANを disable します。

# ifconfig rl0 delete

こんな感じでダイヤルします。

# ppp
# ppp> dial point1

スタートアップの設定

/stand/sysinstall で行ないました。linux エミュレーションを有効にしました。 sendmail は起動しない設定にしました。


スマートメディア

デジタルカメラ用のスマートメディアを挿してみました。 PCカードアダプタ経由です。

ad8 として認識しました。 ところが ad8 に関するデバイスファイルがないのでこのままでは mount できません。 デバイスファイルを作ってみました。

# cd /dev
# ./MAKEDEV ad8

これで mount できます。こんな感じです。

mount -t msdos -o ro /dev/ad8s1 /mnt

CVSup

ports やシステムのソースなどを最新にしておきたいので、 cvsup をインストールします。

CD-ROM の packages/net に含まれていました。

# pkg_add cvsupit-3.0.tgz

/etc/cvsupfile がインストールされるので、 これを編集して好きなものを cvsup することにします。

# cvsup -g /etc/cvsupfile 

とりあえず ports を cvsup して、audio/mpg123 などを make したりします。


emacs21 とたまご

emacs-21_1.5 が CD-ROM の中の packages で入っていたのでインストール してみたのですが、日本語の入力ができません。 ports から「たまご」をインストールしてみます。

と思ったら、emacs21_2 を必要とするみたいです。 というわけで途中で中止してどうするか考え直します。

結局 ports に任せて最新の emacs21_2 も入れることにしてしまいました。


4.6.2-RELEASEへ

4.6.2-RELEASE が出ているのでバージョンアップしてみることにしました。 cvsup でソースを取り寄せます。

# cvsup -g /etc/stable-supfile

make world してみます。

/usr/src/lib/libpam/modules/pam_ssh/ での make で引っかかりました。 検索してみたら [FreeBSD-users-jp 70004]に情報がありました。 Makefile を書き換えてみます。

#LDADD=		-lssh -lcrypto -lcrypt -lutil
LDADD=		${.OBJDIR}/../../../../secure/lib/libssh/libssh.a -lcrypto -lcrypt -lutil

こんな感じです。

あとは、packages でインストールした cvsupit の cvsupfile に src-sys-crypto が入っていなくてはまったりしました。 要するに src-all に対して cvsup すれば良かったようです。 des_enc.S がないというメッセージだったので検索したら FreeBSD-Stable メーリングリストの Message-ID:<yge4riswt2e.wl@mille.mahoroba.org> のこのメールにありました。

make install しようとすると、先に mergemaster -p しろ、とか、 さらにその前に新版の mergemaster だけ先に install しなければならないとか (cd /usr/src/usr.sbin/mergemaster ; make all install) つまづくポイントがありました。この辺りは、/usr/src/UPDATING を きちんと読めば良い、ということです。


RealTekって?

rl0 として認識している内蔵LAN (RealTek 8139?)ですが、インストール時には妙にスピードが 落ちたりしたものの、通常利用ではあまり不具合を感じません。

ドライバ側でなんか解消されたりしているのか調べてみました。 /usr/src/sys/pci/if_rl.c がソースです。 いきなりソースの最初の方に ``the worst PCI ethernet controller'' とか 書いてあるのがなんとも… CVSweb でこのソースの変更履歴を見たりしますがやはり「本質的な問題は解決されず」 と思うのがいいようです。ですので私は「動かない時は別途LANカードを使う」ことにします。

また、10Base-T ダムハブにつなぐ時にもコツがあるようです。[FreeBSD-net-jp 3433]が参考になります。


CFスロットを有効にする

CFスロットにカードを挿すとハングアップしてしまうのですが、 これについては、技術評論社の「FreeBSD Expert」という書籍の記事「ノートPCへFreeBSD4.4Rをインストール CASIOPEIA FIVA MPC-206VL」(内川喜章さん)に書いてありました。

問題の原因は「sioの割り込みとCFカードスロットの割り込みが衝突する」ということで、 対策としては「sio0の割り込み(irq)を4から3に変更してsio1を無効とする」 もしくは(シリアルデバイスを使わないなら)「sioドライバを全部外す」 などがあるようです。

私は、sio0 の irq を 3 にして、sio1 から後を無効にするという設定にしました。 カーネル設定ファイルのその部分はこんな感じです。

#device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio0	at isa? port IO_COM1 flags 0x10 irq 3
#device		sio1	at isa? port IO_COM2 irq 3

この設定のカーネルであれば、CFスロットに Paldio 611s を挿しても ハングアップしません。このとき 611s は sio1 になりますので、 これにあわせて ppp の設定も変更(/dev/cua1を使うように)しました。

ちなみに 611s と SCSIカード(RATOC REX9530)を同時に使おうとすると IRQが衝突するのか、うまく行きませんでした。 片方づつであれば問題ないようなので私にとってはそれほど大きな問題ではありません。


MELCO CDN-D12EX(PC-CARD ATA CD-ROM Drive)

(2002.9.23)

PCカード接続の CD-ROM ドライブです。問題なく認識します。 mount するには

# mount -t cd9660 -o ro /dev/acd0a /mnt

で OK でした。


Mozilla をいれてみよう

(2002.9.25)

WWWブラウザとして Mozilla を使いたくて こんなことしてみました。

# pkg_add ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/japanese/ja-mozilla-jlp-1.0.rc2,1.tgz

4.6.2 の packages からコンパイル済みのものをインストールしてみました。

swift3# pkg_add ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/japanese/ja-mozilla-jlp-1.0.rc2,1.tgz
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/japanese/ja-mozilla-jlp-1.0.rc2,1.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/png-1.2.2_4.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/pkgconfig-0.12.0.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/expat-1.95.2.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/libiconv-1.7_5.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/lcms-1.08.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/libmng-1.0.3.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/imake-4.2.0_1.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/freetype2-2.0.9.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/XFree86-libraries-4.2.0_1.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/XFree86-clients-4.2.0_2.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/ja-shinonome-0.9.7.tgz... Done.
**********************************************************
You should restart X server or do 'xset fp rehash' command
to enable this update.
**********************************************************
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/ja-jisx0213-fonts-1.03_5.tgz... Done.
**********************************************************
You should restart X server or do 'xset fp rehash' command
to enable this update.
**********************************************************
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/gettext-0.11.1_3.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/ORBit-0.5.15_1.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/gtk-1.2.10_4.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/ja-alias-fonts-1.0.tgz... Done.
Fetching ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-4.6.2-release/All/mozilla-1.0.rc3,1.tgz... Done.

********************************
If your XIM wouldn't work propery, try to make a file

"${HOME}/.mozilla/${USER}/*.slt/user.js"

with below content;
--
user_pref("xim.input_style", "over-the-spot")
--
********************************

必要なライブラリなどが大量にインストールされました。 XFree86-4.2 のライブラリやクライアントもインストールされてます。 そろそろ XFree86-4.2 への乗り換えも考えておくべきかもしれません。

で、X を再起動しようと startx してみたら「Xwrapper を使え」というような メッセージが出てしまいます。FreeBSD QandA 610に答がありました。

~/.xserverrc ファイルを用意して次のように書きました。

exec /usr/X11R6/bin/Xwrapper

これで startx しても大丈夫でした。mozilla & とすると Mozilla が起動します。

今後も楽をしたいので、4.7-RELEASE が出たあたりでまた同じように packages から mozilla を入れようかと思います。 いろいろ用意してくれている皆さんに感謝。


~/.Xresources をちょっとだけいじろう

(2002.9.30)

mule を起動した時にウインドウが大きすぎるので、 ~/.Xresources を設定してちょうどいい大きさにしておきます。

Emacs.geometry:85x26

~/.xinitrc は今のところこんな感じです。ほとんどなにもなしです。

#!/bin/sh
xrdb -merge .Xresources
twm &
exec xterm -geometry +0+0

Macromedia Flash Plugin

(2002.10.1)

Linux 用 Netscape の方に、最新の Flash Plugin をインストールしてみます。 http://wp.netscape.com/plugins/ からたどって Linux(x86用) Flash Player をダウンロードしてみました。

とってきた flash_linux.tar.gz というファイルをホームディレクトリに置きました。 バージョンは 5.0r47 のようです。

tar で展開して、README を読みます。ファイルを Netscape の plugin のディレクトリにコピーするだけでいいようです。 Linux とはディレクトリ構成がことなりますが、こんなコマンドで大丈夫でした。

cp -p libflashplayer.so ShockwaveFlash.class /usr/local/lib/netscape-linux/plugins/

これで、netscape を起動して、「ヘルプ」→「Plug-Inについて」を選ぶと、 Shockwave Flash 5.0r47 がインストールされているかどうか確認できます。

Macromedia にはこの「Flash Player」の他に「Shockwave Player」という plugin があるようですが、Windows もしくは Macintosh でしか使えないようです。残念。


ふりかけFreeBSD