Raspberry pi 3 / Zero W 初期設定の覚書き

#前提
raspbian-stretch-lite
要はARMで動くDebian系のstretchです。
#動機
~~SDカードを何枚も壊して初期設定をいちいちググるのが面倒になって。~~自分が忘れないように覚え書きを残しておきたいなと思って。
#やること
WindowsPCを使ってRaspbian-LiteのインストールとmoOde audioの初期設定まで。
#用意したもの
##ソフト的なもの
<dl>
<dt>2017-11-29-raspbian-stretch-lite.img</dt>
<dd><a href="https://www.raspberrypi.org/downloads/raspbian/">ラズパイのイメージ。</a></dd>
<dt>rufus.exe</dt>
<dd><a href="http://rufus.akeo.ie/">イメージをSDへ焼くためのソフト。</a></dd>
<dt>rlogin.exe</dt>
<dd><a href="http://nanno.dip.jp/softlib/man/rlogin/">sshでラズパイに接続するためのソフト。</a></dd>
</dl>
##物理的なもの
* 母艦PC。
SDへのイメージ焼きとsshができるものであればなんでも。　今回はWindows10 Home 1709を使用。
* Raspberry pi 3 UK製RS Components版 / Raspberry pi Zero W 
* 給電用のケーブル。
<details>線が細すぎなければお好みでいいと思います。<br>
<a href="http://amzn.asia/fDp5I9O">Ankerのまとめ売りケーブル</a>と
<a href="http://amzn.asia/fRJYzBh">Amazonベーシックの0.9mケーブル</a> 
を使用</details>
* ACアダプタ。2.4A対応ならなんでもいいと思います。
<details>今回は部屋で稼働中のこちらを使用
http://www.owltech.co.jp/product/ota4u4n18</details>
* バルク品のmicroSDHCカード(8GB)
<details>今回は team製Class10(2017年購入)、Kingmax製Class10(購入年不明) を使用</details>

#内容
## SDカードにイメージを焼く
rufusでイメージファイルを指定して焼く。指定時にデフォルトがisoファイルになっており見えないことに注意。
## イメージ焼いてすぐにしたこと
bootと書かれたラベルのディスクがマウントされているはず。ファイルシステムがFATなのでWindowsでも見れる！
<strong>※ オーバークロックの記述なのでオーバークロックしたくない人は飛ばしてください</strong> 
boot内部のconfig.txtを編集。最後尾に追記でOK。
参考サイト様の値でウチでも異常なく動きました。
<details><summary>Raspi3用。</summary>
\# overclock
arm_freq_min=900
arm_freq=1300
core_freq_min=400
core_freq=500
over_voltage_min=0
over_voltage=5
gpu_freq=500
temp_limit=80
\# sdram overclock
sdram_freq=500
sdram_freq_min=400
sdram_schmoo=0x02000020
over_voltage_sdram_p=6
over_voltage_sdram_i=4
over_voltage_sdram_c=4
</details>
<details><summary>RaspiZeroW用。</summary>
arm_freq=1000
arm_freq_min=300
over_voltage=5
temp_limit=80
</details>
bootに作成するもの

* sshファイル。中身は空のテキストファイルでOK。
* wpa_supplicant.confファイル。以下内容。

>ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
  ssid="[あなたの使いたいSSID]"
  psk=[SSIDのキー。平文でも暗号化しておいても動きました。*1]
}

*1 予めbash on windows10や他Linuxで`wpa_passphrase [SSID] [password]`を入力して暗号化しておくと後々安心。

###2 起動
1. ラズパイにSDを刺してから、電源を刺す。
2. 利用リポジトリを日本のサーバーに変えてからアップデート。CPUのオーバークロック設定を適用してから更新とか重たいことをさせる。
3. 入れたいソフトを片っ端から入れる。
4. 全部終わったらCPUガバナーをondemandに戻す。

```
sudo sed -i.bak -e "s%http://mirrordirector.raspbian.org/raspbian/%http://ftp.jaist.ac.jp/raspbian/%g" /etc/apt/sources.list
sudo apt update
sudo apt install -y cpufrequtils
sudo cpufreq-set -g performance
sudo reboot
```

入れたいソフトを入れて設定を弄る。ついでに更新もかける。

```
sudo apt install -y ntp ntpdate  cifs-utils
sudo ntpdate ntp.nict.jp
sudo apt upgrade -y
sudo apt dist-upgrade -y
```

`sudo raspi-config`についてはパスワード、地域変更は必ず行う。
インターフェース、SD容量拡張などお好みで。

moOde audioをインストールする
詳しくは http://moodeaudio.org/ へ
http://moodeaudio.org/#contact の内容を順に行う。
>Enter the cmds below via SSH on a Pi running Raspbian Stretch Lite release 2017-11-29.
NOTE: No other release is guaranteed to work.
1. Download the Image Builder version 2.2
cd /home/pi
sudo wget -q http://moodeaudio.org/downloads/mos/mosbuild.sh -O /home/pi/mosbuild.sh
sudo chmod +x /home/pi/mosbuild.sh
2. Start the Image Builder
sudo ./mosbuild.sh

数回のリブート含め数時間かかるので終わるまでお茶でも飲む。
デフォルトのMPDだとnsfなどチップチューンを読み込んでくれないのでビルドし直す。
opusファイルはffmpegが認識するのでデフォルトでも読み込んでくれる。
configureはRaspi3専用になってるので修正してください。

```
sudo apt-get purge libfaad-dev
sudo apt install libnfs-dev libgme-dev
sudo ./configure CFLAGS="-O2 -march=armv8-a -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard" CXXFLAGS="-O2 -march=armv8-a -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard" --with-systemdsystemunitdir=/lib/systemd/system \ 
--enable-database --enable-libmpdclient --enable-alsa --enable-curl --enable-dsd --enable-ffmpeg --enable-flac --enable-id3 --enable-soundcloud --enable-lame-encoder --enable-mad --enable-mpg123 --enable-pipe-output --enable-recorder-output --enable-shout --enable-vorbis --enable-wave-encoder --enable-wavpack --enable-httpd-output --enable-soxr --with-zeroconf=avahi --disable-bzip2 --disable-zzip --disable-fluidsynth --enable-gme --disable-wildmidi --disable-sqlite --disable-jack --disable-ao --disable-oss --disable-ipv6 --disable-pulse --enable-nfs --disable-smbclient --disable-upnp --disable-expat --disable-lsr --disable-sndfile --disable-audiofile --disable-sidplay
```


```
sudo cpufreq-set -g ondemand
sudo reboot
```

#参考にしたサイト様
Raspberry piのオーバークロックについて
https://dbpro.xyz/1400
http://y-naito.ddo.jp/index.php?id=1461671078
wpa_supplicant.confのキー暗号化について
https://qiita.com/tkyko13/items/1bc472ab777cc9375f06
利用リポジトリを鮮やかに変更する方法について
https://qiita.com/fkshom/items/53de3a9b9278cd524099
MPDのビルドについて
http://moodeaudio.org/docs/SOURCES.html
http://nw-electric.way-nifty.com/blog/2018/02/aacmpd-fdk-aac-.html
http://nw-electric.way-nifty.com/blog/2016/08/mpdpi-2-pi-3-5a.html