塩竈桜(塩竃神社)


Date/Time: 2021:04:25 10:18:26
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/200
FNumber: 3.5
Aperture Value: 3.6
Focal Length: 21.0

Close

y2blog » Raspberry Pi 関係の閑話

6

12

2016

Raspberry Pi 関係の閑話

Raspberry Pi 3 を入手


このところRaspberry Piやデジタルオーディオ系から遠ざかっていたけど、Raspberry Pi + Volumio 関係でのアクセスが多いので、Raspberry Pi 3 入手記念ついでに、久しぶりのRaspberry Pi関連の雑記を少し...


Raspberry Pi 3 については2月に出荷開始されて大部日が経っており、色々な所で紹介されているので説明は省くが、CPUのクロックが900MHz -> 1.2GHz になり、wi-Fi、Bluetooth 4.1チップが標準で搭載されているなど、コンピュータとしての性能はかなり向上しているのだが、この方向が果たしてHi-Fiオーディオ的に良い方向へ向かっているのかというと甚だ疑問だ.


只でさえRaspberry Pi はノイズ発生源なのに、Wi-Fi, Bluettothの電波まで発するようになると、単なるノイズジェネレータだ.当然ながらRaspberry Piが消費する電力も大幅に増え、5V 2.5A (12.5W)の電源を推奨している.5V 2.5A クラスの電源をスイッチング電源を使わずに用意するのは大変だ.


...という訳で、Raspberry Pi 3 については一度もオーディオセットに組み込まれること無く、暫くはお蔵入りとなりそうだ.


Raspberry Pi 2 & 3
Raspberry Pi 3(上) & 3 (下)

基板裏面
基板裏面 : Raspberry Pi 3(上) & 3 (下)


Volumio 1.55 のI2S問題


これまで、Raspberry Pi と Volumio の組み合わせで、色々とRaspberry Pi + I2S DAC のオーディオの可能性を探ってきたが、Volumio 1.55 に組み込まれている ALSA Soc 関連のドライバの問題があり、私が狙っている、TIのPCM1792チップとSRC4192 の組合わせでは 16bit/44.1(48.0) KHz 以下の系統の音源を再生する事が難しかった.



I2Sdriver にRPI-DACを指定してみるが...
I2Sdriver の指定では “RPI-Dac” を指定できるのだが...

AudioOutputSelectorでは選択できない
何故か AudioOutput Selector では選択できない

Volumio155 Overlays
/boot/overlays ディレクトリに “rpi-dac-overlay.dtb” が置かれていない

この辺の事情については、『Raspberry Pi 2 + Volumio + DAC でネットワークオーディオに挑戦(その6)』で詳しく説明しているので、そちらの記事を参照して欲しい.


この問題の回避方法を色々と調べて行くと、”rpi-dac”モジュールが TI PCM1794 チップ用のコーデックドライバを組み合わせる前提で作られている事が判明した.PCM1792 と PCM1794 は同じ系列のDACチップ(PCM1794はハードウェア制御)なので、”rpi-dac”モジュールが使えると、16bit/44.1(48.0) KHzの音源を再生した場合でも、きちんと BCKが 64fs (クロック周波数2.88MHz)モードに設定される筈だ.


Volumio 1.55 のディストリビューションでは、I2S用のドライバモジュールとしてWEB GUI設定メニューから”rpi-dac” を指定することができるのだが、”snd-hifi-berry” 以外の設定は反映されない.原因を探って行くとVolumio 1.55 のディストリビューションには、”rpi-dac”関連のドライバモジュールが欠落しているようだ.


Volumio 1.55 の /boot/overlays ディレクトリ配下を覗いてみると、確かに “hifiberry-dac-overlay.dtb” は置かれているが、”rpi-dac-overlay.dtb” モジュールは見当たらない.raspbian や他のディストリビューションでは”rpi-dac-overlay.dtb” モジュールが存在するので、Volumio 1.55 ではポピュラーではない”rpi-dac-overlay.dtb” モジュールを外してあるのだろう.WebGUIのI2Sサウンドドライバメニューの項目としては載っているのだが、肝心のモジュール本体が組み込まれていないということだろう.やはりカーネルから再構築して、”rpi-dac-overlay.dtb” モジュールを自分で組み込むしか方法は無さそうだ.


