Mac から Raspberry PI3 Model B+ に raspbian を入れる

## 用意するもの
- Raspberry PI3 Model B+
- microSDXCカード
    - Samsung microSDXC カード 128GB EVO+ Class10 UHS-I U3対応 最大読込速度 100MB/s W:90MB/s 4K MB-MC128GA サムスン
- USB mini b の専用電源
- ケース お好みで
- ヒートシンク お好みで
- HDMI 接続のモニター
    - 1920x1080 推奨
- USBマウス
- USBキーボード

## microSD 書き込み

ここから

https://www.raspberrypi.org/downloads/raspbian/
Raspbian Stretch with desktop をDL

糞重いので BitTorrent 推奨

一応確認

```
$ sha256sum 2019-04-08-raspbian-stretch.zip
7e10a446f8e57210d0e9ad02f0c833aabb86e58187b4dc02431aff5a3f1ccb83  2019-04-08-raspbian-stretch.zip
```

解凍

```
$ unzip 2019-04-08-raspbian-stretch.zip
Archive:  2019-04-08-raspbian-stretch.zip
  inflating: 2019-04-08-raspbian-stretch.img
```

SD カードは /dev/disk3 怖いdd コマンドで書き込む
パーティションは切らずに直接デバイスに書いていくといい感じにパーティションが切られる

普通にdd で書いたら駄目みたいで conv=sync が必要とのこと(起動しなくなって気づいた)
http://akkiesoft.hatenablog.jp/entry/20170815/1502725191

```
$ sudo dd bs=1m if=2019-04-08-raspbian-stretch.img of=/dev/disk3 conv=sync
3320+0 records in
3320+0 records out
3481272320 bytes transferred in 127.947785 secs (27208539 bytes/sec)
```

書き込み成功すると Finder でboot というパーティションがマウントされる

## 起動後

作ったmicroSD を入れて、USBマウス・キーボード・HDMIでモニターを接続して、電源投入すると、いきなりGUIでデスクトップが上がってきてセットアップメニューがでる

以下GUI の画面のメッセージを心を込めて手作業でコピペ

```
Welcome to Raspberry Pi Desktop!
Before you start using it, there are a few things to set up.
Press 'Next' to get started
```

`Next` 押す

### Set Country

Country: Japan
Language: Japanese
Timezone: Tokyo
Use US keyoard: チェック

### Change Password

piユーザーのパスワードを入れる

### Set Up Screen
```
The desktop should fill the entire screen.
Tick the box below if your screen has as black border at the edges.

[ ] This screen shouws a black border around the desktop

Press 'Next' to save your setting.

The change will take effect when the Pi is restarted.
```

周りに黒い帯が出ているのでチェックを付けてNext

### Update Software

```
The operating system and applications will now be checked and updated if necessary. This may involve a large download.

Press 'Next' to check and update software, or 'Skip' to continue without checking.
```

まだインターネットに繋いでいないのでSkip

### Setup Complete

```
Your Raspberry Pi is now set up and ready to go.
Press 'Restart' to restart your Pi so the new setting will take efect.
```

Restart をクリックすると再起動

## 再起動後

### Wifi
このあたりを読んでステルスのWifi-AP に接続
http://d.hatena.ne.jp/dekovoko/20140509/1399610982

wpa_passphrase コマンドを使うと設定例が表示される

```
$ wpa_passphrase mk2g パスフレーズ
network={
        ssid="mk2g"
        #psk="暗号化前のパスワード"
        psk=暗号化されたパスワード
}
```

scan_ssid=1 (ステルス) の設定を追加して終わり

