音楽ライブラリのサイズが数十GBに収まるのなら、USBメモリに入れてRaspberry Piに取り付けるのがベストかもしれません。 今は64GBでも4千円くらいですからね。
売り上げランキング: 588
ここで少し基礎的なことを。
RaspyFI 1.0は Raspbian(Raspberry PI用のDebian GNU/Linux)をベースにしています。 バージョンはWheezy(Debian 7.0)です。
勝手知ったるFreeBSD(こちらにも musicpdがある)がRaspberry PIで動作してくれると嬉しいんですが、まだ実験的なレベルのようですので大人しくLinuxで我慢しています。
linuxでは autofsという仕組みがあって、USBメモリを挿入すると自動的にマウントしてくれます。 具体的にはUSBメモリが挿入されると、/mnt/USBの下の usb1からusb10にマウントされます。
TeraTermなどでSSHからログインして確認してみます。
「新しい接続」で Raspberry PIの IPアドレスを指定します。
ユーザー名「root」、パスフレーズ「root」で、「プレインテキストを使う」を選択し、OKボタンをクリックします。
ログインできました。 ここで /etc/auto.masterの内容を確認してみます。
root@Raspyfi:/etc# cd /etc
root@Raspyfi:/etc# more auto.master
(中略)
#+auto.master
/mnt/NAS /etc/auto.nas --timeout=6000 --ghost
/mnt/USB /etc/auto.usb --timeout 10 --ghost
root@Raspyfi:/etc#
/etc/auto.nas の中身はどうなっているのでしょうか?
root@Raspyfi:/etc# more auto.nas
NASNE2 -fstype=cifs,file_mode=0777,dir_mode=0777,iocharset=utf8,rsize=2048,ws
ize=4096,cache=strict,username=,password= ://192.168.1.201/share2/iTunes
root@Raspyfi:/etc#
NASセットアップ編で指定した内容が書いてありますね。
/etc/auto.usbはどうでしょうか。
root@Raspyfi:/etc# more /etc/auto.usb
usb1 -fstype=auto,sync :/dev/sda1
usb2 -fstype=auto,sync :/dev/sdb1
usb3 -fstype=auto,sync :/dev/sdc1
usb4 -fstype=auto,sync :/dev/sdd1
usb5 -fstype=auto,sync :/dev/sde1
usb6 -fstype=auto,sync :/dev/sda2
usb7 -fstype=auto,sync :/dev/sdb2
usb8 -fstype=auto,sync :/dev/sdc2
usb9 -fstype=auto,sync :/dev/sdd2
usb10 -fstype=auto,sync :/dev/sde2
root@Raspyfi:/etc#
USBメモリは /mnt/USB以下の usb1~usb10に自動的にマウントされると書きましたが、/dev/sda1に割り当てられたUSBが /mnt/USB/usb1にマウントされる訳ですね。
では Raspberry PIにセットしたUSBメモリは、デバイス的にはどう認識されているのでしょうか。
root@Raspyfi:/etc# dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.12+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #438 PREEMPT Wed May 8 22:31:10 BST 2013
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr=00c5387d
(中略)
[ 2.282087] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.292686] Indeed it is in host mode hprt0 = 00001101
[ 2.492813] usb 1-1: New USB device found, idVendor=0424, idProduct=9512
[ 2.501615] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.511766] hub 1-1:1.0: USB hub found
[ 2.517811] hub 1-1:1.0: 3 ports detected
[ 2.802323] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 2.922729] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.931547] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.943733] smsc95xx v1.0.4
[ 3.007456] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:80:6d:d5
[ 3.102228] usb 1-1.2: new high-speed USB device number 4 using dwc_otg
[ 4.464639] usb 1-1.2: New USB device found, idVendor=0411, idProduct=01b5
[ 4.473742] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4.492017] usb 1-1.2: Product: SHD-LV
[ 4.497779] usb 1-1.2: Manufacturer: BUFFALO
[ 4.512001] usb 1-1.2: SerialNumber: HP40000000001450
[ 4.531559] scsi0 : usb-storage 1-1.2:1.0
[ 4.632193] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[ 4.802179] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[ 4.944618] usb 1-1.3: New USB device found, idVendor=0d8c, idProduct=0319
[ 4.962007] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4.971239] usb 1-1.3: Product: USB2.0 High-Speed True HD Audio
[ 4.979359] usb 1-1.3: Manufacturer: CMEDIA
[ 4.991862] input: CMEDIA USB2.0 High-Speed True HD Audio as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.2/input/input0
[ 5.007861] hid-generic 0003:0D8C:0319.0001: input,hidraw0: USB HID v1.00 Device [CMEDIA USB2.0 High-Speed True HD Audio] on usb-bcm2708_usb-1.3/input2
[ 6.938796] scsi 0:0:0:0: Direct-Access BUFFALO SHD-LV 4000 PQ: 0 ANSI: 0 CCS
[ 6.952916] sd 0:0:0:0: [sda] 62652416 512-byte logical blocks: (32.0 GB/29.8 GiB)
[ 6.968033] sd 0:0:0:0: [sda] Write Protect is off
[ 6.975110] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 6.976171] sd 0:0:0:0: [sda] No Caching mode page present
[ 6.983824] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 6.995399] sd 0:0:0:0: [sda] No Caching mode page present
[ 7.003138] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 7.012994] sda: sda1
[ 7.021534] sd 0:0:0:0: [sda] No Caching mode page present
[ 7.029226] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 7.037484] sd 0:0:0:0: [sda] Attached SCSI disk
(以下略)
「sda」というデバイスの1個目のパーテーションということで「sda1」となってますね。 ということは、usb1にマウントされているはずです。 RaspyFiに戻って確かめてみましょう。
「Browse」の画面で 「USB」をクリックします。
ちゃんと「usb1」が出来てますね。 クリックします。
ん? 日本語のフォルダ名(アーチスト名)が文字化けしていますね。 この下のアルバム名のフォルダも化けてました。
曲名やアーチスト名は、楽曲ファイル(この場合はALAC)に埋め込まれたタグから取得しているので化けていません。
これを解消するためには、viや nanoなどのエディタを使って /etc/auto.usbを以下のように編集します。
root@Raspyfi:/etc# vi auto.usb
(略)
root@Raspyfi:/etc# cat auto.usb
usb1 -fstype=auto,sync,iocharset=utf8 :/dev/sda1
usb2 -fstype=auto,sync,iocharset=utf8 :/dev/sdb1
(中略)
usb10 -fstype=auto,sync,iocharset=utf8 :/dev/sde2
root@Raspyfi:/etc#
念のため RaspyFIを再起動してみましょう。 ログインしていれば reboot(もしくは shutdown -r now)と入力してEnterキーを押します。 RaspyFIの「System」画面から「Reboot」をクリックしてもいいです。
再起動したら、「Browse」の画面で「USB」の欄の右端のアイコンをクリックして、「Update this folder」をクリックします。
これで日本語フォルダもちゃんと表示されるようになりましたね。
実は最初にUSBメモリ(写真の一番上)を挿したときは、自動マウントしてくれませんでした。
なぜかそのUSBメモリは、デバイス「sda」として認識されたもののパーテーション「sda1」が認識されていませんでした。 もちろん、ちゃんとFAT32でフォーマットして、楽曲データもコピーしてありました。
そのUSBメモリを Fat32Formatterでパーテーションから作り直してフォーマットしたら、ちゃんと「sda1」が認識されるようになりました。
おそらくFreeNASのブート用に使っていたりしたので、パーテーションが正規の状態になってなかったのでしょう。
USBメモリが認識されない時は、疑ってみた方がいいかもしれません。