Busterヘッドレスセットアップ

## 【前提】
- 母艦はWindows10（一部 Linux上で作業）
- Pi は 3B、3B+
- Image は Raspbian Buster with desktop
- 各種ツールはインストール済みであるものとする
- インタネート、LAN環境は構築済みであるものとする
- ヘッドレスセットアップ、運用
- Stretch からのアップグレードではなく、新規インストール

## 【準備】
- **各種設定ファイルバックアップ**

既に Stretch などで運用している場合、microSDカードのバックアップは当然だが、各種設定ファイルのバックアップも残しておくと、後で迷わない。    

| ファイル            | 内容                   |
| ------------------- | ---------------------- |
| /etc/fstab          | mount設定              |
| /etc/dhcpcd.conf    | 固定IP化してある場合   |
| /etc/rsyslog.conf   | ログ設定               |
| /boot/config.txt    | OS設定                 |
| /etc/samba/smb.conf | samba設定              |
| /etc/hostname       | ホスト名               |
| /etc/hosts          | ホスト名               |
| /etc/rc.local       | 起動時の自動実行設定   |
| df -h               | パーティション確認     |
| crontab -l          | ジョブスケジュール確認 |
その他スクリプトファイル等、各自の独自設定も。</p>

- **SSH、Wi-Fi接続設定ファイル用意**

| ファイル名          | 内容                |
| ------------------- | ------------------- |
| ssh                 | サイズ0の空ファイル |
| wpa_supplicant.conf | Wi-Fi設定           |

有線LAN 接続の場合、「wpa_supplicant.conf」は不要。
作成方法は他の解説サイト参照。

- **Image のダウンロード**

以下からダウンロード。
https://www.raspberrypi.org/downloads/raspbian/
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/c0ebf7a6-8aa8-caa6-092d-b03021aa50cc.png" width=75%>

新規で始める人は、Pi 購入を決めた時点でダウンロードしておくが吉。
Pi、microSDカード等の用意ができ、いざインストール作業となった時、Image のダウンロードに時間がかかり、出鼻をくじかれるのは初心者あるある。

選択 Image は desktop版がお勧めだが、Stretch 辺りから「recommended software」（推奨ソフト）同梱版が用意されるようになり、どちらを導入すべきか最初迷う。
https://www.raspberrypi.org/blog/buster-the-new-version-of-raspbian/
で中の人が言うところによれば、「recommended software」同梱版とは、非インタネート接続環境での運用を想定しているようで、そのような特別な理由が無ければ通常の desktop版で良いとのこと。
サイズもその方が小さいし。必要になれば後から推奨ソフトのインストールはできるし。

## 【新規インストールが望ましい理由】
色々と独自の設定を施している場合、新規インストールとなると設定の再構築が面倒。
そこで Stretch からアップグレードを、と考えがち。
上記の公式の Buster公開告知でもアップグレードの方法が紹介されている。

しかし、Stretch からのアップグレードの場合、問題点がある。
https://www.raspberrypi.org/forums/viewtopic.php?t=243438
上記の公式フォーラムにその議論がある。
ポイントとして、bootパーティションが Buster では 256MB に拡張されていること。（Stretch では60MB）
それだけ、Buster では bootパーティション内の使用量が増えている。

従って、Stretch のパーティション構成のまま Buster を導入運用すると bootパーティションがパンクする可能性がある。この問題を回避するには、bootパーティションのサイズを増やす必要があり、その手順紹介サイトもインターネット上に散見される。
https://dbpro.xyz/7693
しかしパーティションサイズの変更は初心者には敷居が高い。
その点も含めて考えるに、新規インストールの方が確実で手っ取り早いという結論となる。

## 【手順】
### 1. Image焼き
公式サイトで紹介されているmicroSDカードライティングツールは以下。

- balenaEtcher
- Win32DiskImager

https://www.raspberrypi.org/documentation/installation/installing-images/windows.md
後は「DD for Windows」ぐらいか。
balenaEtcher がシンプルでカッコいいので最近はそれを紹介しているサイトが多い印象。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/4e12250f-1445-2e6b-fce1-e84119f09f2b.png" width=50%>

私の環境では以前、起動時にエラーを吐いて動かなくなる事象が発生したことがあった。
色々と調べるも問題解決できず。
そうこうしている内にバージョンアップがあり導入したら正常に動くようになった、という経緯があり、個人的には安定していな印象があるけど、どうなんだろう？

