Voyage MPD システム構築 by PCど素人 (Alix,CuBox,APU(New Alix))

PCど素人の文系リーマンがVoyage MPD(Alix,Cubox,APU(New Alix))構築に挑戦の顛末です。

No.25 LightMPDをAPUに搭載

2014-08-11 22:07:05 | 日記

 APU用のLightMPDが公開されたと、2ch(!)で見て、インストールを試してみました。

 なお、作成者様は一旦upされたものの、HiFACE対応未了等のため、修正版を出すと告知されたため、修正版がリリースされた本日(2014年8月11日)作業に取り掛かりました。

 当方のAPUは Voyage MPD Starter Kit 2.0で購入のため、もともとのSSDにはVoyage MPDがプリインストールされてます。そのreplace物、ということになるのでしょうか。

 

  作成者様のサイト → https://sites.google.com/site/digififan/

 

 苦闘(?)2時間、無事音を出すことが出来、HiFACE EVOも利用可能なことを確認しました。

 本日(2014年8月11日)未明upされた作成者様の発言では、作成者様の手元にある初代HiFACE EVOは作動しなかったとありますが、本年購入の当方のHiFACE EVOは問題なく作動していますので、一般的な意味で、HiFACE対応は大丈夫かと。

 本稿では、APU版LightMPD導入の顛末を報告します。(2014年8月11日実施作業。本稿の記述は同日から8月13日までの間に行ったものです。)

 概況でいえば、終わってみれば、なんだ、という感じですが、やっている途中はかなり戸惑いがありました。特にダウンロード→解凍、の件は、当方のようなど素人にはかなり判りにくいと思います。

 

1 前提として、当方の環境を確認的に書いておきます。

 ・当方のAPUはVoyage Storeにて2014年5月頃、Voyage MPD Starter Kit 2.0 で購入したAPU1cです。

   http://www.pcengines.ch/apu1c.htm

   http://store.voyage.hk/

 ・家庭内LAN接続のWindows7のPCだけ使用します。(VoyageMPDのようにインストール作業でAPUは使う、ということはありません。)

 ・APU、NASのIPアドレスは、元々固定で運用しています。

 ・NASはWindowsマシンでファイル管理 Windowsでは

 

    NAS(ドライブZ)

     |----Shareフォルダ(非共用フォルダ・・・LAN上のエクスプローラからは見えない)

     |----Publicフォルダ(共用フォルダ)

           |-----Musicフォルダ(音楽ファイルフォルダ)

                  |-----(個別の音源フォルダ)

 

 ・APUのSSDは、SSHを通さない限り当方の環境では直接いじることができません(orそのやり方がわかりません)。つまり、APU付属のSSDカードにLightMPDはインストールできないため、APUはSDカードにシステムファイルを入れてここから駆動することとなります。

 

2 当方の環境において作業上必要なもの

 ・SDカード(当方、手持ちの空きが4GBだったため、こいつを使いましたが、1GBとかでもよさそう) SDカードは、FAT32でフォーマットしておく。(当方環境でのフォーマットのデフォルト。これでOKでした。)

 ・USB接続でSDカードが使えるメディアリーダー(拙稿No.05に出ているやつ) → APUのUSB口に刺して、ここからSDカードの中味をAPUに取り込みます。

 ★ SDカードの代わりにUSBメモリ(1GB)に、現に作動しているファイルシステムをDD for Windowsでコピーしたところ、ちゃんと動きました。

 つまり 1 USBメモリもOK  2 容量は1GBでもOK(ファイルシステムの容量からすればたぶん512KBでもOK)

 ただ、APUは2つあるUSBスロットがくっつきくっつきなので、USBメモリを挿すと、もう一方のスロットに絶対挿さないといけないUSBケーブル(DACなどに向けたデジタル出力)が挿しにくい、という仕儀になるかもしれんです。

 ・ソフトウェアとしては、DD for Windows、gzファイルが解凍できるツールがこのインストール作業では特異的に必要(インストール作業にはテキストエディタも必要だが、Windowsのメモ帳で十分)

  DD for Windows(シリコン・リナックス株式会社様提供)

   http://www.si-linux.co.jp/techinfo/index.php?DDforWindows

 

