Raspberry Pi 4 Model B 設定メモ

Raspberry Pi 4 Model B に Raspberry Pi OS Lite(64-bit)をインストールする手順のメモです.
Raspberry Pi Imager を使って microSD カードに OS を書き込みます.
Imager では OS の書き込みとあわせてユーザーやネットワークなどの初期設定も行えます.
Wi-Fi と SSH の設定をあらかじめ書き込み,起動後は別の PC から接続します.

準備

デバイスと OS の選択

  1. Select your Raspberry Pi device
    「Raspberry Pi 4」を選択します. Device で Raspberry Pi 4 を選択した画面

  2. Choose operating system
    「Raspberry Pi OS (other)」を開き,「Raspberry Pi OS Lite (64-bit)」を選択します. OS の一覧にある Raspberry Pi OS (other) Raspberry Pi OS Lite (64-bit) を選択した画面

ストレージの選択

  1. Select your storage device
    書き込み先の microSD カードを選択します. 書き込み先のストレージを選択した画面

初期設定

  1. Customisation: Choose hostname
    Hostname は raspberry にしました.
    同じネットワークに複数台置く場合は,それぞれ別の名前にします. ホスト名に raspberry を入力した画面

  2. Customisation: Localisation
    Capital city は Tokyo (Japan),Time zone は Asia/Tokyo,キーボードレイアウトは us にしました.
    地域を Tokyo,タイムゾーンを Asia/Tokyo,キーボードを us にした画面

  3. Customisation: Choose username
    ユーザー名とパスワードを設定します.ユーザー名は admin にしました.後で SSH 接続するときにもこの名前を使います. ユーザー名 admin とパスワードを設定する画面

  4. Customisation: Choose Wi-Fi
    「SECURE NETWORK」を選び,接続する Wi-Fi の SSID とパスワードを入力します. Wi-Fi の SSID とパスワードを入力する画面

  5. Customisation: SSH authentication
    Remote access で「SSH を有効化する」をオンにして,「Use public key authentication」を選びます. 「BROWSE」から公開鍵ファイルを選んでから次に進みます. 鍵をまだ持っていない場合は,接続元 PC の PowerShell などで ssh-keygen を実行して作成できます.公開鍵を Imager に登録します.
    SSH を有効にして公開鍵認証を選択した,公開鍵登録前の画面

  6. Customisation: Raspberry Pi Connect
    「Enable Raspberry Pi Connect」はオフにしました. Raspberry Pi Connect をオフにした画面

書き込み

最後に設定内容を確認して「WRITE」を押します.
デバイス,OS,ストレージと初期設定の書き込み前確認画面 「Write complete!」が表示されたら書き込み完了です.
OS の書き込みと初期設定の適用が完了した画面

起動と SSH 接続

microSD を Raspberry Pi に挿し,USB-C 電源を接続すると自動で起動します.
接続元 PC を Raspberry Pi の設定と同じネットワークにつなぎ,PowerShell などから以下を実行します.今回の設定では,ユーザー名が admin,ホスト名が raspberry なので次のコマンドになります.

1
ssh admin@raspberry.local

.local での接続には接続元の mDNS 対応が必要です.名前で接続できない場合は,ルーターの接続端末一覧などで Raspberry Pi の IP アドレスを確認し,raspberry.local の代わりに指定します.

ファンの設定

ケース付属の PWM 対応ファンを GPIO 14(物理ピン 8)で制御し,CPU 温度に応じて PWM デューティ比を段階的に切り替えるように設定します.
ファンの配線は,赤を 5 V,黒を GND,青の制御線を GPIO 14 に接続した構成を前提とします.

設定する動作は次のとおりです.

CPU 温度(上昇時)cooling statePWM デューティ比
40℃ 未満00%
40℃ 以上1約 45%
50℃ 以上2約 60%
60℃ 以上380%
70℃ 以上4100%

各段階には 5℃ のヒステリシスがあります.例えば 50℃ で約 60% に上がった後は,45℃ まで下がると約 45% に戻ります.

シリアルポートの無効化

GPIO 14 はシリアル通信の送信にも使われるので,競合を避けるためにシリアルポートを無効化しておきます.GPIO 14 はヘッダー上の物理ピン番号では 8 番にあたります.

SSH 接続後,Raspberry Pi 側で以下を実行します.

1
sudo raspi-config

メインメニューの「3 Interface Options」を開き,「I6 Serial Port」を選択します.

raspi-config の Interface Options を選択した画面 Interface Options で I6 Serial Port を選択した画面

シリアル経由でログインシェルを使うか聞かれるので,「No」を選びます.

シリアル経由のログインシェルを無効化する画面

続いてシリアルポートのハードウェアを有効にするか聞かれるので,こちらも「No」を選びます.

シリアルポートのハードウェアを無効化する画面

ログインシェルとシリアルインターフェースの両方が disabled になったことを確認し,「Ok」で戻ります.

設定の確認画面

PWM ファン制御の設定

pwm-gpio-fan Device Tree overlay を設定します.
設定ファイルは /boot/firmware/config.txt です.
[all] セクションに新しい設定を追加します.

1
dtoverlay=pwm-gpio-fan,fan_gpio=14,fan_temp0=40000,fan_temp1=50000,fan_temp2=60000,fan_temp3=70000

ファンの回転を制御する出力値は pwm-gpio-fan の標準値を使用します.
標準値は停止を除く 4 段階で,それぞれ 114/255(約 45%),152/255(約 60%),204/255(80%),255/255(100%)です.

再起動と確認

設定を反映するため再起動します.

1
sudo reboot

再起動後,CPU 温度とファンの状態を確認します.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
echo '=== temperature ==='
awk '{printf "%.1f C\n", $1/1000}' /sys/class/thermal/thermal_zone0/temp

echo '=== cooling device ==='
for d in /sys/class/thermal/cooling_device*; do
    [ -f "$d/type" ] || continue
    printf '%s: type=%s state=%s max=%s\n' \
        "$d" \
        "$(cat "$d/type")" \
        "$(cat "$d/cur_state")" \
        "$(cat "$d/max_state")"
done

正常に認識されていればいずれかの cooling device に type=pwm-fanmax=4 が表示されます.

1
2
3
4
=== temperature ===
45.8 C
=== cooling device ===
/sys/class/thermal/cooling_device0: type=pwm-fan state=1 max=4

参考

Hugo で構築されています。
テーマ StackJimmy によって設計されています。