“RPI-DAC” については、”Audiophile, High Quality RPi-DAC for Raspberry Pi” を参照すると良いだろう.




GitHub Kernel Source Tree
GitHub にある Raspberry Pi の Linux Kernel Source を覗いてみる


“linux/sound/soc/bcm/rpi-dac.c” の中身を覗くと、”RPi-DAC” は PCM1794A 用のSocサウンドデバイスドライバであることが確認できる.BCK を 64fs に設定している部分が snd_rpi_rpi_dac_hw_params() で設定されている.




/*
 * ASoC Driver for RPi-DAC.
 *
 * Author:	Florian Meier 
 *		Copyright 2013
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 */

#include 
#include 

 ...

static int snd_rpi_rpi_dac_hw_params(struct snd_pcm_substream *substream,
				       struct snd_pcm_hw_params *params)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;

	return snd_soc_dai_set_bclk_ratio(cpu_dai, 32*2); <==== BCK : 64fs
}

/* machine stream operations */
static struct snd_soc_ops snd_rpi_rpi_dac_ops = {
	.hw_params = snd_rpi_rpi_dac_hw_params,
};

static struct snd_soc_dai_link snd_rpi_rpi_dac_dai[] = {
{
	.name		= "RPi-DAC",
	.stream_name	= "RPi-DAC HiFi",
	.cpu_dai_name	= "bcm2708-i2s.0",
	.codec_dai_name	= "pcm1794a-hifi",
	.platform_name	= "bcm2708-i2s.0",
	.codec_name	= "pcm1794a-codec",
	.dai_fmt	= SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
				SND_SOC_DAIFMT_CBS_CFS,
	.ops		= &snd_rpi_rpi_dac_ops,
	.init		= snd_rpi_rpi_dac_init,
},
};

/* audio machine driver */
static struct snd_soc_card snd_rpi_rpi_dac = {
	.name         = "snd_rpi_rpi_dac",
	.dai_link     = snd_rpi_rpi_dac_dai,
	.num_links    = ARRAY_SIZE(snd_rpi_rpi_dac_dai),
};

 ... 



自分でLinux kernelモジュールをソースからコンパイルして、必要なデバイスドライバを組み込んでカーネル廻りを再構築すれば良いのだが、Linuxのドライバ廻りの組み込みはとても複雑で面倒な作業だ.


邪道かもしれないが、 Volumio 1.55 で "rpi-dac" を組み込む方法として、カーネルの再コンパイルではなくて、アップデートという手段もある.Volumio 1.55 で組み込まれているLinuxカーネルのバージョンは、3.18.5 だが、カーネルアップデートで最新版の4.4.14(2016年6月下旬時点)へ強制的にアップデートしてしまうことも可能だ.ただ、折角音楽再生用に軽量化したカーネル関係のモジュールがごっそり入れ替わり、余分なカーネルモジュールまで組み込まれてしまうので、カーネルの肥大化は避けられない. 後で自分で不要なモジュールを手動削除すると良いだろう.


オリジナルのVolumio 1.55 は 新しいRaspberry Pi 3 では動作しないが、カーネルを最新版にアップデートすると、Raspberry Pi 3 上でVolumio 1.55 を稼働させる事が可能だ.Volumio 2 を使いたくない場合にはカーネルアップデートをお薦めする.