3 作業

 作成者様のサイトにも手順は懇切丁寧に書いてありますが、それでもチンプンカンプン、という私レベルの方のために参考になれば・・・

 (作成者様のサイト中、lightMPD - lightweight Music Player Daemon (MPD)のページに,詳細な手順が記載されています。必ず、そちらと併せ御覧くださいね。)

 大まかに言えば、(1)ファイルをダウンロードし解凍 (2)解凍後ファイルをSDカードに転送 (3)SDカード上のファイルをWindowsPCのテキストエディタで編集(端的に言えば、1ファイルだけ、APU、NASのIPアドレス設定、NAS自体の設定、部分の中味を修正する、という作業だけすれば、とりあえず音は出る) (4)このSDカードをAPUに接続し、NAS(+その他の周辺機器)→APUの順に電源投入 という手順で、DACから音が出れば万々歳、ということになります。

 

 (1) ダウンロード

 Windows PCで、作成者様のサイトから、64bit版 APU1c用LightMPDをダウンロード。2014年8月11日現在のファイル名(ヴァージョン)は lightMPDapu1c-v0.05-64.img.gz でした。32bit版と何が違うのでしょうか?APUのサイトだと64bitでも運用できるようなので、こっちを選択してみました。

 ★2014年8月14日追記 32bit版も問題なく(HiFACE対応含め)音出し出来ました。作業内容は下記のものと全く一緒です。


 (2) ファイルの解凍

 WindowsPCに乗っかっているgzファイル解凍可能な解凍ツールを使って、上記ファイルを解凍。

 すると、(上記ファイル名の版を解凍した場合)lightMPDapu1c-v0.05-64.imgというファイルが出来ます。ただし、このファイルをいくらそのままWindowsPCでいじっても無駄です。(作成者様が記述している、各ファイル群は、このファイルのままでは、WindowsPC上ではいくらやっても見ることができません。)つまり、このimgファイルの中味の個別ファイルを弄るには、次の(3)作業が欠かせません。


 (3) SDカード(以下USBメモリとか使用の方は、「SDカード」を読み替えて下さい)へファイルを転送

 ここはとても判りにくいところですが、DD for WIndowsでSDカードに上記imgファイルを移送することが絶対的に必要です。そして、この転送後のファイルの中味のターゲットファイル(作成者様の示す手順において修正を要するとされているlightMPD.confファイル)を修正する、というのが、LightMPDインストール設定の基本手順です。故に、作成者様のサイト(その他LightMPDインストールを紹介するサイト)で記述される、lightMPDディレクトリ内にあるファイルを修正してのシステムの設定作業は、上記作業後にSDカード上のファイルをいじることとなる、と理解しときましょう。

 繰り返しになりますが、ダウンロード・解凍した素のままのimgファイルは、そのままでは、imgファイルの中味を覗くことも、肝心の中味のターゲットファイルをテキストエディタで弄ることもできません(私の環境と経験上では、です。違ってたら御免なさい。)。そのため、WindowsPC上で素のままのimgファイルの中味をさらにバラして、ターゲットファイルを修正して、必要なファイルをSDカードに転送する、という手順はとることができません(ここ、当方は最初分らず勘違いしてました)。

 また、ファイル転送は、Windowsの右クリック→コピー&ペーストで、上記解凍後のimgファイルをSDに転送しても無駄です。コピペで転送しても,上記の「素のままのimgファイルを弄る」のと事態は一向に変わりません。(コピペすると、下の図のように表示される。このimgファイルをいくらダブルクリックしてもびくともしない。ダウンロード・解凍後の素のままのimgファイルと何ら変わらない状態。要するにWinPCのディスク上だろうがSD上だろうが、DD for WIndowsで転送、という手順をふんで下記eのように表示させないと、imgファイルの中味の、修正すべきターゲットファイルが開かず修正も出来ない。)

 

 

 a SDカードをWinPCに挿しといて、DD for Windows を起動(Win7以降ならアイコンを右クリック→管理者として実行 でないとダメですよ!)

 b DD for Windows の画面の左、「対象ディスク」に、SDカードのドライブ名が表示されていることを確認(又はディスク選択ボタンで選択可能であること)。ファイル選択ボタンで、さっきのimgファイルを選択する。

 c このファイル選択に当たって、「ファイルの種類」は、全てのファイル(All Files)にしないと、いくらimgファイルのいるフォルダを指定しても出てきません。デフォルトでは、拡張子ddiファイルしか表示されません。

 d ファイル選択が終わったら、「書込」ボタンをクリックし、SDカードにimgファイルを転送。

 e 「コンピュータ」→SDカードのドライブを辿り、こいつを開くと、このように下位フォルダが見えるようになる。ここにあるファイルの中味をテキストエディタで修正し、環境設定をすることが、インストール作業の全て。

 lightMPDフォルダを開けると(lightmpd.confファイルはエディタで弄った後なので、更新日時が変わっています。)

 

 bootフォルダの中味

 

 (4) ターゲットファイルの修正

 繰り返しですが、LightMPDのインストール設定は、上記SDカード上に見えるlightMPDフォルダ中のlightmpd.confファイルを、Windowsのテキストエディタ(メモ帳とか)で修正(IPアドレス、NAS設定)すれば、音は出ます。要するにそれだけ。

 

 a IPアドレスの確認。スタートボタン→すべてのプログラム→アクセサリ→コマンドプロンプトを選択し実行。で、立ち上がったコマンド入力欄にipconfigと入力し改行。

 

 通常の家庭内LANの場合、こんなもんではないでしょうか。

 仮に、サブネットマスク 255.255.255.0(ふつうこれ)、デフォルトゲートウェイ(ルータのアドレス)は192.168.23.1であったとします。DNSサフィックスはたぶん空白でしょう。

 ついてに、TWSNMP(拙稿NO.06参照)で空きIPアドレスなど確認しておきましょう。


 b lightmpd.confファイルをテキストエディタで開く。Windowsのおまけのメモ帳(スタートボタン→すべてのプログラム→アクセサリ→メモ帳を選択し実行)で十分でした。以下、初期状態です。

 ところで、各行の左、空白に見えるのはスペースではなく、TABでインデントを取っている(?)ようです。よって、この辺りを弄ってしまった場合はスペースを埋めず、TABキーで頭揃えしときましょう。

 

 c ネットワーク設定。APUのIPアドレスを指定します。APUのアドレスは仮に 192.168.23.30で固定することとした場合の例です。

 以下 赤字は修正箇所 青字は注釈です。注釈はターゲットファイルには書き込まないでね!

 

