Flash boot.img tanpa menggunakan fastboot USB

10

Jadi saya baru saja me-root ponsel saya dan mencoba satu atau dua ROM. Saya merasa sangat berguna bahwa Anda dapat menggunakan pemulihan TWRP untuk menginstal ROM lain dari kartu SD, Anda tidak perlu memilikinya terhubung ke PC.

Namun, pada perangkat saya (HTC One S) saya perlu mem-flash file boot.img yang berbeda untuk setiap ROM juga, jadi saya masih perlu menghubungkan ponsel saya ke PC saya untuk beralih ROM. Jika saya tidak melakukan ini, itu hanya akan macet di layar memuat. Maka saya harus menggunakan perintah

fastboot flash boot boot.img

dari folder tempat boot.img berada.

Apakah mungkin untuk mem-flash image booting ini dengan TWRP atau cara lain tanpa menggunakan fastboot melalui USB?

MarioDS
sumber

Jawaban:

10

Yang perlu dilakukan adalah bundel boot.img dan membuat file zip baru yang cocok untuk melakukan flashing melalui ClockworkMod atau TWRP.

Prasyarat :

  • lingkungan Linux yang memiliki paket pengembangan biasa, seperti Java yang diinstal. ( Ini juga dapat diterapkan pada platform lain, hanya berhati-hatilah karena petunjuk di sini menunjukkan jalur yang digunakan di bawah ini, menggunakan garis miring /, jadi balikkan itu menjadi garis miring \untuk lingkungan Windows khususnya! )
  • alat baris perintah adb diinstal.
  • `testsign.jar' alat , untuk menandatangani file zip sehingga pemulihan dapat mengotentikasi dan memverifikasi itu adalah arsip yang valid jika pemulihan akan melaporkan arsip korup atau serupa.
  • update-binaryaplikasi command line , yaitu internal untuk penggunaan dengan skrip yang dapat di-flash. (Ini dapat ditemukan dengan setiap zip flashable, yang penting adalah untuk mengekstrak biner itu dan disimpan dalam struktur direktori seperti yang ditunjukkan)
  • alat baris perintah zip.

Dengan asumsi direktori Anda disebut workdir , untuk diskusi, mari kita sebut ini direktori kerja, salin boot.imgke direktori itu, dan buat struktur direktori berikut - META-INF/com/google/android, ini penting! Dan di dalam META-INF/com/google/android, salin aplikasi biner yang dipanggil update-binaryke direktori itu. Jadi struktur direktori harus seperti ini:

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

Adapun updater-script, salin konten berikut di bawah ini:

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! :)");

Ingat: Jangan bingung di sini, skrip updater seperti yang ditunjukkan, harus dibiarkan sendiri dan apa adanya, jadi jangan coba membalikkan garis miring ke garis miring jika melakukan ini di lingkungan Windows.

Kembali ke induk struktur direktori, yaitu di luar workdir dan lakukan hal berikut, kita akan membuat file zip dari ini:

zip -r my_custom_flashable_boot_unsigned.zip workdir/yang merupakan fungsi rekursif, ini akan mem- zip semuanya ke dalam file bernama my_custom_flashable_boot_unsigned.zip .

Akhirnya, untuk menandatangani file zip, terbitkan:

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

Kemudian itu masalah mendorong yang melintasi SDCard seperti dalam adb push my_custom_flashable_boot_signed.zip /sdcard/dan secara manual masuk ke pemulihan dan tentukan arsip zip (yaitu my_custom_flashable_boot_signed.zip ) di mana ia akan melakukan flashing untuk Anda.

t0mm13b
sumber
Bagus, saya suka membuat sendiri instruksi yang sangat bagus. Bukan suatu titik bahwa saya akan membutuhkan komputer saya untuk ini, karena saya hanya bisa mendapatkan zip bootable flashable untuk semua ROM saya pada folder kartu SD saya, yang akan mengarah pada situasi yang saya inginkan.
MarioDS
2

Jika Anda memiliki flash_imagebiner, maka Anda dapat melakukannya pada perangkat melalui terminal emulator (boot flash, lalu sisanya menggunakan pemulihan).

Sintaksis: flash_image boot /sdcard/boot.img

Waktu Promosi Sendiri

Saya memiliki aplikasi yang menyediakan GUI untuk biner. Temukan di sini .

Jika Anda tidak memiliki biner itu, ia dapat diinstal (Google-lah - Anda harus mengunduhnya lalu menyalinnya ke /system/binfolder.

Ini tidak berfungsi pada semua perangkat, namun itu satu-satunya cara yang muncul dalam pikiran.

Liam W
sumber
Jika saya mengerti dengan baik, terminal emulator hanyalah aplikasi biasa yang Anda jalankan ketika ponsel Anda boot dalam mode normal? Apakah itu tidak memberikan masalah flashing boot saat OS sedang berjalan?
MarioDS
1
@MarioDeSchaepmeester Ponsel ini hanya menggunakan boot saat boot;)
Liam W
Harus downvote, karena flash_imagememiliki persyaratan untuk disalin dan dipanggil dari handset menggunakan adb shell, dokumentasi ( boleh saya tambahkan, Anda gagal memberikan linky!) Meminta untuk me-remount SDCard dengan set bit exec (* ide buruk ) dan membutuhkan root yaitu su, lebih jauh dari itu, "promosi diri" dalam kaitannya dengan aplikasi Anda, dalam euro, dari mana saya berasal, adalah € 6,09 yang mahal ... fastboot adalah norma, CM memiliki cara unik mereka sendiri , - apa bedanya dengan fastbootdan flash_image?
t0mm13b
Juga biner dapat digunakan tanpa komputer.
Liam W
0

Apakah mungkin untuk mem-flash gambar boot ini dengan TWRP [...]?

ganti nama file boot.emmc.win dan letakkan di TWRP/BACKUPS/(buat folder baru). pulihkan cadangan dari menu TWRP biasa

alecx
sumber