Flash boot.img без використання Fastboot USB


10

Тому я нещодавно вкоренив телефон і спробував ROM чи два. Мені здається, дуже зручно, що ви можете використовувати відновлення TWRP для встановлення іншого ПЗУ з карти SD, вам не потрібно мати його підключення до ПК.

Однак на моєму пристрої (HTC One S) мені також потрібно прошивати інший файл boot.img для кожного ПЗУ, тому мені ще потрібно підключити телефон до ПК, щоб переключити ПЗУ. Якщо я цього не роблю, він просто застряє на екрані завантаження. Тоді я повинен використовувати команду

fastboot flash boot boot.img

з папки, де знаходиться boot.img.

Чи можна прошивати це завантажувальне зображення за допомогою TWRP чи будь-яким іншим способом без використання швидкої завантаження через USB?

Відповіді:


10

Що потрібно зробити, це згрупувати boot.img і сконструювати новий поштовий файл, придатний для прошивки через ClockworkMod або TWRP.

Попередні реквізити :

  • середовище Linux, у якому встановлені звичні пакети розробки, наприклад, Java. ( Це може застосовуватися і до інших платформ. Будьте обережні, щоб інструкції, що вказують на шлях, що використовується нижче, використовували косу рису вперед /, тому переверніть цю сторону, щоб бути задньою косою рисою \особливо для середовища Windows! )
  • інструмент командного рядка adb встановлений.
  • інструмент `testingign.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 -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

Тоді справа в тому, щоб просунути по SDCard як в adb push my_custom_flashable_boot_signed.zip /sdcard/і вручну перейти до відновлення та вказати той zip-архів (тобто my_custom_flashable_boot_signed.zip ), у якому він буде виконувати миготіння для вас.


Приємно, я люблю створювати собі речі настільки відмінні інструкції. Це не сенс, що мені потрібен мій комп’ютер для цього, тому що я можу просто отримати запам’ятовувані завантажувальні моменти для всіх моїх ПЗУ у папці моєї SD-карти, що призведе до бажаної ситуації.
MarioDS

2

Якщо у вас є flash_imageдвійковий файл, ви можете зробити це на пристрої через термінальний емулятор (флеш-завантаження, потім решта за допомогою відновлення).

Синтаксис: flash_image boot /sdcard/boot.img

Час самореклами

У мене є додаток, який забезпечує графічний інтерфейс для двійкового файлу. Знайдіть його тут .

Якщо у вас немає цього бінарного файлу, його можна встановити (Google це - вам потрібно завантажити його, а потім скопіювати у /system/binпапку.

Це працює не на всіх пристроях, проте це єдиний спосіб, який спадає на думку.


Якщо я добре розумію, термінальний емулятор - це лише звичайний додаток, який ви запускаєте під час завантаження телефону у звичайному режимі? Чи не виникне проблем із миготливим завантаженням під час роботи ОС?
MarioDS

1
@MarioDeSchaepmeester У телефоні використовується завантаження лише під час завантаження;)
Liam W

Довелося downvote її, як flash_imageє вимога , щоб скопіювати і викликати з телефонної трубки , використовуючи adb shell, документацію ( можу я додаю, ви не в змозі забезпечити Linky!) Просимо перемонтувати SDCard з ехесом бітом (* погана ідея ) і вимагає кореня, тобто su, крім цього, "самореклама" стосовно вашого додатка, в євро, звідки я берусь, - 6,09 євро, що дорого ... швидка завантаження - це норма, CM має свої вигадливі способи , - чим відрізняється fastbootі flash_image?
t0mm13b

Також двійковий файл можна використовувати без комп’ютера.
Ліам Ш

0

Чи можна прошивати це завантажувальне зображення за допомогою TWRP [...]?

перейменуйте файл boot.emmc.win і помістіть його TWRP/BACKUPS/(створити нову папку). відновити резервну копію зі звичайного меню TWRP

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.