【初期値】 

[network]

              interface=eth0

              address=192.168.0.0

              netmask=255.255.255.0

              gateway=192.168.0.0

              nameserver=192.168.0.0

              domain=mydomain.jp

 

【修正例】

 [network]

              interface=eth0      いじらない

              address=192.168.23.30  APUの割当IPアドレス

              netmask=255.255.255.0  ipconfigのサブネットマスクの値(普通初期値通り)

              gateway=192.168.23.1  ipconfigのデフォルトゲートウェイの値

#            nameserver=192.168.0.0 ipconfigでDNSサフィックス非表示のためコメント化

#            domain=mydomain.jp 同上によりコメント化

 

 d 時刻設定。APUはバッテリ積んでいるので、サーバ(NICTとか)は指定いりません。これでちゃんと動いてます。

 

【初期値】

[ntp]

              server=192.168.0.0

              ntpd=no

              timezone=Asia/Tokyo

 

 【修正例】

[ntp]

              server=none

              ntpd=no

              timezone=Asia/Tokyo

 

 e NAS設定。一番の鬼門ヤマ場です。環境が人それぞれなので、一般化できませんからね。

 ここでは、NFSファイルシステムをマウントするのか、CIFSでマウントするのか択べ、といわれますが、我々ど素人が一番困るのが、これでしょう。何のこっちゃ? だから。

 ところで、いままでVoyageMPDでは、NASはCIFSでマウントしていました。でも、LightMPDはLinuxベースだし、Linux環境なら、NFSのほうがファイルシステムに要らん負荷がかからないため、優位性があると思われます。

 結局、当方では、NASはLinux環境だけでなくWindows環境でも動かすこと(WInPCでNASの中味を弄るため)、NFSでマウントした場合、NASがWinPCでちゃんと弄れるか不安(知識不足)のため、今までのVoyageMPDと同様、CIFSでマウントすることとしました、以下はそれを前提とした記述です。

 参考としたサイト http://www.designet.co.jp/faq/term/index.php?id=TkZT

 

 なお、下記は仮にNASのIPアドレスは 192.168.23.20で固定、NASのユーザ名はabc、パスワードはdef、NASのドライブ内の最上位フォルダのうち、ネットワークで共用するフォルダ名はPublicとした場合の例です。(VoyageMPDでもこの4つは使っていますので、そちらと整合させましょう)

 また、[nas:MusicNAS]とある行の赤字のNAS01は、単なる例であり、別の文字列でもOKです。

 

