私はアンドロイドを実行しているネットブックに慣れていないので、組み込みデバイスでの私の経験は次のとおりです。
私の知る限り、「アンドロイド内部」の方法はありません。Android は u-boot 後に引き継ぎますが、u-boot 環境パーティションに変更することはめったにありません (決して読むことはありません)。
簡単に言えば、それはほぼ不可能であり、無駄な努力が多すぎるのです。また、初心者には、ボードまたは ADB シェルに接続されたデバッグ シリアル コンソールが必要です。シェルなしで作業を推測するだけです。
一般的なアルゴリズムの場合:
- シェルを動作させる
- システムを理解する (CPU タイプ、パーティション テーブルなど)
- 次に、知っていることで何ができるかを調べてください。
または、「オール オア ナッシング」 - ファームウェア アップグレードとファームウェア イメージをリバース エンジニアリングし、独自のもので起動してみてください。
長い話:
sd_card ブートには 2 つのオプションがあります。
- ボード上のブートローダーを使用し、sdcard からカーネルと rootfs をロードします
- sd_card から起動
sd_card からカーネルと fs をロードします。
u-boot 環境を変更せずにブート デバイスを変更する一般的な u-boot の方法はありません。ほとんどの場合、u-boot 環境は nand パーティションに存在します。製造元によってコード化された何らかの方法が存在する可能性があり、これはオフラインのファームウェア アップグレード手順によって推測される可能性があります。これはおそらく、迅速な解決のための最善の策です。それをリバースエンジニアリングしてみてください。
sd_card から起動:
ほとんどのプラットフォームには SYSCONFIG レジスタまたはハードウェア ピンがあり、開発プラットフォームではジャンパによって操作され、ほとんどが製品プラットフォームではハードワイヤードされています。SYSCONFIG はブート デバイスを制御します。NAND のみ、または SD_CARD のみなどに設定できます。
システムが実際に sd_card からロードするように構成されている場合、さらにいくつかの問題があります。
- 場合によっては、SD カードを特定の方法でフォーマットする必要があります (例: http://www.omappedia.org/wiki/SD_Configuration )。
- また、最初の段階のローダーに署名する必要がある場合もあります。そして、第 1 段階のブートローダー (x-loader など) が何であるかを理解するのは難しく、署名部分はちょっとトリッキーです :)
- u-boot と x-loader をビルドするには、正確なプラットフォーム構成を知る必要があります