以前ipkgのMiniDLNAをPogoplugで起動して試したけど、REGZAでは動画再生に問題があって音声だけしか再生されなかった。
これはMiniDLNAのバージョンが古いからだろうと勝手に解釈し、今回立ち上げたVMware Debianで最新版をクロスコンパイルしてみた。

ソースはこちらから。
staticが付くものはバイナリーでNETGEARという製品向け(Marvell)なので使えない。

armelのクロスコンパイラは前回導入したので、今回はクロス開発時に必要となるライブラリの導入の仕方について調べてみた。
以前はdpkg-crossというコマンドでターゲット向けに変換していたらしいが、現在はxaptとというコマンドで簡単に入れられる。
コンパイル時に出るエラーメッセージに足りないライブラリ名が表示されるのでそれをxaptに指定するだけ。
xaptはapt-getで導入できる。

xaptの使い方、コマンドラインはこんな感じ
xapt -M ミラーサイト -S スイート(バージョン) -a ターゲット ライブラリ名

だからaliasでこんな感じで。
alias xapt='xapt -M http://ftp.jp.debian.org/debian -S squeeze -a armel'
liboggが欲しい場合コマンドラインで
xapt libogg
と打つだけ。

MiniDLNAで必要なライブラリはこれだけあった。
libavcodec
libavformat
libavutil
libflac
libvorbis
libogg
libid3tag
libexif
libjpeg
libsqlite3

なぜかxaptで入れたものだけではコンパイルエラーは消えず、apt-getで通常のライブラリも入れる必要があった。この辺の仕組みはよくわかってない(^^;
実際にインストールするライブラリ名はlibavcodec-devなど開発用ライブラリなので注意。

もちろんコンパイラを替える必要があるので、MiniDLNAのMakefileを開いてgcc->arm用gccに変更する。ご注意を。
コンパイルはソースがあるディレクトリに入って(Makefileがある)makeする。

とりあえずこれで通ったのでPogoplugへ入れる。
minidlna -> /usr/sbin/
minidlna.conf -> /etc
設定ファイルを書き換えてminidlnaを起動。
ライブラリを要求され入れる。
起動見事成功。常駐される。

そして試す。
REGZAでPogoが見える。
動画再生。

・・・

音声しか再生されない。

結局ダメでしたって事で(^^;
バージョンでは無かった模様。

【改訂新版】 Linuxコマンド ポケットリファレンス (Pocket Reference)/沓名 亮典

¥2,394
Amazon.co.jp

図解でわかるLinux環境設定のすべて/西村 めぐみ

¥2,625
Amazon.co.jp

UNIXシェルスクリプトコマンドブック 第2版/山下 哲典

¥2,310
Amazon.co.jp

Debian 辞典 (Desktop reference)/武藤 健志

¥2,940
Amazon.co.jp

Linux