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)
初期状態3819.76
NetworkManager-wait3813.68
ModemManager3915.22
bluetooth3712.88
avahi-daemon3713.03
triggerhappy3713.19
hciuart3713.23
dphys-swapfile※3712.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=037
disable_splash=137
dtoverlay=disable-bt38
dtparam=audio=off38
disable_poe_fan=138

おわりに

今回はRaspberry Piの高速起動化にチャレンジしてみました。
しかし、短縮できたのは1秒で、あまり効果を感じられませんでした。
なので次回も起動時間短縮の方法を探っていきたいと思います。

よかったらシェアしてね!