ということで、こっちで新しく日記を開始します。
よろしくお願いします。
追記テスト
ということで、こっちで新しく日記を開始します。
よろしくお願いします。
追記テスト
(この記事は2009年5月2日現在の記事です)
ファイルサーバにあるメディアファイルをPS3を使って再生できないか,ということで探してみたところ,
MediaTomb
というDLNAサーバの実装があるらしい.
早速net/mediatombからインストール.
設定だが,最初にmediatombを起動する(/usr/local/etc/rc.d/mediatomb start)前に,文字コードとmime typeの設定が必要.
/usr/local/etc/mediatomb/config.xmlに以下のように行を追加する.
<import hidden-files="no">
<filesystem-charset>UTF-8</filesystem-charset> ←この行追加
<metadata-charset>CP932</metadata-charset> ←この行追加
<scripting script-charset="UTF-8">
...
<extension-mimetype ignore-unknown="no">
...
<map from="flv" to="video/x-flv"/>
<map from="mpg" to="video/mpeg"/> ←追加
<map from="MPG" to="video/mpeg"/> ←追加
<map from="mpeg" to="video/mpeg"/> ←追加
<map from="m2ts" to="video/mpeg"/> ←追加
<map from="avi" to="video/divx"/> ←追加
</extension-mimetype>
これがないと文字化けする上に,後から設定を変えても反映されない.
おそらくデータベースを最初に作ってしまうため.
で,起動したら,ブラウザで49152番ポートに繋いで編集画面を出す.
左上の「Filesystem」を選び,左のツリーからメディアファイルの置き場所を選ぶ.
右にある,+と矢印が合わさったようなアイコンをクリックする.
これは「ファイルシステムを自動でスキャンしてメディアファイルをデータベースに登録」する設定なので,適宜設定する.
Scan Modeを「Timed」とし,必要に応じてRecursiveを設定する.
ここまでやったらPS3を起動し,「フォト」「ミュージック」「ビデオ」でMediaTombが見えれば成功だ.
(この記事は2009年4月24日現在の記事です。転載するにあたり編集していないので、最新の情報を得るようにしてください)
FreeBSDのルートパーティションをZFSにする方法は,How to install FreeBSD 7.0 under ZFSにある方法が知られている.この方法では,カーネルを置くUFSパーティションは必要だった.ところが最近では,カーネル,スワップもZFSパーティションに置くことが可能になった.以下,方法を記述する.8-currentが入っていて,新しいディスクを2本買ってきた状態からスタート.(7から8に上げる際の注意点は以前の記述を参照).
/etc/make.confに「LOADER_ZFS_SUPPORT=YES」を追加してbuildworld & installworld.
理論的なことはnorkさんの記事を参照.「GPT(PMBR)の場合」というのが今回の方法.
以下,新しく作るpoolの名前をboottankとし,ad4とad6に新しいディスクが刺さっているとする.
# gpart create -s GPT ad4
# gpart add -b 34 -s 128 -t freebsd-boot ad4
# gpart show ad4 (空きセクタ数をメモっておく)
# gpart add -b 162 -s さっきメモした空きセクタ数 -t freebsd-zfs ad4
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad4
(同じ処理をad6にも行う)
# zpool create boottank mirror /dev/ad4p2 /dev/ad6p2
# zfs set mountpoint=none boottank
# zfs create boottank/root
# zfs create boottank/usr
# zfs create boottank/usr/home
# zfs create boottank/var
# zfs set mountpoint=/boottank boottank/root
# zfs set mountpoint=/boottank/usr boottank/usr
# zfs set mountpoint=/boottank/usr/home boottank/usr/home
# zfs set mountpoint=/boottank/var boottank/var
# cd /
# find -x . | cpio -pmd /boottank
# find -x /boot | cpio -pmd /boottank/boot
# find -x /usr | cpio -pmd /boottank/usr
(以下,元のZFSプールにあるファイルシステムごとにfind&cpioを繰り返す)
(スワップ領域確保&設定)
# zfs create -V 4g boottank/swap
# zfs set org.freebsd:swap=on boottank/swap
(起動設定)
# zpool set bootfs=boottank/root
# vi /boottank/boot/loader.conf
----
vfs.root.mountfrom="zfs:boottank/root"
----
# vi /boottank/etc/fstab
----
(/bootとswapの設定を削除)
----
# cp /boot/zfs/zpool.cache /boottank/boot/zfs
(マウントポイントの設定)
# zfs set mountpoint=/usr/home boottank/usr/home
# zfs set mountpoint=/usr boottank/usr
# zfs set mountpoint=/var boottank/var
# cd /
# zfs set mountpoint=legacy boottank/root
ここで電源を切り,古いディスクを外す.新しいディスクのみで起動したら成功だ.おめでとう!
(この記事は2009年1月22日現在の情報です。転載にあたって内容の推敲などはしていません。かならず最新の情報を参照するようにしてください)
FreeBSD 7.1から8-currentに上げてみた時に気づいた事を列挙.
1. カーネルをmake installkernelしてから再起動すると,zfsコマンドが「internal error: out of memory」と言って使えない.
→新しいカーネルで古いzfs/zpoolコマンドは使えない.マウントする時は「mount -t zfs tank/usr /usr」のように,mountコマンドを使うこと.新しいzfsコマンドをインストールしたら,そのzfsコマンドが使える.
2. make installworldすると,libc.so.7をインストールする時にchflags関係のエラーで失敗する.
→ZPOOLとZFSをアップグレードしないと,chflags関係のコマンドが失敗するのが原因.make installworldする際に「make NO_FSCHG=true installworld」とすること.一旦ZPOOL/ZFSをアップグレードすれば,その後は普通にmake installworldしてよい.もしlibc.so.7が存在しない状態になったら,/rescue/ 以下にあるcpコマンドを使って/usr/obj 以下からコピーする.
3. 無線LANが使えない
→無線LANのインターフェースの作成方法が変わり,wlan*というインターフェースを作ってそのインターフェースに設定をするようになった.iwn(4)とかのマニュアルを参照すること,
4. USBモデムのデバイスファイル名が変わった.
→/dev/cuaU* になった(Uが大文字)