9月 282007
 

前回、「新しい PC を組み立ててみた。」において、新しいマザーボードと Athlon X2 4000+ を購入して FreeBSD で SMP カーネルを利用してみた。

みたいな所まで書いたんだけど、その後、BIOS を最新の 1101 にしたら突然動作が不安定になった。メモリが不良っぽい動作だったのでメモリチェックしてみてもメモリ自体には特に問題が無いのでふむぅ・・。と言う感じだった。ちなみに WindowsXP x64 は特に問題なく起動する。まぁ、使い込んでないんだけどね。

だけど、FreeBSD はブートもしないで以下のメッセージを出力しつつ panic する。

Kernel panics: failed to create swap_zone

ふむぅ・・。ブート時のメニュー画面で ACPI disable を選択するとなんとかマルチユーザでブートすることを発見。 ACPI 無いし シングルプロセッサだし、UDMA33 な状態のマルチユーザモード。けど、ブートしてくれただけでもありがたいことで options SCHED_4BSD を SCHED_ULE に変更したしりてカーネルの再構築自体はなんとか行える・・。

で、 Google で色々調べてみると

・BIOS で AMD Live! を enable にしていると凍りつく。
・BIOS で Cool’n’Quiet を enable にしていると凍りつく。

などの情報があったのでその二つを disable にしたら無事に起動するようになった。僕の場合、 loader.conf で cpufreq_load=”YES” と acpi_ppc_load=”YES” を書いているのでその影響かなぁ・・。

マルチユーザモードでバリバリと問題無く動くうにはなったのだけど、それにしても Cool’n’Quiet が動かなくなったのは非常に悲しいものがあります。ASUS が悪いのか、はたまた AMD690G が悪いのか・・。

しかし、Socket7 の T2P4、P5A 以来久々に ASUS のマザーボード買ったのだけど、やっぱり外れた部類に入るかなぁ・・。このマザーボード・・。

9月 272007
 

自宅の FreeBSD は amd64 アーキテクチャが随分と多くなってきた。その場合、日本語入力や日本語変換に苦労するわけである。

NEC の EWS-4800 を利用し始めた僕にとって、カナ漢字変換システムは Canna しか考えられないのだけど、 FreeBSD/amd64 を利用した場合バイナリ的には Canna を使うしか手が無い。以前 FreeBSD/i386 を利用していた時は vje-2.5 のデーモンを利用していたのだけど、FreeBSD/amd64 では aout.ko が無いので vjed が起動できなくなってしまった。

で、どうしたかと言うと、うちで動作している唯一の FreeBSD/i386 はサーバなのだが、ここに vjed を起動して esecanna 経由で利用する手があることに気がついた;-)。

emacs や環境変数で canna サーバを指定できる点を思い出した。で、早速試してみたのだが、あれま・・。esecanna ってローカルホストからの接続しか許可していないのね・・。ガビーーン。

と、言うことで開発の終わった eseccana は自分でソースを修正するしかないのである。と、言うことでパッチを書いてみた;-)。

patch-zz-esecanna-all-ip-connect.patch



このパッチを /usr/ports/japanese/esecanna/files/ 辺りに入れて make するとリモートホストから接続できる esecanna ができます。めでたしめでたし。

しかし、どのホストからも接続を許してしまうので ipfw などでフィルタを掛けることはお忘れなく;-)。

9月 212007
 

6.2-STABLE を追っかけていて、ports も最新を追っかけているんだけど、xorg にセキュリティホールがあったからだか知らないが、一個バージョンが上がり xorg-7.3 になった。

このバージョンアップ作業において、僕の環境では xorg-server が古い開発用のバージョンが入っていたために随分とややこしい事態に陥ってしまった。xorg-drivers は大きく xorg-server に依存しているので、まずは xorg-server を最新にする必要がある。なので xorg-server は真っ先に確認しましょう。