```
$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="mk2g"
        #psk="暗号化前のパスワード"
        psk=暗号化されたパスワード
        scan_ssid=1
}
````

再起動するとWifi がつながる
(ネットワークマネージャの再起動でも良いかも・・・未確認)

### sshd
左上のラズベリーアイコン→設定→Raspberry Pi の設定
インターフェイスタブを開き
SSH を無効→有効
に変更し、OK

リモートホストからユーザー名pi + パスワードにてログイン可能

```
ssh pi@192.168.10.20
pi@192.168.10.20's password:
```
#### 鍵認証
```
$ mkdir .ssh
$ echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvWu+bP+qHriiowgWr7yModpYvqAqZmCnwltrim/1xwmh/cnHqmWa1m1AFgj2d4CVOTzn2pyedE9kZdAAKh1fdCk1nZBmDdJBGOjVwx7HpykpR75aED0MzKIOs+VQkGd/uBAmrdNT8p5xG697DQVxhhowyyOmFTM+352MIsH9+DLk1D6C4RWWJtmDsr91cYTdupK6BX2x6pehwB3PD0YkGpXjqbWsPSMyl+wIFxz5YxbXrBOLYxrHHV7voTSPPYXTw23v4NS2VZ+SZ/QL1lZ7nXtRwdVPYsESR/Es6VAcqY6pafa7XwNiLLwdhECbBz34C09FkmCBQj2/Ze9EnRcGAW5ua4WTmvHIioN3/cMZifLMzT6DvSaVySESq05VDJW8/CAovxaLUS9tGnQd1vzTeqojrceaxSaytHVR8bxfG8LyuSSLFB6DsPDjnSzBlH0gMzPLczyuwRXxUoB+ynZ7XQxshLnou+7P4EtKa+iXDZ70abrlBAcs+w6F9z2N1aXfvIZ0yzC/+V3g0OOL+mJNmM4+vu0oBitIQyl4Ik2kYtX0Y7sKqdNIhqGCmyFA1QPGXG3btaj4NJ5vShR8ZdUV5Ag4R0QIm2EY5loFBZAlSx5oIsnTOLXaTTCJQEwFGCT5Msl1GYSgcIFduRH0toBJ3n6rLyAskB4qLxMvV2fXIFw== > ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
```

## パティションサイズ

Ubuntu を入れたときは、自分でパーティションのサイズを変更しないと、SDカードの容量が利用できなかったが、raspbian は勝手に容量を目一杯使ってくれる様子

```
$ df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/root        122996564 2789096 115160256    3% /
devtmpfs            470116       0    470116    0% /dev
tmpfs               474724       0    474724    0% /dev/shm
tmpfs               474724   18312    456412    4% /run
tmpfs                 5120       4      5116    1% /run/lock
tmpfs               474724       0    474724    0% /sys/fs/cgroup
/dev/mmcblk0p1       43234   22035     21199   51% /boot
tmpfs                94944       0     94944    0% /run/user/1000
```

## history

新しい環境作ると忘れがち

```
$ echo 'export HISTSIZE=10000' >> ~/.bashrc
$ echo 'export HISTFILESIZE=10000' >> ~/.bashrc
$ source ~/.bashrc
```

## golang

debian 9.9 のgolang のバージョンが古くてghq がビルドできなくて厳しいです
新しいのを入れます
http://ppa.launchpad.net/gophers/ ってのがあったのですが、これも1.12系がなかったのでtar で入れます

```
$ curl -O https://dl.google.com/go/go1.12.6.linux-armv6l.tar.gz
$ tar zxvf go1.12.6.linux-armv6l.tar.gz
$ sudo mv go /usr/local
```

GOPATH/PATH の設定

```
$ mkdir ~/go
$ echo 'export GOPATH=$HOME/go' >> ~/.bashrc
$ echo 'PATH=$GOPATH/bin:/usr/local/go/bin/:$PATH' >> ~/.bashrc
$ source ~/.bashrc
$ go version
go version go1.12.6 linux/arm
```

## ghq

無いと作業できない

```
$ go get github.com/motemen/ghq
$ ghq --version
ghq version 0.12.6 (rev:HEAD)
```

```
$ mkdir ~/src
$ vi ~/.gitconfig
[ghq]
        root = ~/src
```