Raspberry Pi高速起動への道~②

はじめに

前回の記事では、設定変更を中心にRaspberry Piの高速起動化に挑戦しましたが、体感差はほとんど得られませんでした。
そこで今回はアプローチを変え、ハードウェアとOSの組み合わせを見直して再チャレンジします。ベースは最初の起動時間「約38秒」です。

実験①

前回はUSB2.0のUSBメモリから起動していました。まずは同じ構成のまま、メディアだけUSB3.0のUSBメモリに変更しました。

  • 実測:28.99秒
  • メモ:ストレージの読み出し速度が向上したことで、約9.01秒短縮(約23.7%改善)

実験②

次に、使用ボードをRaspberry Pi 4からRaspberry Pi Compute Module 4(eMMC搭載モデル)へ変更しました。
eMMCはUSBメモリよりもアクセス遅延が小さいことが多く、起動時間短縮が期待できます。

  • 実測:26.11秒
  • メモ:ベース比で約11.89秒短縮(約31.3%改善)

実験③

OSをRaspberry Pi OS(64bit)から、不要なコンポーネントの少ないRaspberry Pi OS Lite(64bit)へ変更しました。
GUIも必要だったため、Wayland/Westonを追加導入しました。

  • 実測:27.61秒
  • メモ:Lite化で不要サービスは減る一方、Weston導入の初期化コストが乗るため、②よりわずかに遅い結果に(ベース比約27.3%改善)。

まとめ

構成変更起動時間(秒)ベースからの短縮(秒)改善率(%)
ベース(前回)38.0
実験①:USB3.0メモリ28.99-9.0123.7
実験②:CM4 + eMMC26.11-11.8931.3
実験③:OS Lite + Weston27.61-10.3927.3

38秒→26秒まで短縮できました。
起動までの時間は起動メディアの読み込み速度が大きく関係していそうです。

おわりに

今回は、ハードウェアとOSの観点からRaspberry Piの高速起動に再び挑戦し、約10秒以上の短縮という満足いく結果が得られました。
Raspberry Pi純正OS以外で、本当に必要なモジュールだけを組み込んだよりミニマルなディストリビューションを使えば、さらに短縮できる余地もありそうです。機会があれば、サービスの徹底的なカット代替の初期化方式なども含めて、チャレンジしてみたいと思います。

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