Linuxを使用して、pi zeroをすばやく(1秒未満で)起動させたい。その場合、それは組み込みコントローラーであり、標準的な本格的な(しかし遅い)コンピューターではないふりをすることができます。
この目標を達成する方法(追加)のヒントはありますか?
私がすでに試したこと:
- さまざまなオプション(カーネルパラメータ、標準ディストリビューションのカスタムカーネル-arch、raspbian、systemdなどの調整など)-すべてが一般的に遅い
- ブートローダーのチェーンの変更に関するリソースを見つけましたが、現在このレベルでは調整できません
- 私が到達できる最高の結果はbuildrootによって提供されました
次のルールを使用すると、(約)4秒以内に起動できますが、それでも遅くなります。
- initrdを使用しない
- モジュールを使用しない(カーネルに必要なドライバーを埋め込む)
- 複数のデバイスを使用しないでください(lvm)
- レイドを使用しない
- デバッグを使用しない
- debugfs
- カーネルデバッグ(カーネルハック)
- PCI / PCMCIAを使用しない
- SATA / ATAを使用しない
- 起動ロゴを使用しない
- のような本格的なCライブラリを使用しないでください
glibc
- サイズの最適化を使用しない
- 構成
cmdline.txt
- シリアルコンソールを使用しないでください:
- 削除
console=xxx
、ここでxxxはシリアルポートです- 編集
/etc/inittab
(getty spawn)- セットアップルートファイルタイプ:
rootfstype=ext4
config.txt
- 起動遅延を使用しないでください:
boot_delay=0
- 虹を使わない:
disable_splash=1
- セーフモードを気にしない:
avoid_safe_mode=1
Piを1秒近くで起動するつもりはないでしょう。
—
Steve Robillard 2017年
あなたが得ることができる最高は1分未満だと思います。アプリケーションが何かを初期化するための高速起動が本当に必要な場合は、センサーをマイクロコントローラーに接続してセットアップを行わせることができますが、起動するとPiがマイクロコントローラーの制御を開始します(シリアル経由?)。
—
anonymoose
piCore(Tiny Core Linux製)は、少し高速になる可能性があります。
—
lights0123 2017年