とにかく焼ければツールは何でも良い。
但し、これも私の環境だけかもしれないが、ツール上では正常に書き込み完了していても、中身がおかしい場合がある。microSDカード、USB の接続不良が原因か？
そんな訳で、焼いた後は中身を確認。以下のようになっていれば正常。パーティションが二つ作成されていること。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/79a77b3b-af69-4a3c-f4a2-19cd43201d6d.png" width=50%>

準備手順で用意した 2ファイルを bootドライブにコピー。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/a20d50e9-bf63-9263-8260-f7ef7a203b43.png" width=75%>
準備手順にもある通り、有線LAN 接続の場合、「wpa_supplicant.conf」は不要。
また、sshファイルは、空の sshディレクトリでも良いらしい。
これらは Pi起動時の初期設定で削除されるので、後で使いまわせるよう母艦環境側に残しておくこと。

### 2. Pi 本体設定
- 上記手順で作成した microSDカードを Pi 本体にセット
- 有線LAN 使用の場合は LANケーブル接続
- USB電源ケーブル接続

赤LEDの点灯を確認。

### 3. 母艦からの設定
- **Pi に割り当てられた IPアドレスの特定**

セキュリティの関係でデフォルトで SSH接続はオフになっているが、前述手順で sshファイルをコピーしてあれば SSH接続は有効になっている。
しかし母艦からターミナル接続等を行う為には、Pi に割り当てられた IPアドレスが分からなければ始まらない。
調べ方は色々あるので詳細は他の解説サイトを参照して貰うとして、最も簡単と思われる方法だけ記す。

Windows10 環境なら、「Bonjour」が標準で入っている。
デフォルトの Pi のホスト名は「raspberrypi」なので、そこから名前解決で IPアドレスが引ける筈。
コマンドプロンプトを起動し、ping を打ってみる。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/1335dd45-0046-cc64-1b25-e08481508e5c.png" width=75%>
ビンゴ、応答あり。IPアドレス判明。

- #### ターミナル接続確認

IPアドレスが分かったら、TeraTerm 等のターミナルソフトで接続。
というか、名前解決できているなら、ホスト名で接続できる。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/2f6e1d8d-5531-623d-71a1-d7b242b5b72a.png" width=40%>
ホスト名の最後に「.local」を付けるが吉。

pi/raspberry で接続。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/d9b9bdb6-b022-7d8f-d2ec-6c5b60f8f962.png" width=40%>

初回起動時に表示されるダイアログ。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/60d28b33-a3fe-0d30-7c60-898efabf12ad.png" width=40%>

ログイン完了。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/ab7edb9d-5e66-3f7b-5adb-163bc8045c6f.png" width=75%>

- #### VNC有効化

ターミナル接続による CUI環境が基本ながら、VNCでも接続できれば何かと便利なので有効にする。

以下コマンドで raspi-config 起動。


    sudo raspi-config

5 Interfacing Options 選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/155a1f35-6985-1668-a81d-7b7afca2e7fe.png" width=75%>

P3 VNC 選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/d345b92e-1cf9-d49a-da8e-f0f607d6969e.png" width=75%>

\<Yes> 選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/07eb4746-5b46-7a16-ddca-9ec65f60738d.png" width=75%>

\<Ok> 選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/5c02762c-23de-a5cf-2dcb-a437fd3d22f6.png" width=75%>

\<Finish> 選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/4e67ae70-3845-160b-03a4-30b1834c0354.png" width=75%>

- **初期設定ウィザード**

上記設定により再起動不要で即 VNC接続が有効になる。
VNC Clientソフトで接続。初回起動時なら初期設定ウィザードが起動している筈。
Stretch から導入されたこの機能は滅茶苦茶便利なので利用する。
https://www.raspberrypi.org/blog/raspbian-update-june-2018/
尚、何らかの理由でこの機能が利用できなかった場合は以下のコマンドで再実行可能。

    sudo piwiz

SSH接続の Warning は取り合えずスルーし、初期設定を進める。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/f4a4927e-7d59-f285-56c6-64fb406a7701.png" width=50%>

「Next」クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/595ef307-fa49-06c4-c50a-b69d66133b11.png" width=50%>
	因みに IPアドレスが二つ表示されているのは、有線LAN と Wi-Fi接続が有効になっているから。

