結構面倒くさかったというか,なんで現状うまく起動出来ているのかが謎過ぎるくらいに危ういので,メモ.
基本的には
の手順を参考に,FreeBSD 8-RELEASEをインストール.
その後,FreeBSD 9-CURRENTにあげる.
ここで,うっかりZFSのversionをv14にあげてしまって,起動できなくするのだけど,Google グループの手順で復活.
その後,FreeBSD 9-CURRENTで,AHCI to CAMを有効にしてコンパイル.
cd /usr/src/sys/amd64/conf cp GENERIC WITH_CAM vi WITH_CAM # ATA関係を消した上で,device ahciを追加. cd /usr/src make buildkernel KERNCONF=WITH_CAM make installkernel KERNCONF=WITH_CAM
ここで,再起動をかけると,案の定ルートのマウントに失敗する.ともかく,ドライブの割当が変わってるので,それに対応して/boot/zfs/zpool.cacheを書き換えてあげる必要がある.
起動ディスク単独だとどうにもならないので,ルートのマウントに失敗して,手動でマウントポイントを指定する画面でrescue用に作ってある(FreeBSD 9-CURRENTが入っている)USBスティックを突っ込んで,ルートとしてマウントさせる(ufs:/dev/da0s1a とでも入力する).
このUSBスティックはAHCI to CAMを有効にしていないので,最初からこれで起動しても/boot/zfs/zpool.cacheの書き換えは出来ない.こういうねじれた状態でも,一度CAMを有効にしたシステムで起動して,ルートのマウントに失敗させた状態でマウントさせればOK.素直に,CAM有効かつUFSなUSBスティックを作って起動させてもOKといえばOK.
この状態で,
zpool export <pool名> zpool import -a -f
とすると,ルートでimportされたZFS上の/boot/zfs/zpool.cacheが書き換えられて,以降普通に起動するようになる.
この方法はちょっと危うすぎるので,
zpool export <pool名> zpool import <pool名> -R /mnt/ cp /boot/zfs/zpool.cache /mnt/boot/zfs/zpool.cache
とした方が安全かも知れない.
懸案だった消費電力は
/boot/loader.conf
cpufreq_load="YES"
kern.hz=250
hint.acpi_throttle.0.disabled=1
hint.acpi_throttle.1.disabled=1
hint.acpi_throttle.2.disabled=1
hint.acpi_throttle.3.disabled=1
/etc/rc.conf
powerd_enable="YES"
performance_cx_lowest="C2"
economy_cx_lowest="C2"
で,Linuxよりは少し消費電力が高いけど,アイドル34W.
cpufreqをわざわざ有効にしないといけないってのは盲点.
ただ,結局無線LAN経由のTS再生の問題は解決せず.アイドル消費電力(といっても,再生時もほとんど変わらない)と,OSX上のvlc 1.0.5で再生した時の状況をまとめると,
kern.hz | アイドル消費電力(W) | TS再生時の状況 |
---|---|---|
100 | 32-33 | ほとんど再生できない |
250 | 34-36 | ときどき途切れる |
300 | 39-40 | ときどき途切れる |
500 | 40-41 | 問題なし |
1000 | 40-41 | 問題なし |
というような感じ.マシン構成はH55を買ってみた. - smectic_gの日記にあるとおりで,ネットワークカードの周期が100Hzなので,100だといろいろかち合うのかなと想像.