fastboot USBを使用せずにboot.imgをフラッシュする


10

だから私は最近私の電話を根ざし、ROMまたは2つを試しました。TWRPリカバリを使用してSDカードから別のROMをインストールできることは本当に便利です。PCに接続する必要はありません。

ただし、デバイス(HTC One S)では、ROMごとに異なるboot.imgファイルをフラッシュする必要があるため、ROMを切り替えるには、電話をPCに接続する必要があります。これを行わないと、ロード画面でスタックするだけです。次に、コマンドを使用する必要があります

fastboot flash boot boot.img

boot.imgがあるフォルダから。

USB経由のfastbootを使用せずに、TWRPまたは他の方法でこのブートイメージをフラッシュすることは可能ですか?

回答:


10

実行する必要があるのは、boot.imgをバンドルし、ClockworkModまたはTWRPを介したフラッシュに適した新しいzipファイルを作成することです。

前提条件

  • Javaなどの通常の開発パッケージがインストールされているLinux環境。(これは他のプラットフォームにも適用できます。以下で使用されているパスを示すここの説明ではスラッシュを使用している/ため、\特にWindows環境ではバックスラッシュになるように反転してください!
  • インストールされているadbコマンドラインツール。
  • `testsign.jar ' ツール。zipファイルに署名して、リカバリがそれを認証し、それが有効なアーカイブであることを確認できるようにします。それ以外の場合、リカバリは破損したアーカイブなどを報告します
  • update-binaryコマンドラインアプリケーション。フラッシュ可能なスクリプトで使用するための内部です。(これは任意のフラッシュ可能なzipで見つけることができます。重要なことは、そのバイナリを抽出し、示されているようにディレクトリの構造に配置することです)
  • zipコマンドラインツール。

あなたのディレクトリがworkdirと呼ばれていると仮定して、議論のために、これを作業ディレクトリと呼び、そのディレクトリにをコピーしboot.img、次のディレクトリ構造を作成します- META-INF/com/google/androidこれは重要です!そして内でMETA-INF/com/google/android、呼び出さupdate-binaryれたバイナリアプリケーションをそのディレクトリにコピーします。したがって、ディレクトリ構造は次のようになります。

+ workdir/
     +
     |
     +--+ boot.img
     |
     |
     +--+ META-INF/
              +
              |
              +--+ com/
                    +
                    |
                    +--+ google/
                           +
                           |
                           +--+ android/
                                   +
                                   |
                                   +--> update-binary
                                   |
                                   +--> updater-script

についてはupdater-script、以下の内容をコピーしてください。

ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");

覚えておいてください:ここで混乱しないでください。示されているアップデータスクリプトはそのままにして、そのままにする必要があります。そのため、Windows環境でこれを行う場合は、スラッシュをバックスラッシュに切り替えないでください。

ディレクトリ構造の親に戻り、workdirの外で次の操作を行います。これからzipファイルを作成します。

zip -r my_custom_flashable_boot_unsigned.zip workdir/これは再帰的な関数であり、すべてをmy_custom_flashable_boot_unsigned.zipというファイルに圧縮します

最後に、zipファイルに署名するには、次のコマンドを発行します。

java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip

次に、SDカード全体にプッシュしadb push my_custom_flashable_boot_signed.zip /sdcard/、手動でリカバリを開始して、フラッシュを実行するzipアーカイブ(つまりmy_custom_flashable_boot_signed.zip)を指定します。


いいです、私は自分でものを作るのが好きなので、優れた指示書です。私のSDカードのフォルダーにあるすべてのROMのフラッシュ可能なブートzipを取得できるため、このためにコンピューターが必要になるのは問題ではありません。
MarioDS

2

flash_imageバイナリがある場合は、端末エミュレータを介してデバイスで実行できます(フラッシュブート、残りはリカバリを使用)。

構文: flash_image boot /sdcard/boot.img

セルフプロモーション時間

バイナリのGUIを提供するアプリがあります。こちらで見つけてください

そのバイナリがない場合は、インストールできます(Google it-ダウンロードして、/system/binフォルダにコピーする必要があります。

これはすべてのデバイスで機能するわけではありませんが、思い浮かぶ唯一の方法です。


私がよく理解しているのであれば、ターミナルエミュレータは、通常のモードで電話を起動しているときに実行する通常のアプリにすぎませんか?OSの実行中にフラッシュブートの問題が発生しませんか?
MarioDS

1
@MarioDeSchaepmeester電話は、起動中にのみbootを使用します;)
Liam W

flash_image使用してハンドセットからコピーして呼び出す必要があるのでadb shellドキュメントをダウンボットする必要がありました。ドキュメント私が追加してもよいですが、リンキーを提供できませんでした)は、execビットセット(*悪い考え)でSDカードを再マウントするように求めています。 rootが必要です。つまりsu、アプリに関連する「自己宣伝」は、ユーロで表示されますが、6,09ユーロです。これは高価です... fastbootが標準であり、CMには独自の風変わりな方法があります、 -と異なるものだfastbootflash_image
t0mm13b 2012

また、バイナリはコンピュータなしで使用できます。
Liam W

0

このブートイメージをTWRPでフラッシュすることはできますか[...]?

ファイルの名前を変更boot.emmc.winをして、それを置くTWRP/BACKUPS/(新しいフォルダを作成します)。通常のTWRPメニューからバックアップを復元する

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.