初期状態で Country は United Kingdom になっている。流石英国製ざんす。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/51717ad6-ebb4-3261-7c07-fbcfc3905262.png" width=50%>

大英帝国に敬意を表しつつ、Country項目は Japan に変更。そうすれば他の項目も連動して変更される。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/fe568712-a784-1944-709e-ae66a91c4727.png" width=50%>

「Next」クリックで少し待たされる。これは他の設定も連動して変更している模様。
以前は raspi-config でちまちまと設定していたけど、初期設定ウィザードでは色々とよきにはからってくれるので便利になった。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/50010f4b-16c6-e968-b81d-9a63a95e3565.png" width=50%>

新しいパスワードを入力し「Next」クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/741ad4e3-42f8-bf00-3bbe-ba654e563f69.png" width=50%>

そのまま「Next」クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/74e91eef-9fb8-f40b-c3c8-9de5879dd57f.png" width=50%>

Wi-Fi設定画面は必要に応じて設定。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/8356640a-4f6e-c3f2-93cf-15fa65afaadc.png" width=50%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/2b73d0b3-6a3d-49c5-a391-9d0574fb789f.png" width=50%>

現時点では色々と問題のあるアップデート機能。一応「Next」クリックで実行してみる。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/b56f6539-3140-b08d-a12a-31f213cde837.png" width=50%>

少々待たされる。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/b173a8c1-34e7-ab9d-cbce-e92b56853e63.png" width=50%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/ba755587-cdfe-dc14-39bf-451d3c5bc829.png" width=50%>

うーん、失敗。後回しとする。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/e0a2070c-8e42-be9a-d9c1-3d01c06c99f0.png" width=50%>

「Restart」クリックで即再起動でもいいが、ついでに他の初期設定も行いたいので「Later」クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/17eb2921-4161-8148-bef2-194ac9192b15.png" width=50%>

メニューから「Raspberry Pi の設定」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/cf127400-1435-8a52-7485-74cf7f067e25.png" width=50%>

解像度変更。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/6b3bfd81-2bea-8338-2418-678cc6c16468.png" width=50%>

ホスト名変更。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/346ca7d3-048a-4774-5c32-96b4e40c444c.png" width=50%>
因みに、Wi-Fi接続でかつ NFSクライアント設定をしている場合、起動時にネットワーク接続が確立される前に NFSサーバディレクトリをマウントしようとしてコケる場合がある。
対処法として、「ネットワークを待つ」にチェックを入れると上手くいく（かもしれない）。

画面が見切れていて「Ok」ボタンが見えない・・・。という場合は右下の「無効」までフォーカスを移動し、更に TABキーを二回押下。これで「OK」ボタンにフォーカスが合う筈なので ENTERキー押下。目論見通りなら「再起動が必要です」メッセージボックスが表示されるので「はい」クリックで再起動。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/b001f235-e86e-8cd6-b9cd-0f0658bab4e2.png" width=50%>

- #### IPアドレス固定

名前解決できるなら IPアドレス固定は不要、という話もあるが、Linux環境やらスマホ、タブレットからの接続も考慮すれば、やはりやっておくと使い勝手が良い。

以下コマンドで /etc/dhcpcd.conf を編集する。

    sudo vi /etc/dhcpcd.conf

ファイルの最後に以下コード追加。

    interface eth0
    static ip_address=192.168.11.110/24
    static routers=192.168.11.1
    static domain_name_servers=192.168.11.1

「ip_address」が固定したい任意の IPアドレス。その他の IPアドレスは自分の環境を設定すること。
又、「interface eth0」を「interface wlan0」とすれば、無線LAN の設定となる。

- #### 各種アップデート
前述の初期設定ウィザードでアップデートが成功していても、一応各種アップデートをかけておくが吉。少々時間がかかる作業なので気長に進めること。

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

うーん、また失敗するがな。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/0cfee083-ed00-d1df-bf92-8d37917b5e6e.png" width=75%>

再実行、今度は成功。まだまだ不安定な感じ。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/fc3ec843-fe60-d8a0-0345-88c0a5a0a5ca.png" width=75%>

各種アップデートで確認メッセージが表示された場合は yキー押下。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/749bea98-c79e-03e9-d70b-90c583f92919.png" width=75%>
いちいち確認されるのが面倒なら yスイッチを指定するが吉。

    sudo apt-get update -y
    sudo apt-get upgrade -y
    sudo apt-get dist-upgrade -y

