起動の高速化=液晶の表示待ちの短縮 †
ラズパイの電源通電から液晶HATの表示開始まで、一瞬で始まるわけではありません。
液晶の表示は、OSのブートアップからドライバー読み込みまで若干の時間を要します。
ラズパイの設定を調整することで、起動時間の短縮を図ります。
作業方針は
- Retro Pieが動作する
- 液晶HATが動作する
- SSHによるリモート接続を行う
以上の要件に対して不要な機能を無効化していきます。
設定変更 †
/boot/cmdline.txt †
cmdline.txtは、システム開始直後に読み込まれる設定ファイルで、ソフトウェア設定について記載されています。
変更の際は、以下のコマンドを入力します。
sudo nano /boot/cmdline.txt
デフォルト例 †
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=<パーティションID> rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0
修正例 †
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=<パーティションID> rootfstype=ext4 elevator=deadline fsck.repair=yes ipv6.disable=1 rootwait logo.nologo quiet
この記載のまま、コピペしないこと!
パーティションIDは環境ごとにユニークな情報です
パラメータの意味 †
項目名 | デフォルト値 | 変更例 | 説明 |
dwc_otg.lpm_enable | 0 | | USBのOTGモード使用の時に変更、通常は0のまま |
console | tty1 | | 仮想コンソールの使用、SSHで使う |
console | serial0,115200 | 削除 | シリアルコンソールの使用、削除可能 |
root | <パーティションID> | | rootマウントされるパーティションの指定、変更しない |
rootfstype | ext4 | | rootで使用するファイスシステムタイプ、変更しない |
elevator | deadline | | I/Oスケジューラの定義、変更しない |
fsck.repair | YES | | ファイルシステムが実行する修復機能の有効化、変更しない |
rootwait | | | SDカードやMMCデバイス使用時に必要なrootデバイスのカーネルウェイトの定義、変更しない |
loglevel | 3 | 削除 | ログレベルの定義 後述のquietで代用 |
quiet | | 追加 | ログレベルを2:起動時メッセージを抑制する |
consoleblank | 0 | 削除 | コンソール上でのブランク化設定、0でブランク化しない 削除可能 |
plymouth.enable | 0 | 削除 | グラフィカルなブートスプラッシュ機能の提供 |
logo.nologo | | 追加 | 起動時のラズベリーマークの非表示。ラズベリーマークの数がプロセッサのコア数を意味する |
ipv6.disable=1 | | 追加 | IP v6を使用しない |
/boot/config.txt †
config.txtは、主にハードウェア関連の設定ファイルです。
こちらの項目にて、ラズパイの動作クロックを高速化することでパフォーマンス向上を図ります。
下記手順では、標準700Mhzから900Mhzへの変更としました。
数値は任意に数値を指定できますが、大きすぎるとシステムが不安定になったり、最悪システムが動作しないなどの不具合が発生します。
arm_freq=900
force_turbo=1
パラメータの意味 †
項目名 | デフォルト値 | 変更例 | 説明 |
arm_freq | コメントアウト(700) | 900 | CPU・Armプロセッサの動作クロック。900Mhzは無理のないクロックアップ値 |
force_turbo | | 1 | 負荷に応じて動作クロックを可変するのがデフォルトであるが、これを常に最大パフォーマンスで動作するように強制するオプション |
Retro Pie の スプラッシュ削除 †
Retro Pie起動時にグラフィカルな起動メッセージ「スプラッシュ」が表示されます。
スプラッシュ表示されるステップに入ると、すでに液晶HATは表示状態にあるので、スプラッシュの非表示は液晶表示の高速化に寄与はしません。
しかしゲーム画面表示に早く移行したい意図でスプラッシュの非表示、あるいは起動画面を変更手順を示します。
sudo ./RetroPie-Setup/retropie_setup.sh
「C Configuration / tools」-> 「837 splashscreen」にて、スプラッシュスクリーン関連の設定を行います。
スプラッシュの有効/無効化 †
「2 Enable splashscreen on boot」
上記メニューで有効/無効を切り替えます。
スプラッシュの変更 †
「5 Manually edit splashscreen list」
スプラッシュスクリーンに使用するファイルを指定します。
独自の画像・動画をスプラッシュスクリーンとして使用する際は下記ディレクトリへ配置してください。
/home/pi/RetroPie/splashscreens
ファイルの配置方法は、SFTPなどを利用してください。
更に起動時間を短縮させたい †
サービスプログラムのうち、起動に時間がかかっているプログラムを特定し、ランレベル変更で停止してしまうのも手です。
目立って時間がかかるのはネットワーク系サービス(のタイムアウト待ち)なので、SSHなどの外部メンテナンス性を諦めれば、より高速起動が期待できます。