5

Fastboot には次の便利な機能があります(カスタム イメージの起動に失敗した場合、デバイスは魔法のように次回はデフォルト イメージを起動し、すべて問題ありません)。

ホスト側のカーネル イメージで起動するには

このコマンドを使用すると、ブート フラッシュ パーティションでカーネルと rootfs を使用する代わりに、カーネル イメージ(およびオプションのルート ファイルシステム イメージ)をダウンロードして、それらを使用して電話機を起動できます。カーネルの開発中や rootfs の変更中に非常に便利です。

fastboot boot < カーネル > [ < RAM ディスク > ]

内部でどのように機能するか知っている人はいますか?カーネルは特別なブート パーティションにコピーされますかデバイスを再起動する前に? (更新:答えが指摘しているように、fastbootはブートプロセスのステップであるため、再起動はありません。これにより、基本的に私の質問は無意味になります。)fastbootのソースコードを調べていましたが、何が起こるかだけが含まれているようですデバイスではなく、ホスト側で。

つまり、フラッシュ機能の仕組みは非常に簡単ですboot。たとえば、次のようにして、カスタム カーネルを含むブート イメージをパーティションに コピーするだけで模倣できます。

dd if='<my_boot.img>' of='/dev/block/platform/msm_sdcc.1/by-name/boot'

ところで:私が開発中のアプリのために質問しています。SDカードなどに保存されているデバイスからカスタムカーネルを直接「リスクフリー」で起動したいと思います。

4

1 に答える 1

9

デバイスを再起動する前に、カーネルは特別なブート パーティションにコピーされますか?

いいえ、どのパーティションも変更されません。
カーネルのブートとは、ストレージ デバイスからカーネル イメージをロードする (メモリに読み込む) ことを意味します。この fastboot は netboot に似ています。たとえば、カーネル イメージは、TFTP を使用してイーサネット リンクを介してサーバー/ホストからロードされます。カーネル イメージを使用してシステムを起動することが唯一の目的である場合、特にパーティションが明示的に指定されていない場合は、カーネル イメージもパーティションに書き込む理由はまったくありません。

この操作のオプションのルート ファイルシステムは、RAM ディスク イメージとして明確に指定されており、パーティションへの書き込みやストレージも必要ありません。

内部でどのように機能するか知っている人はいますか?

fastboot プログラムは、デバイスの再起動後に実行される代替ブートローダーです。
カーネルは、ホストから USB 経由でメモリにロードされます。オプションの rootfs (ramdisk または initramfs イメージ) も、ホストから USB 経由でメモリにロードできます。ロードされると、通常のカーネル ブートを開始できます。

ところで:私が開発中のアプリのために質問しています。SDカードなどに保存されているデバイスからカスタムカーネルを直接「リスクフリー」で起動したい

おそらく、この fastboot 以外のブートローダー/方法を使用する必要があります。

于 2016-01-08T03:45:14.003 に答える