で、xorg-drivers ですが、大きく派手に変わりました;-)。make 時に opsions でインストールするドライバを選択できるようになりました。これで不要にインストールされる ports を減らすことができます。しかし、xorg-7.2 でインストールした不要になった ports は自動的に削除してくれないので自分で削除する必要があります。pkg_delete /var/db/pkg/xf86-video-* などとして、依存関係のなくなったドライバを削除します。

後、もう一点。xf86-video-i810 なるビデオドライバですが、これの後継として xf86-video-intel と言うのが用意されています。Intel 82915G/GV/910GL Express Chipset Family Graphics Controller においては、xf86-video-i810 ドライバでは動作しなくなったので、この ports を削除して xf86-video-intel をインストールすることにより xorg-7.2 で利用していた xorg.conf を、ほんのちょっとの手直しで引き続き利用することができます。

xorg.conf の Section “Device” において Driver “i810” と記述していた部分を Driver “intel” に書き直してから X を起動するようにしましょう。

また、xf86-video-i810 と xf86-video-intel は排他です。どちらか一方しかインストールできないので注意しましょう。

9月 162007
 

ASUS M2A-VM HDMI を購入。CPU は Athlon X2 4000+。メモリは DDR2-800 を 1GBx2 の 2GByte にしてみた。

これで約 27,000yen。まぁ、安いとは思うけど、こんなものかなぁ。今まで使っていた AthlonXP 2000+ は引退して頂き、マザーボード・CPU・メモリだけの買い足しにした。

OS は WindowsXP x64 をインストールしたんだけど、ドライバはマザーボードに添付してあった CD-ROM からインストールして事は終了。

FreeBSD も動作させる必要があるのでこっちがメインの環境作り。

そもそもマザーボードにオンボードの AMD690G は X が動作しないのでパッとあきらめ、PCI-E で動作する玄人志向の nVIDIA 製 GeForce 7300LE GPU 搭載カードを買ってしまった。

さてと、この環境で FreeBSD をブートするわけだけど、AMD690G は xorg-7.2 の環境で一応試してみた。VESA だと動いたけど、ATI ドライバだやはり動かなかったので断念して、素直に GeForce 7300LE を利用することにした;-)。

ちなみに GeForce 7300LE を利用した WindowsXP x64 環境においては FFベンチを試した所 LOW で 6000 を超えてくれた。僕の持っている PC の新記録。

後、気がついた点としては

・マザーボードが AHCI に対応しているのだけど、FreeBSD はまだ対応していないっぽい。
・オンボード NIC は re0 で 1Gbps なのだけど、WakeUP on LAN の動作が怪しい。どう怪しいのかと言うと、FreeBSD 起動後に shutdown -p した後に WakeUP on LAN パケットを流しても起動しない。WindowsXP x64 をシャットダウンした後に WakeUP on LAN パケットを流すと起動してくれる。と言う感じ・・。困ったちゃん。
・音はオンボードの HDA が使える。FreeBSD の snd_hda.ko をロードすれば良いだけ。ただし、起動後に前回保存したボリュームが有効にならないので毎回どでかい音が出てしまうX-(。
・CPU は SMP カーネルで動作する。後、Cool’n’Quiet も動作する。詳細については下の sysctl の結果を見てください。

こんな感じかなぁ。

この PC で FreeBSD/amd64 6.2-STABLE を起動しているのだけど、必要な情報は以下になります。他にも情報掲載のリクエストがあれば、コメントにかいてくださーい。

dmesg の結果
pciconf -lv の結果
kldstat の結果
sysctl -a の結果
AMD690G の VESA の xorg.conf

9月 142007
 

カーネルがメッセージを出力してくれます。

kernel: ad0: FAILURE - SMART status=51 error=4

 
最初、HDD がイカレたのかと心配したのですが、どうもそうではないらしい。PC の BIOS で SMART を有効にしないと上記のメッセージが出る。と言うのを FreeBSD の IRC で詳しい方に教えていただきました。

上記のメッセージは S-ATA が出しているのだけど、ケーブルの問題もあるとは思う。まずは、smartctl -a /dev/ad0 コマンドを実行してみて、「-s on オプション付けて SMART を Enable にしなさい。」みたいなメッセージが出力されたら SMART が有効になっていないので smartctl -a /dev/ad0 -s on を実行して有効にしてあげましょう。

そしてしばらく、メッセージが出力されないとこを確認すれば良いでしょう。

最近の FreeBSD は SMART 情報をカーネルが上げてくれるのか?とかちょっと驚いてしまった一瞬なのでした;-)。

