u-boot がフラッシュされたボードが 1 枚あります。ここで、(ハードウェアの一部を初期化するための) ブートローダーにいくつかの機能を追加したいと考えています。以下のようにマルチ ステージ ブートを実行することは可能ですか? 3) 私のバイナリは linux-kernel をロードして起動します。
可能であれば、いくつかの指針をいただければ幸いです。ありがとう。
u-boot がフラッシュされたボードが 1 枚あります。ここで、(ハードウェアの一部を初期化するための) ブートローダーにいくつかの機能を追加したいと考えています。以下のようにマルチ ステージ ブートを実行することは可能ですか? 3) 私のバイナリは linux-kernel をロードして起動します。
可能であれば、いくつかの指針をいただければ幸いです。ありがとう。
はい。マルチステージ ブートは、ARM SoC で一般的に使用されます。
例として、TI OMAP デバイスの場合、ブートローダーの 2 つのインスタンスが使用されます。1 つ目は、SDRAM が初期化されることを期待せずに実行され、48kB の組み込み SRAM にコピーされて実行されます。必然的に、いくつかの基本的なハードウェアの初期化 (SDRAM、特定の機能ユニットへの電源の有効化、クロックの有効化など) と、第 2 段階のブートローダーのロード以外には、ほとんど何もしません。これでもタイトフィットです。
u-Boot (およびBareboxとおそらく他のブートローダー) のソース ツリーには、このセットアップをビルドするためのビルド オプションがあります。
既存のブートローダーを変更した方がよい場合があります。これにはBareboxを使用した良い経験があります。
OMAP の場合、最初のブートローダーは一般にMLO
- と呼ばれます。これは、リソースを見つけるのに役立つ場合があります。