FreeBSD(98)
4.2R-Rev1 を PC-9821Xa7/C4 にインストールし,
ラジオをタイマー録音しようという計画です.
時計合わせのために ntpd も動かしてみました.
私は経験が浅いので,妙なことをやっている部分がありそうです.
もくろみは次のようなものです.
では,OS は何にしましょうか.
ということで FreeBSD を使ってみることにしました.
FreeBSD のインストールに必要な情報を集めます.
必要に応じて
FreeBSD 配布に添付されている文書
を参照してください.
Windows 95 以降がインストールされているなら,
コントロールパネルのシステムで割り込みや DMA,
そして winipcfg コマンドでネットワーク関連の設定値を見ると良いでしょう.
使用した機器の構成を下に示します
(インストールに際して必要ではない情報も含まれています).
本体 | PC-9821Xa7/C4 |
CPU | Pentium 75 @ 100MHz |
2nd キャッシュ | 256KB |
メモリ | 64MB |
HDD | 3.2GB |
CD-ROM ドライブ | 東芝 32x |
ビデオ | TGUi |
サウンド | 内蔵PCM |
NIC | PC-9801-108 (IRQ=3 ) |
10BASE-T LAN カードの PC-9801-108 は,IRQ を 3 で使用しています. 環境によっては PCI セットアップディスクで調整が必要かもしれません. PCI セットアップユーティリティについては, 計算機の取扱説明書を参照してください.
手元にある CD-ROM を調べると,
FreeBSD 4.2R-Rev1 がいくつか見つかりましたが,
FreeBSD(98) は 4.1.1R-Rev1 までしかありませんでした.
そこで,4.2R-Rev1 の PC-98 への
差分ファイル
(16MB くらい)をダウンロードしました.
ちなみに,FreeBSD(98) 4.2R-Rev1 は
2000年12月11日にリリース
されています.
差分ファイルをダウンロードしたら,
手元の 4.2R-Rev1 CD-ROM にこのファイルを追加すれば良いのですが,
単純に追加したところ CD-R の容量が足りなくなったため,
packages ディレクトリを除去した CD-R を作成しました.
または 700MB CD-R メディアを使ってもよいでしょう.
HDD 総容量 3.2GB のうち,最初の約 2.2GB を FreeBSD に,
そして残りの 1023MB を MS-DOS に割り当てることにしました.
MS-DOS 領域を作ったのは,
ハードウェアのテストなどに使うことがあるかもしれないためです.
まず,NEC MS-DOS 6.2 で HDD 全体を初期化しました.
つづいて MS-DOS 上で約 2.2GB のパーティションと
1023MB のパーティションを作り,
前者のパーティションを削除しました.
ブートフロッピィディスクの作成は,
Linux や NetBSD と同様,rawrite
コマンドを使って行います.
FreeBSD はフロッピィ2枚が必要です.
krnl144.flp
と mfsroot.flp
をそれぞれのフロッピィに
rawrite
してください.
ブートフロッピの作成は,いわゆる AT 互換機上でも可能です.
当然のことですが,その場合は AT 互換機用の rawrite コマンドを使います.
フロッピディスクを挿入したまま計算機を再起動すれば,
インストーラが起動するので,次の「インストール」へ進みます.
手順のメモを下に示します. 注意すべき点をあげると, メニューを選択するときはスペースキーを中心に使わないとわけがわからなくなります.
最近はここで何も設定しなくてもうまくいくことが多いようですが,
PC-9801-108 の IRQ をデフォルトの 6 から 3
に変更しておかないとインストール後ネットワークが使用できませんでした.
もっとも,カーネル再構築のときに設定しても良いのですが.
ここでは
Start kernel configuration in Visual mode
を選択し,ed6
(PC-9801-108) の IRQ を変更しました.
PC-9801-108 が ed6
だということは,
上述の
PC-98 への差分
にも添付されている次の文書からわかります:
また,使用している IRQ 等については,
前述したように Windows 95 以降をインストールしてみて,
コントロールパネルのシステムから見るのが手軽です
(必ずしも同一になるとは限りません.
場合によっては PCI セットアップユーティリティでの設定が必要です).
こうして集めた情報は以下のようになりました.
I/O アドレスについての情報は今回は必要ありませんでした.
あとはふつうに FreeBSD をインストールします. ごく簡単な手順を次のファイルに書きました: install.txt
FreeBSD(や NetBSD)は,インストールされるのは OS (と X) が中心です.
アプリケーション等は自分で追加する必要があります.
FreeBSD では,ports といって
4000を超えるソフトウェアが簡単にインストールできるようになっています.
ports については,FreeBSD Ports のページ(日本語)を参照してください.
Do you use Japanese message
?' と聞かれます.
PC-98 は最初から日本語に対応しているので,
そのままリターンキーを押します.
ports から i18n 対応版をインストールしました. そのままでいちおうの動作はしますが, 日本語設定を行っておきましょう.
‾/.cshrc
に setenv LANG ja_JP.EUC と記述
(シェルに tcsh を使っている場合)
GNUstep
ディレクトリが作成され,
設定ファイルなどがおさめられます.
テーマを変更すると,メニュー等の日本語が正常に表示されなくなることがあります.その場合も wsetfont japanese してください.
VNC (Virtual Network Computing)
を使うと,ほかのコンピュータから「デスクトップを遠隔操作」することができます.
具体的には,ほかのコンピュータ上に X デスクトップを再現することができ,
そのコンピュータのマウスとキーボードで操作ができます
(画面イメージ).
ここでは,
FreeBSD ports
に収録されている
VNC-3.3.3.2
パッケージを使用しました.
インストール方法については,
前述
しています.
どのようにするのが普通なのか良くわかりませんが,
ここでは次のようにしてみました.
ファイルを書き換える場合は,
オリジナルのファイルを別名で保存しておきましょう.
‾/.vnc/xstartup
Window Maker を起動させるために,
最後の行の ``twm
'' と記述されている部分を
wmaker に書き換えます.
すると次のようになりました:
#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & /usr/X11R6/bin/wmaker
‾/.vnc/GNUmaker
‾/GNUmaker/ の設定をそのまま使いたかったので,
``#
ln -s ../GNUmaker GNUmaker''
のようにしてシンボリックリンクを張っておきました.
サウンドを有効にするためにはカーネルの再構築が必要です.
ついでにいらなさそうな機能を外してカーネルを軽くします.
手順については前述の
30分でわかるシステムの再構築 2.9章
という文書の最初に書いてあります.
私が作成した定義ファイルは次のようになりました:
001227.txt
このファイルの中で,##
で始まる行は私がいじった部分です.
変更点はだいたい以下のとおりです.
まずサウンド用のデバイスファイルを作っておきます. 手順は次のとおりです.
#
cd /dev
#
./MAKEDEV snd0
ports から wmmixer,wavplay を入れました. wmmixer-1.0b1 は Window Maker にマッチしたミキサーソフトで, これで音量設定を行います. wavplay-1.4 はコマンドラインから wav ファイルの録音再生ができるソフトです. いずれも ports から簡単にインストールできます.
次のようにしてサウンド機能が有効になっているかテストします.
部屋が寒いせいもあるかもしれませんが,
マシンの時計が1日に10秒以上狂います.
これではタイマ録音がうまくいきません.
そこで ntpd に時計あわせをやってもらいましょう.
ntpd は,よその ntp サーバにアクセスして時計あわせができるほか,
自分自身が ntp サーバになるので,
ほかのマシンからの時刻問い合わせに応答してくれます.
FreeBSD 4.2R では /usr/sbin にインストールされてるので,
設定をすれば使えるようになります.
なお,ダイヤルアップ環境では ntpdate を使ったほうがいいようです.
/etc/rc.conf
の修正/etc/rc.conf
に ntpd 等を動作させるための設定を記述します.
/etc/defaults/rc.conf
ファイルにひな形がありますので,
次の部分をコピーして /etc/rc.conf
に貼りつけます.
ここではファイルの末尾に付け加えました:
### Network Time Services options: ### timed_enable="NO" # Run the time daemon (or NO). timed_flags="" # Flags to timed (if enabled). ntpdate_enable="NO" # Run ntpdate to sync time on boot (or NO). ntpdate_program="ntpdate" # path to ntpdate, if you want a different one. ntpdate_flags="" # Flags to ntpdate (if enabled). xntpd_enable="NO" # Run ntpd Network Time Protocol (or NO). xntpd_program="ntpd" # path to ntpd, if you want a different one. xntpd_flags="-p /var/run/ntpd.pid" # Flags to ntpd (if enabled).
こうしてできた /etc/rc.conf
を次のように修正します:
ntpdate_enable
の
`NO' を `YES' に
xntpd_enable
の
`NO' を `YES' に
/etc/ntp.conf
ntpd が時刻を問い合わせるサーバのありかなどを記述します.
設定例
に記述している ntp サーバは,公開されている stratum 1 (階層1)サーバです.
トラフィックが集中しないようにするため階層2以下のサーバを指定したいところですが,
階層2以下で公開されているものはほとんどないようです.
ほかのマシンで ntpd か何かを動かす場合は,
上記のサーバに時刻を問い合わせるのではなくこのマシンの
ntpd に時刻を問い合わせるように設定し,
上述のようなサーバへのトラフィックを減らすようにしましょう.
セシウム時計で運用している国立天文台には遠慮することにしました.
ほかは GPS 時計で運用しているようです(確実ではありません).
いまの ntpd は IP アドレスでなくドメイン名を指定しても大丈夫なようですが,
ここでは IP アドレスで記述しました.
以上の設定ができたら,
date コマンド(か ntpdate コマンド)で時刻を合わせておきます.
それは,あまりにも時刻が狂っていると
ntpd が時計を合わせられないかららしいです.
つづいてマシンを再起動すれば ntpd が動作するはずです.
動作確認については,
NTP(Network Time Protocol)サーバの設定
という web ページを参考にして行いました.具体的には:
ほかのマシンの時計をこのマシンの時計に合わせるようにするにはですが,
まず UNIX 系マシンでは ntpd あるいは xntpd などを使えば良く,
設定ファイルでは ntp サーバーとしてこのマシンを設定するわけです.
Windows マシンの時計を合わせるには
桜時計
などを使います.
ダウンロードしたファイルを適当なディレクトリに解凍し,
(LAN 環境なので)SW_NORAS.EXE
へのショートカットをスタートアップに登録します.
起動したら設定を行います.NTP サーバー名にこの FreeBSD マシンを指定し,
「起動時にオンラインにする」「常駐する」にチェックを入れておきます.
マシンの指定を IP アドレスではなくマシン名で行うには,
C:¥Windows¥hosts
を適切に設定しておく必要があります.
決められたスケジュールで録音プログラムを起動させるため,
X 上で動作する rclock を ports からインストールします.
rclock は,プログラムの表示だけでなくメッセージの表示もできます.
スケジュールは ‾/.rclock
に記述します.
wavrec の起動が3〜10秒弱かかるようなので,
1分前に wavrec を起動させるようにしました.
‾/.rclock
の書式(加筆必要@@@@)# で始まる行は,コメントです.
これでこのマシンはタイマ録音・ ntp サーバマシンとして稼働できることになります. いまの起動手順は次のとおりになっています.
もちろん,rclock や wmmixer は
‾/.vnc/xstartup
で自動起動するようにできますし,
wmmixer の起動時の音量設定は ‾/.wmmixer
に記述すればできます.
このマシンで何か作業するときのため, 基本的なプログラムを入れておきます.
手元の FreeBSD 4.2R-Rev1 CD-ROM 1枚めから次の package をインストールしました.
ここで次のような設定をしました.
‾/.cshrc
環境変数 PAGER の設定をしている行を次のように書き換えます:
‾/.xinitrc
env LANG="ja_JP.EUC" kterm16c & [ ! -d $HOME/GNUstep/Library/WindowMaker ] && /usr/X11R6/bin/wmaker.inst exec /usr/X11R6/bin/wmaker
‾/.Xdefaults
#ifdef COLOR *customization: -color #endif KTerm*kanjiMode: euc KTerm*vt100*translations: #override ¥ Shift<Key>space: begin-conversion(_JAPANESE_CONVERSION)
‾/.vnc/xstarup
xterm でなくて 16色 kterm が起動されるように書き換えます.
#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey kterm16c -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & /usr/X11R6/bin/wmaker
私は Windows 上の日本語 IME には
A.I.SOFT
の WXG を使っています.
最近 A.I.SOFT
が WXG の Linux/FreeBSD β版をフリーで公開しているので,
これを入れてみることにしました.
WXG は canna 互換として動作しますので,
あらかじめ canna 環境を作っておけば入れ換える形で使用できるようになります.
A.I.SOFT
の運営するサイト
e言葉
から
WXG for Linux/FreeBSD Ver 1.0β(port/package形式)
をダウンロードし,pkg_add コマンドによりインストールします:
#
pkg_add ja-wxg-1.0b-1.tgz
canna でなく WXG が起動するようにするには, canna の起動スクリプト canna.sh を rename し, 続いて WXG が自動起動するように wxg.sh を作成しておきます. 手順は次のとおりです:
あとはシステムを再起動すれば, 起動メッセージの終わりのほうに Wxg が見えるはずです. X を起動し kinput2& すれば, Shift+スペースキーによって kterm 上などで WXG が起動されます.