8月 062007
 

FreeBSD 6.2-STABLE 使っている。でもって ports も同じ辺りの ports-CURRENT を cvsup して使っているんだけど、acroread は ja-acroread7-7.0.9_1,1 を使っている。

こいつ、起動時に shell のエラーメッセージを以下のように出力するねぇ。ふん。

/usr/local/Adobe/Acrobat7.0/JPN/bin/acroread: line 665: [: -ge: unary operator expected

 
で、よくよく見てみると直前の行と比べて if で指定している変数が変。以下のように直したらメッセージがでなくなったけど・・。

--- /usr/local/Adobe/Acrobat7.0/JPN/bin/acroread.orig   Sat Jan  6 05:49:51 2007
+++ /usr/local/Adobe/Acrobat7.0/JPN/bin/acroread        Mon Aug  6 16:05:40 2007
@@ -662,7 +662,7 @@
base_version="${base_version}0"
done
- if [ $version -ge $base_version ]; then + if [ ${#version} -ge ${#base_version} ]; then export LD_LIBRARY_PATH="`dirname "$ifile"`":"$LD_LIBRARY_PATH" return 0 fi

 
ちなみに改行がおかしいのはブログのシステムのせいです。<PRE>タグ使っているんだけどねえ・・。

acroread って勝手に直したらライセンス違反だっけかなぁ・・。それにしても 今だに /usr/X11R6 とか参照している acroread はちょっち時代遅れか・・。

ふむぅ・・。

7月 272007
 

昨日 (2007/07/26)、cvsup したらキーボードの “_” の入力ができなくなってしまった。原因は xkeyboard-config-1.0.0 の Makefile に問題があるみたい。

しょうがないので xkeyboard-config-1.0.0 を make deinstall して、一個前のバージョンである xkeyboard-config-0.9_3 の packages を他のマシンで作り、pkg_add して事なきを得る。

所がぁ・・。僕はカナ入力の人なのだけど、106 キーボード的に言うと、 け の右横のキーバインドが変わってしまい、 へ の右横のキーになってしまったので かっこ閉じる とか MU が入力できなくなってしまった・・。orz。

ちなみに、現在はまだその状態でこのブログを書いているんだけど、まだ何かの ports が悪さしているんだろうなぁ。

あぁあ・・。何が悪さしているんだろうなぁ・・。昨日の cvsup では xkb いろいろ置き変わっているのでその内のどれかだろうなぁ・・。

今から調査・・。はぁ・・。

7月 022007
 

カーネルモジュールのお話。特に DELL 製 NotePC 系でのお話。xorg.conf のお話。なんか、いろんなことが絡んでいるなぁ・・。

xorg が 7.2 になったので合せて色々なものが動く様になったり動かない様になったり、目に付くようになった今日このごろ、僕の持っている DELL X1 の NotePC において /var/log/Xorg.0.log を眺めていると、 /dev/agpgart が無いゼイッって怒られている行が合った。

/dev/agpgart が無いとどうなるのかと言うと drm が動かないので mplayer がフル画面で表示してくれないとか 3D が遅いかもとか言った弊害が出てくる。まぁ、そんなに大した問題では無いのだけどね(^^;;。

では、どうして /dev/agpgart が出来ないのか? どうやらカーネルモジュールをロードする時に問題がありそうだ。acpi_video.ko を先にロードしてから agp.ko、drm.ko、i915.ko をロードすると /dev/agpgart が生えてこないみたい。

そして、acpi_video.ko をロードしないようにすると /dev/agpgart が無事に生えてくる。この辺り、pciconf -lv するとデバイスの認識状況が楽しかったりします;-)。

それにしても、/dev/agpgart が生えてこないんだったら acpi_video.ko をロードしなければいいじゃん。となるんだけど、これがまたねぇ・・。DELL X1 は中途半端に suspend/redume するもんだから acpi_video.ko をロードしておかないとディスプレーのリセットとかできなくなってします。

解り易いのは acpi_video.ko をロードした時としない時の sysctl -a | grep video の違いを見れば一目瞭然。

前者の場合、外部ディスプレー出力にも対応しているのに対して、後者の場合は video 周りの ACPI (と言うか sysctl の MIB) は何も無い状態。その状態で acpiconf -s3 なんざ叩いたらマシンがあっと言う間に凍りついてしまう。

mplayer をフル画面で見たいがため、もしくは Xorg.0.log からエラーメッセージを除去したいがために acpi_video.ko をロードしないのはあまりにもナンセンスだ・・。

と、言うか、agp.ko と acpi_video.ko で drm 辺りが競合してしまうのに問題があると言うか、なんちゅーか本中華・・。

デスクトップの i915 だったら無条件で acpi_video.ko をロードしないと言う選択枝が取れるんだけどねぇ。NotePC の場合は悩ましい。

さて、あなたはどっちを選択しますか!?

6月 112007
 

/usr/ports/www/nspluginwrapper はすごいらしい。flash7 で音が出るらしいと風の噂で耳にした。と、言うことで試してみた。

この ports をインストールした後に nspluginwrapper -v -a -i とコマンドを実行すれば ~/.mozilla/plugins に プラグインが格納される。

firefox の場合は www/linuxpluginwrapper を利用すれば www/linux-flashplugin7 は動いていたんだけど、konqueror では flash6 のプラグインしか動かなかったのよねぇ。

なので、僕は古い ports から www/linux-flashplugin の 6 のバージョンを持ってきて firefox の場合は linux-flashplugin7 を利用するけど、konqueror の場合は linux-flashplugin6 を参照するように設定してた。

けど、www/nspluginwrapper を利用すると konqueror でも linux-flashplugin7 が使えるようになってちょっと感激;-)。

ちなみに www/nspluginwrapper を FreeBSD/amd64 上でインストールすると、 /usr/local/lib/nspluginwrapper/amd64/freebsd と言うディレクトリができるので、ん? 64bit 環境で動くのかぁ? と期待を寄せてしまう;-)。こっちはまだ試していないんだけどねぇ。

今日の夜にでも試してみよう;-)。