~~最後の rpi-update は  firmware の更新問い合わせなので、更新が発生した場合は再起動すること。~~
###### 2020/04/11 編集
`rpi-update` は非推奨。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/d15090da-48b3-240d-e767-e0966b415283.png" width=75%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/8de23271-f35e-c82b-b8ee-6a9224c9f254.png" width=75%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/03d83272-3e29-239f-3153-c1993d6715a7.png" width=75%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/3dde727e-376a-9571-5d89-777116e003da.png" width=75%>

余計な物は削除したい場合は以下実行。

    sudo apt-get autoremove -y
    sudo apt-get clean -y
    sudo apt-get autoclean -y

- #### SDカード延命
「SDカード 延命」でググるだけで（raspberry pi の文言が含まれていなくても）対応方法が出てくる。それぐらい基本中の基本的な設定。
先人の築いたノウハウを参考にする。
https://azriton.github.io/2017/03/16/Raspbian-Jessie-Lite%E3%81%AESD%E3%82%AB%E3%83%BC%E3%83%89%E5%BB%B6%E5%91%BD%E5%8C%96/
取り合えず最低限以下は設定する。

	- Swap 領域無効化
	- テンポラリ領域を RAM へ配置
	- rsyslog ログ出力抑制

- #### NFSクライアント設定

NFSサーバを利用している場合はクライアント設定する。追加パッケージは不要。
まず NFSサーバのマウント情報を確認。IPアドレスは NFSサーバ。

    showmount -e 192.168.11.101

NFSサーバが正常に機能していれば以下のような情報が表示される。

    Export list for 192.168.11.101:
    /media/pi/a7ec2739-c469-442a-916d-f4ef391545ee 192.168.11.0/24

以下コマンドで /etc/fstab 編集。

    sudo vi /etc/fstab

以下追記。

    192.168.11.101:/media/pi/a7ec2739-c469-442a-916d-f4ef391545ee  /mnt/nfs/a7ec2739-c469-442a-916d-f4ef391545ee  nfs  rw,defaults,nfsvers=3  0   0

マウント用ディレクトリ作成。

    sudo mkdir /mnt/nfs/
    sudo mkdir /mnt/nfs/a7ec2739-c469-442a-916d-f4ef391545ee
    sudo chown pi:pi /mnt/nfs/a7ec2739-c469-442a-916d-f4ef391545ee

マウント実行。

    sudo mount -a

マウント状態確認。

    df -h

正常にマウントされていれば以下のように表示される。

    pi@raspberrypi3:~ $ df -h
    ファイルシス                                                  サイズ  使用  残り 使用% マウント位置
    
    (中略)
    
    192.168.11.101:/media/pi/a7ec2739-c469-442a-916d-f4ef391545ee   3.6T  2.0T  1.5T   58% /mnt/nfs/a7ec2739-c469-442a-916d-f4ef391545ee
    pi@raspberrypi3:~ $

マウントに失敗している場合、手動でのマウントを試みる。

    sudo mount -t nfs -o nfsvers=3 192.168.11.101:/media/pi/a7ec2739-c469-442a-916d-f4ef391545ee /mnt/nfs/a7ec2739-c469-442a-916d-f4ef391545ee

それでも失敗する場合はスイッチ指定を見直す。
ググるとファイアーウォールが云々といった情報も出てくるが、Pi に限って言えばデフォルトでファイアウォールは入っていないので関係ない。

- #### FTPサーバ設定
入れておけば役に立つ場合がある（かもしれない）。

以下コマンドでインストール。

    sudo apt-get install -y vsftpd ftp

エクスプローラーから接続を確認。

    ftp://192.168.11.110/

以下のような「ログオン方法」ダイアログが表示されたらユーザー名、パスワードを入力しログオン。※ ここだけ後から画面キャプチャを取り直したので IPアドレスが異なる
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/2c02a3f9-b51e-10ef-3843-cb3fc5a8959f.png" width=50%>

接続に成功すれば /home/pi 直下が表示される。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/6d9786f5-1f86-cff5-914a-f51e1b01bef3.png" width=75%>

- #### sambaサーバ設定
Windows環境からの接続ならこちらの方が一般的か。

以下コマンドでインストール。

    sudo apt-get install -y samba