iMac27:~ yasuaki$ ssh -l pi volumio.local
pi@volumio.local's password: 
Linux volumio 3.18.5-v7+ #748 SMP PREEMPT Wed Feb 4 21:33:52 GMT 2015 armv7l
                       ___                                      
                      /\_ \                        __           
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___   
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\ 
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/ 
        
             Free Audiophile Linux Music Player - Version 1.55

                 C 2013 Michelangelo Guarise - Volumio.org
                               

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 28 12:52:41 2016
pi@volumio:~$ su -
Password: 
root@volumio:~# uname -a
Linux volumio 3.18.5-v7+ #748 SMP PREEMPT Wed Feb 4 21:33:52 GMT 2015 armv7l GNU/Linux
root@volumio:~# apt-get update
Get:1 http://mirrordirector.raspbian.org jessie Release.gpg [473 B]
Get:2 http://mirrordirector.raspbian.org wheezy Release.gpg [473 B]
Get:3 http://mirrordirector.raspbian.org jessie Release [14.4 kB]
Get:4 http://mirrordirector.raspbian.org wheezy Release [14.4 kB]
Get:5 http://mirrordirector.raspbian.org jessie/main armhf Packages [8,981 kB]
Get:6 http://mirrordirector.raspbian.org wheezy/main Sources [6,091 kB]                                                               
Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB                                                                  
Ign http://mirrordirector.raspbian.org jessie/main Translation-en                                                                     
Fetched 15.1 MB in 58s (257 kB/s)                                                                                                     
Reading package lists... Done
root@volumio:~# rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10670  100 10670    0     0   5679      0  0:00:01  0:00:01 --:--:-- 30838
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
#############################################################
This update bumps to rpi-4.4.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    163      0 --:--:--  0:00:01 --:--:--   222
100 50.6M  100 50.6M    0     0   685k      0  0:01:15  0:01:15 --:--:-- 3089k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.4.14-v7+
 *** depmod 4.4.14+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to a15324556f25e6339537068fabf9315c779c2b6d
 *** A reboot is needed to activate the new firmware
root@volumio:~#

【 reboot 後 】

