Raspberry Pi: インストールと基本的な設定
概要
この記事では Raspberry Pi 購入直後の状態から ssh で接続して使用するための必要なセットアップ作業を記述している。
Table of Contents
インストール
Raspberry Pi のブートディスクは Windows や macOS から SD カードに OS イメージを書き込んで作成する。Fig 1 のようなインストーラー形式の Raspberry Pi Imager を使用すると簡単である。
64-bit 版 Raspberry Pi OS (旧名 Raspbian) は ARM64 CPU を搭載している Raspberry Pi 3, 4, Zero 2 以降の機種で使用できる。また Raspberry Pi OS を選択した場合は右下の [⚙] ボタンが有効化され raspi-config
相当の設定を行うことができる。
作成した SD カードを Raspberry Pi に差し込んで USB 電源を差し込めば Raspberry Pi OS が起動する。デフォルトはユーザ名 pi
とパスワード raspberry
でログインできる。
基本設定
正常にログイン出来たらまず sudo raspi-config
を実行して基本設定を行う (すでに Raspberry Pi Imager で設定済みの項目はスキップしても良い)。
- System Options - Wireless LAN: WiFi 経由でネットワークに接続する場合。
- Interface Options - SSH:
ssh
によるリモート接続を有効にする場合。 - Localization Options - Locale: en_US.UTF-8 を選択 (ja_JP は文字化けが多い)。
- Localization Options - Timezone: Asia - Tokyo を選択。
- Localization Options - Keyboard - Generic 105-key PC (intl.) - ja を選択。
- Advanced Options - Expand Filesystem: SD カード領域を拡張 (最初は OS イメージ領域のままで SD カードの領域すべてを使っていない)。
- Update:
raspi-config
を最新版に更新。
キーボードの設定が raspi-config
で正しくできない場合はコマンドラインから設定する。
pi@pirite:~$ sudo localectl set-keymap jp106
pi@pirite:~$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
ネットワークに接続できていることを確認してシステムのライブラリ一式を最新版にアップデートする。
pi@raspberrypi:~ $ sudo apt-get update -y && sudo apt-get upgrade -y
またインストール直後はファームウェアのアップデートを行っておくと良い。
pi@raspberrypi:~ $ sudo rpi-update
ネットワーク設定
先に WiFi と ssh の設定を行ってそれ以降は Windows PC などからリモートでセットアップを続けても良い。この場合 ifconfig
で Raspberry Pi の IP アドレスを調べてリモートから ssh 接続を行う。
pi@raspberrypi:~ $ ifconfig
...
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ebf9:d567:18fc:aaa4 prefixlen 64 scopeid 0x20<link>
inet6 240d:1a:892:8f00:6fea:17b4:1305:3fa9 prefixlen 64 scopeid 0x0<global>
ether b8:27:eb:01:63:ae txqueuelen 1000 (Ethernet)
RX packets 117907 bytes 174375955 (166.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49045 bytes 5586127 (5.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上記ではアドレス 192.168.1.12 が割り当てられているため 192.168.1.12 へ ssh 接続する (初回は ssh 鍵を受け入れるかの確認が入る)。デフォルトのパスワード raspberry を入力すればログインできる。
C:\Users\Takami Torao> ssh -l pi 192.168.1.12
The authenticity of host '192.168.1.12 (192.168.1.12)' can't be established.
ECDSA key fingerprint is SHA256:2tD0Dz7yGw93oQ8RemqnlGLrlXQe/y+iCAsN9cAjDW8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.12' (ECDSA) to the list of known hosts.
pi@192.168.1.12's password:
Linux raspberrypi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l
...
ただし DHCP で IP アドレスを割り当てていると Raspberry Pi の再起動によって IP アドレスが変わる可能性がある。常時 ssh や VNC で接続可能にするには IP アドレスを固定する必要がある。
IP アドレスの固定
IP アドレスを固定するには以下のファイルを修正する。
pi@raspberrypi:~ $ sudo vim /etc/dhcpcd.conf
...
#interface wlan0 ← LAN (eth0) または WiFi (wlan0) のみの IP アドレスを固定する場合は有効にする
static ip_address=192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
上記は IPv4 アドレス 192.168.1.100、サブネットマスク 24 (255.255.255.0)、デフォルトゲートウェイと DNS サーバを 192.168.1.1 に設定している。変更した設定はシステムを再起動すれば有効になる。
ディスプレイ設定
Raspberry Pi の操作画面は HDMI 出力をディスプレイに接続すれば表示されるが、ディスプレイがうまく認識されなかったり、解像度が高すぎて文字が潰れるような場合はセーフモードで起動したほうが良いかもしれない。
Raspberry Pi では構成ファイル /boot/config.txt
[1] に BIOS 相当の設定を保存する。これは ARM CPU と Linux が初期化される前に GPU によって読み込まれる。
config.txt
単純なテキストファイルであるため vi などを用いて編集することで設定を変更できる。設定の変更を反映させるためには再起動が必要である。また設定に失敗するとディスプレイ表示がおかしくなり設定を元に戻せなくなる可能性があるため ssh を経由してリモートで作業することを強くおすすめしておく。
セーフモード
HAT 型の 3.5" ディスプレイで解像度が高すぎて文字が潰れてしまう場合や、ディスプレイとの互換性トラブルでうまく表示されない場合はセーフモードを有効にすると良い。これによりロゴ画像が消え HDMI との互換性を最優先にした構成で 640×480 (60Hz) で起動する。
# uncomment if you get no picture on HDMI for a default "safe" mode
hdmi_safe=1
参照
この記事は Raspberry Pi 3 Model B+ 上の以下の環境に基づいて書かれている。
pi@raspberrypi:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
pi@raspberrypi:~ $ uname -a
Linux pirite 5.10.95-v8+ #1519 SMP PREEMPT Tue Feb 1 13:19:30 GMT 2022 aarch64 GNU/Linux