途中の確認は「いいえ」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/cbaa8394-3217-756b-b662-cd057681e71f.png" width=75%>

インストールが完了したら以下コマンドで設定ファイル編集。

    sudo vi /etc/samba/smb.conf

ファイルの最後に以下追記。

    [pi]
       comment = pi
       path = /home/pi
       read only = No
       guest ok = Yes
       force user = pi

エクスプローラから接続確認。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/3229f70d-cf2f-2347-0818-b5bb88ad1388.png" width=75%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/df453c8e-8dc1-fe94-46b1-55cd2f8114f6.png" width=75%>

- #### heartbeat設定
起動中も shutdown 後も赤LED は点灯で状態が分かりにくい。そこで設定を変更する。

以下コマンドで設定ファイル編集。

    sudo vi /boot/config.txt

ファイルの最後に以下を追記。

    # turn power LED into heartbeat
    dtparam=pwr_led_trigger=heartbeat
    #

以下コマンドで再起動。

    sudo reboot

再起動したら、赤LED が点滅していることを確認。

- #### Watchdog Timer設定
Pi を NAS 代わりに 24時間運用していると、年に数回アクセス不能に陥る場合がある。
たまにハングアップするのは仕方がないとして、その場合は自動で再起動して欲しい。
そこで Watchdog Timer を設定する。

以下コマンドでインストール。

    sudo apt-get install -y watchdog

以下コマンドで設定ファイル編集。

    sudo vi /lib/systemd/system/watchdog.service

最終行をコメントアウトし、以下を追記。

    WantedBy=multi-user.target
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/4b043b5a-2f42-1e12-f3f9-e86360bd9438.png" width=75%>

以下コマンド実行。（自動起動、モジュール追加）

    sudo update-rc.d watchdog enable
    sudo modprobe bcm2835_wdt

以下コマンドで設定ファイル編集。

    sudo vi /etc/watchdog.conf

以下を編集。

    #max-load-1 = 24	①先頭のコメント削除

    #watchdog-device = /dev/watchdog	②先頭のコメント削除

    watchdog-timeout = 10	③追記
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/3f113d75-5d5a-8670-65cd-5c5e056d9daf.png" width=75%>

以下コマンドで再起動。

    sudo reboot

以下コマンド実行。※ ハングアップコマンドにて取扱注意

    :(){ :|:& };:

自動で再起動されることを確認。

- #### screenコマンドインストール
Wi-Fi接続でのターミナルからアップデート作業を行うのは実は危険。
アップデート処理中にネットワークの瞬断が発生し、ターミナルが落ちると、アップデート関連のファイルが壊れてしまう場合がある。
そうなると修復に手間がかかったり、最悪修復不能だったりで面倒。
それを回避するには以下。

1.　Pi 本体側で作業する
2.　VNC接続しデスクトップ上でターミナルを開いて作業する
3.　nohupコマンドでバックグラウンド実行する
4.　仮想端末ソフトを利用する

そんな訳で仮想端末ソフトを入れておくと色々と捗るので以下コマンドでインストール。

    sudo apt-get install -y screen

使い方は以下が分かりやす。
http://edosha.hatenablog.jp/entry/2017/11/10/142855

- #### HDMI off設定

ヘッドレス運用なら HDMI 出力は不要。省電力も考慮し以下コマンドで止める。

    /opt/vc/bin/tvservice --off

しかしこれでは再起動で元に戻ってしまう。
crontab の reboot 設定等で上記コマンドを設定。再起動後も off になっていること確認。

    pi@raspberrypi3:~ $ /opt/vc/bin/tvservice -s
    state 0x2 [TV is off]
    pi@raspberrypi3:~ $

省電力に関しては、モバイルバッテリでの運用を目指す省電力ガチ勢が情報を公開しているのでそちらを参照。
https://rabbit-note.com/2017/04/29/raspberry-pi-3-model-b-power-save/

### 4. デスクトップ設定
- #### Bluetooth

ヘッドレス運用なら不要なので省電力を考慮し止める。
デスクトップ上で止めれば、再起動後もその状態が維持される。

Bluetoothアイコン上でマウス右ボタンクリック、プルダウンメニュー「Turn Off Bluetooth」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/0700f312-f5f6-4afa-1d91-4ea4d82c4c16.png" width=75%>

- #### CPU 使用量モニタ

Buster ではデフォルトで非表示となったが、必要な場合は表示設定する。