iMac27:~ yasuaki$ ssh -l pi volumio.local
pi@volumio.local's password: 
Linux volumio 4.4.14-v7+ #895 SMP Sun Jun 26 13:59:02 BST 2016 armv7l
                       ___                                      
                      /\_ \                        __           
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___   
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\ 
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/ 
        
             Free Audiophile Linux Music Player - Version 1.55

                 C 2013 Michelangelo Guarise - Volumio.org
                               

Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 28 13:13:24 2016
pi@volumio:~$ su -
Password: 
root@volumio:~# uname -a
Linux volumio 4.4.14-v7+ #895 SMP Sun Jun 26 13:59:02 BST 2016 armv7l GNU/Linux
root@volumio:~# cd /boot
root@volumio:/boot# cd overlays
root@volumio:/boot/overlays# ls -la
total 217
drwxrwxrwx 2 root root  8192 Jun 28 13:10 .
drwxrwxrwx 7 root root  3072 Jan  1  1970 ..
-rw-rw-rw- 1 root root  1411 Jun 28 13:10 adau1977-adc.dtbo
-rw-rw-rw- 1 root root  2425 Jun 28 13:10 ads1015.dtbo
-rw-rw-rw- 1 root root  2426 Jun 28 13:10 ads7846.dtbo
-rw-rw-rw- 1 root root  1130 Jun 28 13:10 akkordion-iqdacplus.dtbo
-rw-rw-rw- 1 root root  1668 Jun 28 13:10 at86rf233.dtbo
-rw-rw-rw- 1 root root   787 Jun 28 13:10 audioinjector-wm8731-audio.dtbo
-rw-rw-rw- 1 root root   449 Jun 28 13:10 bmp085_i2c-sensor.dtbo
-rw-rw-rw- 1 root root   983 Jun 28 13:10 dht11.dtbo
-rw-rw-rw- 1 root root   789 Jun 28 13:10 dpi24.dtbo
-rw-rw-rw- 1 root root   409 Feb  5  2015 ds1307-rtc-overlay.dtb
-rw-rw-rw- 1 root root   908 Jun 28 13:10 dwc2.dtbo
-rw-rw-rw- 1 root root   423 Jun 28 13:10 dwc-otg.dtbo
-rw-rw-rw- 1 root root  1403 Jun 28 13:10 enc28j60.dtbo
-rw-rw-rw- 1 root root  1036 Jun 28 13:10 gpio-ir.dtbo
-rw-rw-rw- 1 root root   901 Jun 28 13:10 gpio-poweroff.dtbo
-rw-rw-rw- 1 root root   779 Jun 28 13:10 hifiberry-amp.dtbo
-rw-rw-rw- 1 root root   779 Feb  5  2015 hifiberry-amp-overlay.dtb
-rw-rw-rw- 1 root root   655 Jun 28 13:10 hifiberry-dac.dtbo
-rw-rw-rw- 1 root root   655 Feb  5  2015 hifiberry-dac-overlay.dtb
-rw-rw-rw- 1 root root  1436 Jun 28 13:10 hifiberry-dacplus.dtbo
-rw-rw-rw- 1 root root   783 Feb  5  2015 hifiberry-dacplus-overlay.dtb
-rw-rw-rw- 1 root root   783 Jun 28 13:10 hifiberry-digi.dtbo
-rw-rw-rw- 1 root root   783 Feb  5  2015 hifiberry-digi-overlay.dtb
-rw-rw-rw- 1 root root  2468 Jun 28 13:10 hy28a.dtbo
-rw-rw-rw- 1 root root  2939 Jun 28 13:10 hy28b.dtbo
-rw-rw-rw- 1 root root  1182 Jun 28 13:10 i2c0-bcm2708.dtbo
-rw-rw-rw- 1 root root   854 Jun 28 13:10 i2c1-bcm2708.dtbo
-rw-rw-rw- 1 root root   991 Jun 28 13:10 i2c-gpio.dtbo
-rw-rw-rw- 1 root root  2185 Jun 28 13:10 i2c-mux.dtbo
-rw-rw-rw- 1 root root   644 Jun 28 13:10 i2c-pwm-pca9685a.dtbo
-rw-rw-rw- 1 root root  2219 Jun 28 13:10 i2c-rtc.dtbo
-rw-rw-rw- 1 root root   343 Jun 28 13:10 i2s-gpio28-31.dtbo
-rw-rw-rw- 1 root root   263 Jun 28 13:10 i2s-mmap.dtbo
-rw-rw-rw- 1 root root  1015 Jun 28 13:10 iqaudio-dac.dtbo
-rw-rw-rw- 1 root root   775 Feb  5  2015 iqaudio-dac-overlay.dtb
-rw-rw-rw- 1 root root  1254 Jun 28 13:10 iqaudio-dacplus.dtbo
-rw-rw-rw- 1 root root   775 Feb  5  2015 iqaudio-dacplus-overlay.dtb
-rw-rw-rw- 1 root root  1019 Jun 28 13:10 justboom-dac.dtbo
-rw-rw-rw- 1 root root   779 Jun 28 13:10 justboom-digi.dtbo
-rw-rw-rw- 1 root root  1348 Jun 28 13:10 lirc-rpi.dtbo
-rw-rw-rw- 1 root root  1428 Feb  5  2015 lirc-rpi-overlay.dtb
-rw-rw-rw- 1 root root  1329 Jun 28 13:10 mcp23017.dtbo
-rw-rw-rw- 1 root root  1833 Jun 28 13:10 mcp2515-can0.dtbo
-rw-rw-rw- 1 root root  1833 Jun 28 13:10 mcp2515-can1.dtbo
-rw-rw-rw- 1 root root  1053 Jun 28 13:10 mmc.dtbo
-rw-rw-rw- 1 root root  2850 Jun 28 13:10 mz61581.dtbo
-rw-rw-rw- 1 root root   405 Feb  5  2015 pcf8523-rtc-overlay.dtb
-rw-rw-rw- 1 root root   569 Jun 28 13:10 pi3-act-led.dtbo
-rw-rw-rw- 1 root root   810 Jun 28 13:10 pi3-disable-bt.dtbo
-rw-rw-rw- 1 root root  1097 Jun 28 13:10 pi3-miniuart-bt.dtbo
-rw-rw-rw- 1 root root  2617 Jun 28 13:10 piscreen2r.dtbo
-rw-rw-rw- 1 root root  2713 Jun 28 13:10 piscreen.dtbo
-rw-rw-rw- 1 root root  1544 Jun 28 13:10 pitft22.dtbo
-rw-rw-rw- 1 root root  2385 Jun 28 13:10 pitft28-capacitive.dtbo
-rw-rw-rw- 1 root root  2802 Jun 28 13:10 pitft28-resistive.dtbo
-rw-rw-rw- 1 root root   967 Jun 28 13:10 pps-gpio.dtbo
-rw-rw-rw- 1 root root  1003 Feb  5  2015 pps-gpio-overlay.dtb
-rw-rw-rw- 1 root root  1148 Jun 28 13:10 pwm-2chan.dtbo
-rw-rw-rw- 1 root root  1037 Jun 28 13:10 pwm.dtbo
-rw-rw-rw- 1 root root  1315 Jun 28 13:10 qca7000.dtbo
-rw-rw-rw- 1 root root   965 Jun 28 13:10 raspidac3.dtbo
-rw-rw-rw- 1 root root 48284 Jun 28 13:10 README
-rw-rw-rw- 1 root root   489 Jun 28 13:10 rpi-backlight.dtbo
-rw-rw-rw- 1 root root   643 Jun 28 13:10 rpi-dac.dtbo
-rw-rw-rw- 1 root root  2524 Jun 28 13:10 rpi-display.dtbo
-rw-rw-rw- 1 root root   462 Jun 28 13:10 rpi-ft5406.dtbo
-rw-rw-rw- 1 root root   771 Jun 28 13:10 rpi-proto.dtbo
-rw-rw-rw- 1 root root   893 Jun 28 13:10 rpi-sense.dtbo
-rw-rw-rw- 1 root root  1891 Jun 28 13:10 rra-digidac1-wm8741-audio.dtbo
-rw-rw-rw- 1 root root   879 Jun 28 13:10 sdhost.dtbo
-rw-rw-rw- 1 root root  1682 Jun 28 13:10 sdio-1bit.dtbo
-rw-rw-rw- 1 root root  1728 Jun 28 13:10 sdio.dtbo
-rw-rw-rw- 1 root root   699 Jun 28 13:10 sdtweak.dtbo
-rw-rw-rw- 1 root root   376 Jun 28 13:10 smi-dev.dtbo
-rw-rw-rw- 1 root root   981 Jun 28 13:10 smi.dtbo
-rw-rw-rw- 1 root root  1508 Jun 28 13:10 smi-nand.dtbo
-rw-rw-rw- 1 root root  1547 Jun 28 13:10 spi1-1cs.dtbo
-rw-rw-rw- 1 root root  1920 Jun 28 13:10 spi1-2cs.dtbo
-rw-rw-rw- 1 root root  2293 Jun 28 13:10 spi1-3cs.dtbo
-rw-rw-rw- 1 root root  1547 Jun 28 13:10 spi2-1cs.dtbo
-rw-rw-rw- 1 root root  1920 Jun 28 13:10 spi2-2cs.dtbo
-rw-rw-rw- 1 root root  2293 Jun 28 13:10 spi2-3cs.dtbo
-rw-rw-rw- 1 root root   666 Jun 28 13:10 spi-gpio35-39.dtbo
-rw-rw-rw- 1 root root   635 Jun 28 13:10 spi-rtc.dtbo
-rw-rw-rw- 1 root root  4878 Jun 28 13:10 tinylcd35.dtbo
-rw-rw-rw- 1 root root   980 Jun 28 13:10 uart1.dtbo
-rw-rw-rw- 1 root root  2261 Jun 28 13:10 vc4-kms-v3d.dtbo
-rw-rw-rw- 1 root root   758 Jun 28 13:10 vga666.dtbo
-rw-rw-rw- 1 root root  1080 Jun 28 13:10 w1-gpio.dtbo
-rw-rw-rw- 1 root root  1124 Feb  5  2015 w1-gpio-overlay.dtb
-rw-rw-rw- 1 root root  1215 Jun 28 13:10 w1-gpio-pullup.dtbo
-rw-rw-rw- 1 root root  1291 Feb  5  2015 w1-gpio-pullup-overlay.dtb
-rw-rw-rw- 1 root root  1080 Jun 28 13:10 wittypi.dtbo
root@volumio:/boot/overlays# 




