wizd with DVDISO の使い方

2006.03.13 by sirius
2007.02.04 更新



[インストール]
ここでは、玄箱の /usr/local/wizd にインストールする場合を説明します。
作業は root で行なって下さい。 まずダウンロードのページから wizd_0_12h_hoge2_dvdiso-0.tar.gz をダウンロードします。
libreaddvd がインストールされていれば、これだけで十分ですが、インストールされていない場合は、static link の wizd_0_12h_hoge2_dvdiso-0-static.tar.gz もダウンロードして下さい。 使い方は、Linkstation の項目を参照して下さい。
ダウンロードしたファイルを展開します。
# tar xvf wizd_0_12h_hoge2_dvdiso-0.tar.gz
wizd_0_12h_hoge2_dvdiso フォルダか作成されますので、 中味を全てインストール先(/usr/local/wizd)にコピーします。
# cd wizd_0_12h_hoge2_dvdiso
# cp -r * /usr/local/wizd
wizd のドキュメントルートの下にマウントポイントを作成します。 ここでは、ISO します。(実際にはでデフォルトの ISO のままで良ければ、始めからあるので作成する必要はありません)
# mkdir ドキュメントルートのパス/ISO
インストールは以上です。設定にすすんで下さい。

[設定 1(wizd.conf)]
wizd の設定は、wizd.conf と wizd_skin.conf で行ないますが、 まずは、wizd.conf で設定します。 詳しいことは、インターネットを検索すればみつかると思います。 wizd @Wiki がお推めです。
ほとんどは設定しなくてもデフォルトのままで大丈夫です。
取りあえず、次の項目を確認すれば大丈夫でしょう。設定値は今回の例です。

  • document_root
    /usr/local/wizd/docroot
  • skin_root
    /usr/local/wizd/skin
  • skin_name
    .wizd_skin_symlink (スキンの変更をするため)
  • bookmark_threshold 0 (ISO をマウントした場合、 readonly なのでブックマークは使わない)
  • flag_hide_short_titles
    false (後述)
flag_hide_short_titles について
flag_hide_short_titles を true にすると、チャプター単位で再生されますが、チャプターが変わるところで一時停止してしまいます。 false にするとスムーズに再生されますが、例えば 3 チャプターあったとすると、1 チャプターから最後まで、2 チャプターから最後まで、3 チャプターから最後までと再生されてしまいます。 私は、このパラメータを true にして、スムーズに再生させたいときは、VOB を再生させています。

[設定 2(CGI)]
CGI の実行には perl が必要です。また、各 CGI ファイルの先頭の
#!/usr/bin/perl
の行の赤字部分は、インストールされている perl のパスになっている必要があります。
次に、dvdiso_mounto.cgi の始めのほうで環境設定をします。
# 使用出来る loop デバイスの数(普通は8)
$max_loop=8;
# ドキュメントルート
$root="/usr/local/wizd/docroot";
# マウントポイント(ドキュメントルート以下のパス)
$point_name="ISO";
上記赤字の部分をそれぞれの環境に合わせて書き変えて下さい。
同様に dvdiso_umount.cgi の方も修正して下さい。
# ドキュメントルート
$root="/usr/local/wizd/docroot";
# マウントポイント(ドキュメントルート以下のパス)
$point_name="ISO";

[Linkstation について]
Linkstation の場合は、上記のままでは動きません。
まず、wizd は、static link されたものでないと、実行できません。 wizd_0_12h_hoge2_dvdiso-0-static.tar.gz を展開してできた wizd をインストール先の wizd と入れ替えて下さい。
次に、Linkstation では、isofs カーネルモジュールがありませんので、ダウンロードのページから isofs をダウンロードして解凍し、 /lib/modules/2.4.20_mvl31-ppc_linkstation/kernel/fs に isofs フォルダを作成しコピーして下さい。
# mkdir /lib/modules/2.4.20_mvl31-ppc_linkstation/kernel/fs/isofs
# cp isofs.o /lib/modules/2.4.20_mvl31-ppc_linkstation/kernel/fs/isofs
# depmod -a
途中で改行されているかもしれませんが、実際は 3 行です。
最後の depmod でエラーがでますが、これは問題ありません。
更に、Linkstation では loop デバイスファイルが 1 つしか作成されていないので、作成します。
# mknod /dev/loop1 b 7 1
# mknod /dev/loop2 b 7 2
# mknod /dev/loop3 b 7 3
# mknod /dev/loop4 b 7 4
# mknod /dev/loop5 b 7 5
# mknod /dev/loop6 b 7 6
# mknod /dev/loop7 b 7 7
では、isofs がロードできるかどうかためしてみます。
# modprobe isofs
# lsmod
lsmod の結果の中に isofs があれば、ISO イメージがマウントできるようになっています。

[Terastation について]
Terastation(HTGL) についても、Terastation 用の isofs を使えば、 Linkstation 同様に使えます。ファームウェア Ver.2.03 で確認しました。
loop デバイスはデフォルトで 2 つまであるようです。(loop0, loop1) 必要であればこちらも同様に追加することができます。

[Linkstation(LS-GL) について]
LS-GL も Linkstation と同様の作業をしてください。
LS-GL の標準ファームの umount コマンドは、-d オプションを付けないと loop デバイスを解放しません。そこで、 LS-GL 用では、 CGI を修正し、umount のオプションに -d をつけています。
なお、isofs のコピー先は、/lib/modules/2.6.12.6-arm1/kernel/fs/isofs です。