recovery img что это



Boot img что это

Автор Имя Фамилия задал вопрос в разделе Мобильные устройства

Где находится файл boot.img в телефоне? и получил лучший ответ

Ответ от
получить образ recovery.img из boot.img, при условии что у нас на руках имеется только update.zip от прошивки телефона. Собственно на написание этого гайда меня сподвиг один из читателей моего блога, который умудрился зашить в Билайн Смарт Dual recovery от абсолютно другого аппарата и попросил о помощи. Прошивок под SP Flash Tool для данного аппарата мне найти не удалось (в этом случае все было бы намного проще, так как там образ стокового recovery уже лежит отдельно), но зато был найден update.zip от данного аппарата.
Вообщем все не просто, а очень просто. Единственное для работы нам понадобится любой телефон на Android с root-доступом и adb. Первое что мы делаем это извлекаем из архива с прошивкой update.zip следующие файлы:
boot.img - образ раздела boot
recovery-resource.dat (можно взять в systemetc) - набор ресурсов для добавления в образ recovery, так называемый bonus-file.
recovery-from-boot.p (в update
ecovery) - файл патча (diff), который собственно и поможен нам преобразовать boot.img в recovery.img
install-recovery.sh (update
ecoveryetc) - скрипт который используется ОС Android в штатном режиме, для восстановления раздела recovery из boot.
Далее все очень просто, смотрим в install-recovery.sh, оттуда нам понадобятся значения SHA1-хешей boot.img, recovery.img и самого патча. В моем случае это строка:
applypatch -b /system/etc/recovery-resource.dat EMMC:boot:4257792:294140ba217ceba662050400bb9488f494b6362b EMMC:recovery 3e9baf0e1ef24480a92d92c5566244a240480fcc 4634624 294140ba217ceba662050400bb9488f494b6362b:/system/recovery-from-boot.p
Теперь заливаем все перечисленные в списке файлы в любое устройство на Android через ADB. Я залил их в папку /data/local/tmp/recovery. Далее изучаем синтаксис утилиты applypatch (кстати ее исходники и собранный бинарник под Linux, если вы, например, хотите собрать ее самостоятельно или использовать ПК с Linux вместо телефона на Android, можно взять здесь):
usage: applypatch [-b ]
[: ...]
or applypatch -c [ ...]
or applypatch -s
or applypatch -l
Filenames may be of the form
MTD::::::...
to specify reading from or writing to an MTD partition.
После чего копируем boot.img в recovery.img, например так - cp /data/local/tmp/boot.img /data/local/tmp/recovery.img ...и выполняем следующую команду, уже через ADB на Android устройстве:
applypatch -b /data/local/tmp/recovery/recovery-resource.dat /data/local/tmp/recovery/boot.img /data/local/tmp/recovery/recovery.img 3e9baf0e1ef24480a92d92c5566244a240480fcc 4634624 294140ba217ceba662050400bb9488f494b6362b:/data/local/tmp/recovery/recovery-from-boot.p
Здесь:
bonus-file: -b /data/local/tmp/recovery/recovery-resource.dat
src-file: /data/local/tmp/recovery/boot.img
tgt-file: /data/local/tmp/recovery/recovery.img
tgt-sha1: 3e9baf0e1ef24480a92d92c5566244a240480fcc
tgt-size: 4634624
:: 294140ba217ceba662050400bb9488f494b6362b:/data/local/tmp/recovery/recovery-from-boot.p
Где src-sha1 - это SHA1 хеш исходного файла, tgt-sha1 - это SHA1 хеш результирующего файла, который должен получиться в результате применения патча.
В результате в файле recovery.img, в который изначально мы скопировали boot.img, получится образ recovery.img, полученный применением патча recovery-from-boot.p. Как вы уже поняли, чтобы воспользоваться applypatch нам необходимо знать размер и SHA1 recovery, который должен получиться в итоге (tgt-sha1 и tgt-size), именно эти значения мы и взяли из install-recovery.sh.
Т. е. в процессе работы applypatch к boot.img применяется патч recovery-from-boot.p, после чего размер и sha1-хеш полученного файла сравниваются с указанным

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Где находится файл boot.img в телефоне?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*