snd-rpi-dac
今度はきちんと"sndrpirpidac"が Audio Output セレクターで選択可能となる




Raspberry Pi のオーディオ関連で今のところ一番詳しいのは、『インタフェース 2015年12月号』の関連記事だろう.この中で、Volumioの兄弟分的な存在で、アルバムのカバーアート表示が可能な "RuneAudio" というものが有るそうなので、まずはこちらを試してみることにする.



RuneAudioを試してみる



RuneAudio Web GUI
RuneAudio Web GUI画面は Volumioと非常に良く似ている

RuneAudio Library UI
RuneAudio が対応可能な音源(ライブラリ)は幅広い

RuneAudio Output Selector
Audio output interface で "and_rpi_rpi_dac" に切り替える


RuneAudioはVolumioを使った事があれば、使い方はほぼ同じなので簡単に使いこなすことができるだろう.RuneAudioのホームページにかなり詳しいドキュメントがあるので、RuneAudioの入手方法や、Raspberry Pi などのデバイスへのインストール方法や、PCやタブレット、スマートホンなどのクライアントデバイスの設定方法などが詳しく書かれている.


RuneAudioがサポートしているデバイスはVolumioよりも多く、最新のLinuxカーネルを採り入れているので、最新の Raspberry Pi 3も対応可能なようだ.インストール手順もVolumioと殆ど同じだ.


