以前のエントリでRaspberryPiの初期設定はまだまだ簡単にできるよという内容を書きました。
これで初期設定も簡単になったと非常に喜んでいたのです。そんな中RaspberryPiのSDカードなどにOSイメージを書き込むツールRaspberry Pi Imager
のバージョンが1.6になったよという情報を教えてもらいました。実はこのバージョンにはアドバンスオプションがついていて起動時の設定をImagerで書き込む際に設定してくれるというものでした。MAXさん情報ありがとうございます。
うほ、こりゃやべー。初期設定かもっと簡単になるぞ。ってことで、今回はRaspberry Pi Imager
のメニューを確認してみます。
Raspberry Pi Imagerをインストールする
Raspberry Pi Imager
の最新バージョンは以下にあります。
こちらにアクセスを行って、使用しているOS環境に対応したアプリをダウンロードをします。
クリックすると、以下のファイルがダウンロードされます。
このファイルをダブルクリックしてインストールを行います。念の為、旧バージョンはアンインストール行ってから作業をしてください。
Raspberry Pi Imagerを起動する
インストールは特に問題はないと思います。続いてRaspberry Pi Imager
を起動していきます。ところが、操作がイメージの選択と書き込みの2つしか存在していません。あれ、設定のアドバンスメニューがあるはずなのですが…。
最初はインストールしたバージョンが古かったのかなと思ったのですが、ウインドウ表示にも最新のバージョンが表示されていますので間違いはないようです。
イメージの選択に関しても若干表示内容が変わっているようなので、バージョンは問題なさそうです。このバージョンからメニューの一番上にある、ダウンロードしてインストールを行う場合のRaspberry Pi OS
のバージョン(リリースの日付)が書かれているのは非常に助かるなあと思いました。
アドバンスオプションはどこに?
初期状態で表示されていなかったので、一度イメージの書き込みを行ってみましたが特にそのまま何事もなく書き込みも終了しました。 あると言われていたアドバンスオプションはどこに?と思ったのですが、実は【CTRL】 + 【SHIFT】 +【x】を押すことで表示が行われます。
【CTRL】 + 【SHIFT】 +【x】
を押してみると…ちゃんとアドバンスオプションが表示されました。
では内容を見ていきます。まず一番上のプルダウンはこの設定を今回の書き込みのみにするのか、あるいは毎回使うのかというところになります。
- for this session only … 今回の作業のみ適応する
- to always use … 毎回使用する
後の設定項目は以下のようになっています。
- オーバースキャンを行うか
- hostnameの設定
- sshの有効化(パスワード認証にするか、キー認証にするか)
- wifiの設定(SSID、パスワード、Wifiの国設定)
- ロケールの設定(タイムゾーン、キーボードレイアウト)
ランゲージ設定を変更できないのはちょっと残念です。このタイミングでja_JP.UTF-8
にしたかったなあ…
設定が終了したら、下部にある【SAVE】をクリックして、アドバンスオプションのダイアログを閉じます。あとは通常と同じ操作で大丈夫です。
これまではイメージの書き込み後に以下のような作業をしていましたが3の部分に関してはRaspberryPiImagerで設定が完了し、部分的に5の手順も減ったことになります。
- SDカードメモリへRaspberryPi OSのイメージを書き込み
- SDカードの/bootへ
ssh
という名前の空ファイルをコピー - SDカードの/bootへ無線LANの設定ファイルwpa_supplicant.confをコピー
- SDカードを挿してRaspberryPiを起動
- raspi-configでの設定(ここで再起動される)
- apt関連のパッケージの設定
設定後にローケール、必要なパッケージなどの導入のみを行うことになります。
以前のエントリに掲載したスクリプトも以下程度まで減らすことができると思います。
RaspberryPiSetup.sh
#!/bin/bash sudo raspi-config nonint do_change_locale ja_JP.UTF-8 sudo raspi-config nonint do_vnc 0 sudo apt update && \ sudo apt install -y xrdp vim && \ sudo apt -y upgrade && \ sudo systemctl reboot
ちなみに起動時のロケールは以下の様になっているので、設定スクリプトで変更を行っています。
地味に便利な設定
OSの設定以外にもアプリ側の設定も結構便利です。設定の末尾にある設定ですが、
- 処理が終わったらサウンドで通知
- 処理後にメディアをイジェクト(デフォルトがイジェクトなのでイジェクトしないことも可能に)
- telemetryの有効(これなんですかね?)
ができるようになっています。
いつも、イメージ書き込み時はバックグラウンドにしていることもあるので、終了時に音がなるのは結構嬉しいですね。あとは人によってはSDカードがアンマウントされるのは困る人もいるかなと思います。自分はちょっと設定用のスクリプトを/boot領域に書き込みしたいのでアンマウントされないようにしてほしいところです。
自分は以下のように設定しました。
おわりに
RaspberryPiの設定を簡単にしようと思ってスクリプトを書いたら、公式のImager側で設定できることが増えて、更に手作業の負担が軽減できたよというものでした。欲を言えばLocaleのランゲージ設定が変更できると嬉しいのですが、個別の設定というところもあるのでここはまあいいかなという気もしています。
ただ、これでかなりの手作業が減ったのは事実です。願わくば、このアドバンスオプションがキーボードショートカットではなく、UIとしてボタンで出てくるといいなあというところです。