【初期値】(NFSマウントを優先的に考えているみたいですね)

[nas:NASID1]

              type=nfs

              host=nashost1

              remotedir=audio_data

              proto=tcp

              rsize=65536

              wsize=65536

 #[nas:NASID2]

#            type=cifs

#            host=nashost2

#            remotedir=audio_data

#            remoteuser=usrid

#            remotepass=passwd

#            iocharset=utf8

#       file_mode=0644

#       dir_mode=0755

#       rsize=61440

#       wsize=65536

 

【修正例】

#[nas:NASID1] Windowsでも使うためnfsはコメント化

#            type=nfs

#            host=nashost1

#            remotedir=audio_data

#            proto=tcp

#            rsize=65536

#            wsize=65536

[nas:MusicNAS] cifsサーバとして定義

              type=cifs

              host=192.168.23.20  NASのIPアドレス

              remotedir=Public   NASの共有フォルダ

              remoteuser=abc NASのユーザ名

              remotepass=def  NASのパスワード

              iocharset=utf8    変更なし

              file_mode=0644    変更なし

              dir_mode=0755    変更なし

              rsize=61440     変更なし

              wsize=65536     変更なし

 

 f 音楽ファイルの在り処等の定義。ここでの肝は、上のeのNAS設定で、[nas:MusicNAS]の赤字の部分。ここの[mpd]では、次のことを覚えときましょう。

  1 初期値である「NSAID1」の文字列を、上記赤文字の文字列に置き換えること。

  2 パス(フォルダの系列記述)では、NASの共有フォルダまでの記述が、上記赤文字の文字列で置き換えられる。

 2については、ややこしいですが、NASのフォルダ構造が上述の通り、

 

   NAS(ドライブZ)

     |----Shareフォルダ(非共用フォルダ・・・LAN上のエクスプローラからは見えない)

     |----Publicフォルダ(共用フォルダ)

           |-----Musicフォルダ(音楽ファイルフォルダ)

                  |-----(個別の音源フォルダ)

 

 となっていれば、ここでは、音楽ファイルの在り処「Music」フォルダの在り処、Windows風に書けば、Z:¥Public¥Music、と記述する必要がありますが、このうち、「Z:¥Public」の文字列を、本例では「MusicNAS」という文字列で置き換えてしまう、ということですので、Linux風(フォルダの¥はLinuxでは/)に書けば、MusicNAS/Music、ということになります。

 