ホームページの解説は英語で記載されているが、とても分かり易く丁寧に書かれているので、英語が苦手な人でもそれ程苦労する事はなさそうだ.



RPI Audio System
TI SRC4192 & TI PCM1792a の組み合わせで無事音出し成功

44.1KHz 音源
44.1KHz のCD リッピング音源 [ LRCK : 44.1KHz ]

44.1KHz音源 [ BCK = 64fs ]
BCK = 64fs (2.822MHz) に設定されている



iMac27:LinuxImages yasuaki$ diskutil unmount /dev/disk3s1
Volume LIGHTMPD on disk3s1 unmounted
iMac27:LinuxImages yasuaki$ sudo dd bs=1m if=./RuneAudio_rpi2_rp3_0.4-beta_20160321_2GB.img of=/dev/rdisk3
Password:
2149+0 records in
2149+0 records out
2253389824 bytes transferred in 433.646072 secs (5196380 bytes/sec)
iMac27:LinuxImages yasuaki$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Maverics                128.0 GB   disk0s2
   3: 0FC63DAF-8483-4772-8E79-3D69D8477DE4               32.0 GB    disk0s3
   4:       Microsoft Basic Data Win7Pro                 63.9 GB    disk0s4
   5:          Apple_CoreStorage                         135.4 GB   disk0s5
   6:                 Apple_Boot Boot OS X               134.2 MB   disk0s6
   7:                  Apple_HFS ElCapitan               119.5 GB   disk0s7
   8:                 Apple_Boot Recovery HD             650.0 MB   disk0s8
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS MavericsSub             128.3 GB   disk1s2
   3:                  Apple_HFS OSXSub                  128.3 GB   disk1s3
   4:       Microsoft Basic Data SHARED                  256.7 GB   disk1s4
   5:          Apple_CoreStorage                         1.0 TB     disk1s5
   6:                 Apple_Boot Boot OS X               134.2 MB   disk1s6
   7:                  Apple_HFS Data                    1000.0 GB  disk1s7
   8:                  Apple_HFS Tmp                     484.1 GB   disk1s8
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Home                   *1.1 TB     disk2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *7.7 GB     disk3
   1:             Windows_FAT_32 NO NAME                 104.9 MB   disk3s1
   2:                      Linux                         2.1 GB     disk3s2
iMac27:LinuxImages yasuaki$ 
iMac27:LinuxImages yasuaki$ diskutil unmount /dev/disk3s1
Volume NO NAME on disk3s1 unmounted


iMac27:LinuxImages yasuaki$ ssh -l root runeaudio.local
Warning: the RSA host key for 'runeaudio.local' differs from the key for the IP address '192.168.100.65'
Offending key for IP in /Volumes/Home/yasuaki/.ssh/known_hosts:9
Matching host key in /Volumes/Home/yasuaki/.ssh/known_hosts:14
Are you sure you want to continue connecting (yes/no)? yes
root@runeaudio.local's password: 
===============  RuneOS distribution  ===============
  ____                      _             _ _       
 |  _ \ _   _ _ __   ___   / \  _   _  __| (_) ___  
 | |_) | | | | '_ \ / _ \ / _ \| | | |/ _` | |/ _ \ 
 |  _ <| |_| | | | |  __// ___ \ |_| | (_| | | (_) |
 |_| \_\\__,_|_| |_|\___/_/   \_\__,_|\__,_|_|\___/ 
                                                    
================  www.runeaudio.com  ================
RuneOs: 0.3-beta
RuneUI: 1.3-beta
Hw-env: RaspberryPi 2


[root@runeaudio ~]# cd /etc
[root@runeaudio etc]# vi vconsole.conf
[root@runeaudio etc]# 

[root@runeaudio overlays]# uname -a
Linux runeaudio 4.1.20-1-ARCH #1 SMP Sat Mar 19 20:07:23 MDT 2016 armv7l GNU/Linux