2

最初に新しいメンバーを投稿するので、間違ったセクションにいる場合はお知らせください。

Android デバイスのターミナルから実行できるように mkbootimg バイナリをコンパイルしようとしています。github から BootTools ソースをダウンロードし、backtrack 5 chroot 環境でコンパイルしました。バイナリはコンパイルされましたが、ブート イメージをアンパックすると、再パックしてデバイスにフラッシュすると、再起動時にデバイスが起動画面でハングし、再起動して回復します。

デスクトップでこれと同じ方法を試したところ、イメージが起動しました。デバイスでイメージを解凍し、ファイルをデスクトップにコピーして、デスクトップで mkbootimg を使用してそれらを圧縮し、イメージをデバイスにコピーしてフラッシュしました。それ、デバイスは通常どおり起動したので、コンパイルしたmkbootimgにエラーがあるか、何か間違っていることに関係しているに違いないと思います。マークに感謝します。

4

1 に答える 1

2

おそらく、ヘッダー内のフィールドのエンディアンstruct boot_img_hdrが ARM 用にコンパイルされたときに異なるためです (x86 用にコンパイルされた同じコードと比較して)。mkbootimgまた、ブートローダーは、x86 用にコンパイルされたエンディアンでそれらが書き込まれることを期待しています。

16 進エディタで両方のバイナリを比較して、これを確認できます。

于 2013-08-17T09:53:50.497 に答える