Raspberry Pi高速起動への道~①
はじめに
Raspberry Piを使用する際に、起動がもっと早ければいいのにと思うことがあります。
そこで今回はRaspberry Piの高速起動化にチャレンジしたいと思います。

実験方法
やみくもに設定すると、どの設定が効果があるのかなどが分からないため、
chatGPTに改善方法を提案してもらい、一つずつ試していきたいと思います。
実験開始時
使用するRaspberry PiはRaspberry Pi 4で、OSはRaspberry Pi OS(64 bit)、USB2.0のUSBメモリからの起動という構成です。
まずは何もしない状態で計測すると38秒でした。
①不要なサービスを無効化
chatGPT「起動時に不要なサービスを無効化するとブート時間が短縮されます。」
とのことなので下記コマンドで不要なサービスの確認・無効化を行います。
・カーネルのロード時間やユーザースペースの処理時間を確認
$ systemd-analyze
・起動時間が長いプロセスを一覧表示
$ systemd-analyze blame
・サービスの無効化
$ sudo systemctl disable ***
結果は下記の表になります。
なお、上から順次追加で適用していきました。
内容 | 実測 (s) | systemd-analyze (s) |
---|---|---|
初期状態 | 38 | 19.76 |
NetworkManager-wait | 38 | 13.68 |
ModemManager | 39 | 15.22 |
bluetooth | 37 | 12.88 |
avahi-daemon | 37 | 13.03 |
triggerhappy | 37 | 13.19 |
hciuart | 37 | 13.23 |
dphys-swapfile※ | 37 | 12.24 |
※「$sudo swapoff –all」も実行
②config.txt の最適化
chatGPT「Raspberry Pi のブートローダーを高速化するため、/boot/config.txt を編集します。」
・/boot/config.txt を編集
$ sudo nano /boot/firmware/config.txt
以下の設定を追加または変更
boot_delay=0 # デフォルトでは1秒の遅延があるので無効化
disable_splash=1 # 起動時のスプラッシュスクリーンを無効化
dtoverlay=disable-bt # Bluetoothを無効
dtparam=audio=off # 内蔵オーディオを無効
disable_poe_fan=1 # I2C経由のPoE HATファンの制御を無効
結果は下記の表になります。
なお、上から順次追加で適用していきました。
内容 | 実測 (s) |
---|---|
boot_delay=0 | 37 |
disable_splash=1 | 37 |
dtoverlay=disable-bt | 38 |
dtparam=audio=off | 38 |
disable_poe_fan=1 | 38 |
おわりに
今回はRaspberry Piの高速起動化にチャレンジしてみました。
しかし、短縮できたのは1秒で、あまり効果を感じられませんでした。
なので次回も起動時間短縮の方法を探っていきたいと思います。