5月 292007
 

僕はDELL Latitude X1を持っているんだけど、現在 FreeBSD は 6.2-STABLE を追いかけている。

ports は ports-current を追いかけているんだけど、 xorg が 7.2 になったからなのか、最新の STABLE で 変更が入ったからなのか、 sysctl から hw.acpi.video.out0.active が消えてしまった・・。

DELL X1 は 一応 S1 っぽい S3 の suspend/resume ができるのだけど、今までは以下のようにすれば、 resume からの復活でディスプレーのバックライトが点いていたんだけど、この sysctl のパラメータが無くなってしまった・・。

# sysctl -w hw.acpi.video.crt0.active=0
sysctl -w hw.acpi.video.out0.active=0
sysctl -w hw.acpi.video.out0.active=1

 
なので resume から目覚めてもバックライトが点灯しないので画面は真っ暗・・。あぁ・・。どうしよう。多分原因と言うか、手が入ったのは acpi_video.ko だと思うのだけどねぇ。しばらくは調査の日々が続きそうです・・。

まだ、原因が特定できていないし回避策も見つかってはいません・・。

あ、後、良い事も一つあって、レジューム後は CPU 速度が自動的に可変に動作するようになりました。今までは ntpd をリスタートしないと CPU 速度が固定だったのだけどねぇ。

DELL X1 の詳細については DELL Latitude X1(7-CURRENT) もご覧下さい。ちょっと古いんですけど・・。