タスクバー上でマウス右クリック、プルダウンメニュー「パネルのアイテムの追加・削除」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/a400ae4e-c0fa-42dc-21cb-6025d09ee478.png" width=75%>

「パネルの設定」ダイアログで「追加」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/756a5af4-8a93-df52-67f1-28408bc49b44.png" width=75%>

「CPU 使用量モニタ」を選択、「追加」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/00e30e1d-feca-1ca5-b0b4-298e7cc3fa4f.png" width=75%>

「上へ」ボタンクリックで表示位置調整。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/14a83953-c64b-6c68-d320-656eea985252.png" width=75%>

パーセンテージも表示したい場合は以下。

「CPU 使用量モニタ」上でマウス右クリック、プルダウンメニュー「CPU 使用量モニタ Settings」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/3eb977ae-4816-641d-6fe4-c5f961e5d97b.png" width=75%>

「Show usage as percentage」チェックボックスON、「OK」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/d9dae71f-481c-8fc2-fefb-f7bec422ad5d.png" width=75%>

- #### Ejecter

こちらも必要であれば「CPU 使用量モニタ」と同様の手順で追加する。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/7dd64195-17ed-753e-907e-a4c1e6a4e2b1.png" width=75%>

### 5. パーティション縮小
必須ではないが、パーティションは縮小しておくことが望ましい。理由は以下。

他の microSDカードにバックアップイメージを書き戻す際、同じ容量の microSDカードを選んでも、微妙にサイズが異なる（少ない）場合があり、処理に失敗することがある。
それと、16～32G の microSDカードのバックアップは時間がかかる。

実質は数G しか使用していないので、適度にパーティションを縮小する。
作業は他の Pi 等、Linux環境を想定。GParted を使用。
まだ入れていない場合は以下コマンドでインストール。

    sudo apt-get install -y gparted

GParted起動。パスワードの入力が求められるので入力、「OK」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/7888ccfd-b8ce-c3a5-906b-7306aebe3c3f.png" width=75%>

右上のデバイス選択で対象を選択。（/dev/sdb）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/019c9d2f-cb3c-1888-efa6-328760c42ce1.png" width=75%>

鍵アイコンが表示されている場合、マウントされていることを示していて操作できないので解除する。
/dev/sdb2 でマウス右クリック、プルダウンメニュー「アンマウント」選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/b3d5f00e-a598-b7bf-8353-6da7cb3312cc.png" width=75%>

アンマウント中。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/d34d27ef-69c3-4aa6-b420-ec031cc4386f.png" width=75%>

鍵アイコンが消えていることを確認。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/867566c4-14ee-6aaa-745d-cd99adb008e5.png" width=75%>

ツールバー上のリサイズボタン（赤四角枠の箇所）クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/70b8c83d-dc43-a07d-dd3d-42160e0286be.png" width=75%>

「新しいサイズ」エディットボックスに任意の容量を入力、TABキー押下でフォーカスが外れると「リサイズ/移動」ボタンが有効になるのでクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/569c7604-3515-7045-f3df-08d5382e847c.png" width=75%>

画面下に変更内容が表示されることを確認。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/97d09c43-468a-60f1-7923-414551013c87.png" width=75%>

ツールバー上の確定ボタン（赤四角枠の箇所）クリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/c69ee1d4-5949-d3b9-c962-897df855a356.png" width=75%>

確認メッセージボックスが表示されるので「適用」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/61ac16f6-cdf3-51b3-20a9-956c259c22aa.png" width=75%>

適用作業中。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/c9dc71ea-11af-a317-e658-05fd90504eab.png" width=75%>

以下のような正常終了を表す画面が表示されることを確認。「閉じる」ボタンクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/b02db3eb-3a05-c9a3-8aea-a2357b84a330.png" width=75%>

### 6. バックアップ
一連の設定作業が終わったら、microSDカードをバックアップ。ツールは Win32DiskImager を使用。
「Read Only Allocated Partitions」チェックボックスは ON にすること。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/e749d53b-6857-bab9-056b-82d6f3d0ff02.png" width=50%>

作成されたイメージのサイズを確認。パーティションを縮小していれば相応のサイズになっている。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254888/f7d0709c-251e-3910-ca25-fd3ba82b16e8.png" width=75%>

### 7. 補足
パーティション縮小は Windows環境でもディスクの管理でできる筈。