ボードからAndroidを起動する方法を研究している間、ボードuImage
からAndroidを起動するにはMLO(X-loader)とU-Bootが必要であることがわかりました。
しかし、これを理解すると、IMX53quickstartボードはAndroidを起動するためにMLOを必要としません。
- それはどのように可能ですか? MLOなしでマザーボードはどのように起動しますか?
- このボードには特別なものがありますか?それは何ですか?
- それでは、なぜ他のマザーボードにはこの機能がありませんか?
- すべてのマザーボードにこの機能を実装できますか?
答え1
システムを起動するために必要なのは、特定のメモリアドレスにある実行コードです。
カーネルを正しい位置に置くと起動します(私たちが使った方法です。ブートローダはありません)。最近はそこにブートローダーを置きます。ブートローダは、どこで見つけることができるかについてハードウェアよりもスマートな(ただしそれほど多くない)実行可能なコードです。その他実行可能なコード。
簡単に説明すると、ハードウェアの電源を入れるとファームウェアのプログラムが起動し始めます。これはハードウェアによって異なりますが、PCではBIOSでした。今日はEFIかもしれません。プログラムは、特定のアドレスにあるブロックデバイスを表示する方法を知っています。そこで見つかったブロックはRAMにロードされ、実行されます。ハードウェアはそれが何であるかについては非常にインテリジェントではないので、プロセッサの正しいマシンコードであること以外は具体的な要件はありません*。
あなたの場合唯一のこと必須リリースされるのはuImage(カーネルイメージ)です。 U-BootはuImageを見つける方法です。 MLOはおそらくU-Bootを見つける方法です。理論的には、uImageを正しいブロックに配置するとすぐに実行されます。
* ところで、レンガこれらのブロックで発生したすべてのジョブをプロセッサが正しく実行できないことを示します。