*BSD 関連な場所

$Date: 2009/06/28 13:54:55 $

*BSD に関するあれこれです。ほとんどが自分のためのメモです。

FreeBSD 5.1 on LOOX

某所から借りている富士通FMV-BIBLO LOOX S9/70に、 FreeBSD 5.1をいれました。 Linuxや*BSDをいれた場合の実績は 報告されていますが、 とりあえず、私が見付けたいくつかの Tips と patch を載せておきます。

モデム

使えません。ports の comm/ltmdm をつかっても無理。まあ、使わないからいいか。

LAN

内蔵デバイスの設定で、「自動」にすると、 バッテリーで起動した時に使えなくなります。 常時onにしてもバッテリーの持ちはほとんど変わらないので、常時onで使うことに。

ACPI

ACPIはきちんと?動きます。 ただ、電源ボタンにS3を割り当ててサスペンドさせようとするとうまくいきません。 (acpiconf -s 3 や zzz だとサスペンドできる) あと、sysctl で hw.acpi.disable_on_poweroff=0 にしないと shutdown -p で電源が切れないようです。
hw.acpi.cpu.economy_speed=8(ACアダプタを抜いた時フルパワー) にすると、LongRunも効かなくなっているような気がしたので、 hw.acpi.cpu.economy_speed=7にしてあります(これは気のせいか?)。 今使っている/etc/sysctl.conf

SUSPEND は出来るのですが、バッテリがすぐ減ってしまいます。 良く見ると、LCDは表示されたまま(バックライトは消える)です。 どうも、GAあたりの電源が落ちていないような...

USB回り

サスペンドするとUSBが使えなくなる(これはLinuxでも同じらしい)。 Linux では usb のカーネルモジュールをアンロード / ロードし直す事で何とかなるようですが、 FreeBSD 5.1ではusbのカーネルモジュールはアンロードできないようで、 うまくいきません。仕方が無いのでカット&ペーストで パッチを作ってみました。 強引な事(レジューム時にohciを再初期化してる)ので、 send-prはちょっと無理でしょう...


簡易スクリプト

私が私のためだけに作ったスクリプト。 はっきり言って人に見せれた物じゃないけれども、 バックアップもかねて公開します。
全部、Berkeley Style Copyright として扱ってください。

conv_atok2canna

名前のとおり、ATOK 用のテキスト辞書ファイルから canna 用の辞書ファイルへのコンバーター。
% nkf -e -X -d [ATOK 辞書] | awk -f conv_atok2canna > [CANNA 辞書]
という感じに使います。
品詞指定が数字で行われているタイプの ATOK 辞書には対応していません。

私はこれで ATOK理化学辞書5をコンバートして使っています。

wwwupdate(Last Updated at 28 Jun 2009)
ローカルのファイルを特定の ftp サーバーにあげるスクリプト。 名前からわかるように Web ページ更新のために作った。 (Perl5 と Net::FTP モジュールが必要)
初めの方に各種設定用の変数がある。 ディレクトリを再帰的に処理し、 .update と言う名前のファイルと同じディレクトリのファイルのみを 更新対象とする。
前回から更新されていないファイルは転送しない、 アップロード先の FTP サーバーのファイルはチェックしない 仕様のため高速です。 (ただし、場合によってはうまく更新されないかも知れない)
また、FTP しか用いていないので、大抵の WWW server に使えます。
14 Feb 2002 に送信エラー時の処理を追加しました。
1 Aug 2004 にローカルファイルのパスが絶対パスでないときにおかしくなるバグを修正しました。
28 Jun 2008 にローカルファイルの実行属性をFTP先にも反映させるようにしました。
xauthset
xauth の設定をすこし簡単にするスクリプト。

NetBSD 1.5.2 (1.5.x なら大丈夫?) の X window system へのパッチ

ちなみに、X-TT かつ X_LOCALE 付も出来ます。 (というか、家の X はそうしてコンパイルしました)

TrueTypeFontを使う

  1. あらかじめ、freetype-1.3.1-* を pkgsrc(or package) でインストールしておく
  2. xsrc.tgz を展開する。(以下の作業は展開した xsrc/xc の下で行う)
  3. X-TT 1.3を持ってきて、 ドキュメント通りパッチを当てたり、アーカイブを展開したりする。 (リジェクトが一つ出ますが、ここでは無視)
  4. xtt-for-NetBSD1.5.patch をあてる。
  5. make World && make install

注意: NetBSD/amiga 1.5.2 でしか試していません。 他の port も大丈夫なようにパッチを作りましたが、未確認です。
はまったら、知恵と勇気と根性で何とかしましょう。

X_LOCALE

NetBSD 1.5 の locale は不完全です。日本語 locale は使えません。 (現在 -current では XPG4DL などの実装が進んでいるようですので、 NetBSD 1.6 からはまとも locale が使えるようになるかも知れません) そのせいで、きちんとした locale があることを前提にして開発された gtk+ 等を使うアプリケーションでは、日本語の表示が出来ません。

X window system は、locale の機能を使って国際化を実現しています。 基本的には OS の locale 機能を使うのですが、 OS の locale が駄目駄目だった時の代替手段として、 X は独自の locale 機能を持っています。それが、いわゆる X_LOCALE です。 この X_LOCALE を使えば、駄目な locale を持つ NetBSD でも、 gtk+ で日本語が使えるようになります。

NetBSD に標準に含まれている X は X_LOCALE を無効になっています。 そこで、NetBSD の X を X_LOCALE 付で再コンパイルしましょう。

  1. xsrc.tgz を展開する。(以下の作業は展開した xsrc/xc の下で行う)
  2. X_LOCALE-for-NetBSD1.5.patch をあてる。
  3. make World && make install

このあと、gtk+ もコンパイルし直す必要があります。 (configure 時に、--with-locale=ja_JP.EUC が必要です)


一つもどる

ホームヘ

MURAMATSU Atsushi / 村松 篤 (amura@tomato.sakura.ne.jp)