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 情報をカーネルが上げてくれるのか?とかちょっと驚いてしまった一瞬なのでした;-)。