【初期値】

[mpd]

              load_module=mpd-0.18.11dsdrt

              music_directory=NASID1/Music

              playlist_directory=NASID1/mpd/playlists

              db_file=NASID1/mpd/tag_cache

              sticker_file=NASID1/mpd/sticker.sql

#            log_file=NASID1/mpd/mpd.log

              log_file=/dev/null

 

【修正例】

[mpd]

              load_module=mpd-0.18.11dsdrt 変更なし

              music_directory=MusicNAS/Music  音楽ファイルフォルダの在り処を指定(説明上述)

              playlist_directory=MusicNAS/mpd/playlists

              db_file=MusicNAS/mpd/tag_cache

              sticker_file=MusicNAS/mpd/sticker.sql

#            log_file=NASID1/mpd/mpd.log

              log_file=/dev/null

 

 なお、 初期値で「NASID1」の文字列は、上記の赤字のように、(本例の場合ではMusicNASに)置換します。

 あと、NASの共有フォルダ(本例ではPublic)の直下(Musicフォルダの並び)に、本例の黒字部分をそのまま踏襲した場合は、「mpd」という新規フォルダを作っておきましょう。曲のデータベースは、NASの¥Public¥mpdフォルダに作成されるためです。このフォルダを作っておかないと、どうも何やらあとでえらい目に遭うみたい、かも、です(電源を落とすとデータベースも消え、電源投入ごとにデータベースを再構築する羽目になる?)。よって、この例の場合、NASのフォルダツリー構成は次の通りとなります。

 

   NAS(ドライブZ)

     |----Shareフォルダ(非共用フォルダ・・・LAN上のエクスプローラからは見えない)

     |----Publicフォルダ(共用フォルダ)

          |-----pmdフォルダ(データベース等ファイルフォルダ) ←新

          |-----Musicフォルダ(音楽ファイルフォルダ)

                  |-----(個別の音源フォルダ)

 

 g あとのパラメータは、とりあえず放置(初期値のまま)

 

 (5) LightMPDのテストラン

 上記のlightmpd.confファイル修正が終了したら、ファイルを上書きして、次の手順でAPUの電源を入れます。

  NAS電源ON(+周辺機器ON) → NASがちゃんと動き出したら、上記ファイルを格納したSDカードを挿し込んだAPUを起動。

 で、暫し待って、クライアント(GMPCとかMPoDとか)で音が出るか確認しましょう。なお、最初APUの電源を投入すると、勝手にデータベースを構築し始めます(ので、上記(4)fに書いた新フォルダの新設は忘れないようにしましょう)、実際はその後でクライアントで音出しして見ることになります。

  ★USBスロットは、上下どちらをシステムファイル、デジタル出力に使っても問題なく作動(当方の環境にて)。LANケーブルは、3つあるAPUのスロットの一番シリアリポート(9ピンのスロット)側のスロットを使う必要あり、です。

 

4 おまけの手順

 音出しに成功したら、使わない機能は取っ払っておきましょう。以下の通り措置していますが、音はちゃんと出ます。

 

[httpd]

#  yes | no

              enable=no

[telnetd]

#  yes | no

              enable=no

[webconsole]

#  yes | no

#  start page:   http://thishost:9000/index.html

              enable=no

[cpuaffinity]

#  0   notmal

#  1   cpu1:  usb irq handler

#  2   cpu1:  usb irq handler,mpd's output thread

        type=2

#[debug]

#            interfaces=yes

#            resolvconf=yes

#            ntpd=yes

#            ntpconf=yes

#            ifconfig=yes

#            cards=yes

#            mounts=yes

#            ps=yes

#            mpdversion=yes

#            date=yes

#            ntpq=yes

#            music=yes

#            messages=yes

 

5 謝辞

 下記サイトを参考とさせていただきました。感謝。

  http://jcmaetc.blogspot.jp/2014/06/lightmpd_16.html

 


最新の画像もっと見る