Raspberry Pi OS をヘッドレスインストールする
はじめに
Raspberry Pi を使い始めるにあたってのセットアップで、いちいちモニターを繋ぐなどするのはなにかと面倒かと思います。この記事では、そんなあなたにモニターを繋がずに Raspberry Pi OS をセットアップする方法を紹介します。
なおこの記事では macOS 上で作業することを前提に解説します。Linux 環境下で行う場合などは適宜コマンドを読み替えてください。
Raspberry Pi OS のセットアップ
イメージの用意
公式サイトからイメージをダウンロードしてきます。Raspberry Pi 3B 以上の機種であれば 64bit 版を選ぶのが良いでしょう。また、GUI は一切使用しないので Lite 版を選びます。落としてきたイメージは xz で圧縮されているので、展開しておきます。
$ xz -d 2022-04-04-raspios-bullseye-arm64.img.xz
展開したらイメージを焼いていきます。SD カードをマシンに接続しておきましょう。
ここで、diskutil
コマンドを使って書き込み先の SD カードがどこにあるかを調べます。macOS がインストールされていないものが候補に挙がるかと思います。今回は /dev/disk2
として解説を進めていきます。
$ diskutil list
/dev/disk2 (external, physical):
まずはディスクをフォーマットしてから書き込みができるようアンマウントしておきましょう。
$ dksiutil eraseDisk MS-DOS RPI disk2
$ diskutil unMountDisk /dev/disk2
最後に書き込んであげます。if
と of
を間違えると悲惨な目に遭いますので要注意。なお書き込み先が rdisk2
となっていますが、シーケンシャルなデータを書き込む際にはここに書き込む方が速いからです。
$ sudo dd if=2022-04-04-raspios-bullseye-arm64.img of=/dev/rdisk2 bs=1m
普通ならここで SD カードを Raspberry Pi に差し込んで起動しますが、ヘッドレスインストールのためにもろもろ工夫していきます。
書き込みが終わると /Volumes/boot
というパスに SD カードの1パーティションがマウントされていると思います。ここに、いくつかのファイルを置いていきます。
$ cd /Volumes/boot
まず、SSH デーモンが起動時に動くように、空のファイルを置きます。
$ touch ssh
無線 LAN を動かしたい人は、以下のファイルを作っておきましょう。
$ touch wpa_supplicant.conf
ファイルの中身は以下のようにします。psk
の部分はハッシュ化されたものを入れます。ジェネレーターを活用すると便利でしょう。
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="YOUR_WIFI-SSID"
psk="WIFI-KEY"
}
Raspberry Pi OS は先日のアップデートでデフォルトユーザーならびにパスワード pi:raspberry
が削除されました。従って、これも設定してあげる必要があります。まずは空のファイル userconf.txt
を作りましょう。
$ touch userconf.txt
次にハッシュ化したパスワードを求める必要があります。以下のコマンドで必要な値が得られます。ただし macOS デフォルトで付属の openssl
コマンドは実体としては libressl で、-6
オプション(SHA512でハッシュ化してくれる機能)が付いていないので、brew で OpenSSL を入れるか、他の Linux 環境で生成した結果をコピーしてくるのが現実的な落とし所かと思います。
$ echo 'RAW_PASSWORD' | openssl passwd -6 -stdin
ユーザー名と今できあがったハッシュ化したパスワードをコロンで繋いだものを書き込んであげれば完了です。
USER_NAME:HASHED_PASSWORD
あとは /Volumes/boot をアンマウントしてから本体に SD カードを接続し、Raspberry Pi を起動してください。
起動後の設定
一通りパッケージをアップデートしておくと良いでしょう。
$ sudo apt update
$ sudo apt full-upgrade
また、タイムゾーンぐらいは設定しておくと良さそうです。
$ sudo raspi-config
おわりに
ここまで Raspberry Pi OS を画面に繋がずにヘッドレスインストールする方法を紹介してきました。デフォルトのユーザーが削除されてしまったため、今までと違ってそこのセットアップをしてあげる必要があるというところだけが注意点かと思います。それではよき Raspberry Pi 生活をお送りください。
Discussion