Где находится файл 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 (можно взять в system\etc) — набор ресурсов для добавления в образ recovery, так называемый bonus-file.
recovery-from-boot.p (в update\recovery) — файл патча (diff), который собственно и поможен нам преобразовать boot.img в recovery.img
install-recovery.sh (update\recovery\etc) — скрипт который используется ОС 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-хеш полученного файла сравниваются с указанным
я смотрю вы шарите
я смотрю он не шарит, а скопировал где то ответ на другой вопрос. Вопрос был: Где в телефоне находится boot.img?
.Профи (847) 6 месяцев назад
Я так понял, что нигде. Ее нужно грузить с официального сайта. Вот к примеру
https://magiskzip.com/how-to-get-boot-img-for-magisk/
Magisk Apk is a popular tool in the Android community that allows users to gain root access on their devices while also providing the ability to hide this root access from certain apps that might not work on rooted devices. Magisk is often used to modify or customize Android devices beyond what the manufacturer intended.
Извлеките Boot.img напрямую с устройства без загрузки прошивки
В этом руководстве мы покажем вам шаги по извлечению файла boot.img непосредственно с вашего устройства, даже без необходимости загрузки прошивки. Чтобы полностью раскрыть потенциал своего устройства, первый шаг требует разблокировки загрузчика устройства. Как только вы это сделаете, вы сможете опробовать множество модов и настроек. Но для большинства этих настроек требуются права администратора. Другими словами, ваше устройство должно быть рутировано через Magisk.
Теперь есть два разных метода, с помощью которых вы можете выполнить указанную задачу. Первый — напрямую прошить приложение Magisk через TWRP. Тогда второй способ заключается в извлечении файла boot.img из стоковой прошивки, прошивке через Magisk и прошивке через Fastboot. Однако у этого метода есть две основные проблемы. Во-первых, это требует загрузки всей прошивки, что не только истощает ваши данные, но и приводит к ненужной трате времени.
Затем вторая и более важная проблема заключается в том, что вам необходимо получить ту же самую версию прошивки, которая в настоящее время установлена на вашем устройстве. Если вы в конечном итоге прошьете boot.img с неправильным номером сборки, это сразу приведет к зацикливанию загрузки или заблокированному устройству. Следовательно, как вы могли заметить, обе эти проблемы возникают из-за прошивки, так или иначе. А что если взять из этой картинки стоковую прошивку? Что ж, как бы странно это ни звучало, такое вполне возможно.
Вместо загрузки файла прошивки мы извлекли бы файл boot.img напрямую из прошивки, которая уже установлена на вашем устройстве. Таким образом, вы можете быть абсолютно уверены, что стандартный файл boot.img имеет ту же версию, что и установленная на вашем устройстве. Итак, теперь, когда вы знаете о преимуществах этого метода, давайте начнем с инструкций по извлечению файла boot.img непосредственно с вашего устройства без загрузки прошивки.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Извлеките Boot.img напрямую с устройства без загрузки прошивки

Приведенные ниже инструкции перечислены в отдельных разделах для простоты понимания. Обязательно следуйте в той же последовательности, как указано. Droidwin и его участники не будут нести ответственность в случае термоядерной войны, если ваш будильник не разбудит вас, или если что-то случится с вашим устройством и данными, выполнив следующие шаги.
Установите пакет SDK для Android

Прежде всего, вам нужно будет установить Android SDK Platform Tools на свой компьютер. Это официальный бинарный файл ADB и Fastboot, предоставленный Google, и единственный рекомендуемый. Поэтому загрузите его, а затем распакуйте в любое удобное место на вашем ПК. Это даст вам папку инструментов платформы, которая будет использоваться в этом руководстве.
Включить отладку по USB

Далее вам нужно будет включить отладку по USB на вашем устройстве. Это сделает ваше устройство узнаваемым ПК в режиме ADB. Итак, перейдите в «Настройки»> «О телефоне»> «Семь раз нажмите на номер сборки»> «Вернитесь в «Настройки»> «Система»> «Дополнительно»> «Параметры разработчика»> «Включить отладку по USB и разблокировку OEM».
Установить TWRP рекавери
Для этого процесса вам необходимо установить TWRP Recovery. Если это не так, обратитесь к нашему подробному руководству по установке TWRP Recovery на Android. В руководстве также перечислены инструкции по временной загрузке устройства в TWRP. Вы также можете попробовать это, если хотите установить TWRP для одноразового использования.
Загрузите устройство в TWRP Recovery

- Подключите ваше устройство к ПК через USB-кабель. Убедитесь, что отладка по USB включена.
- Затем перейдите в папку инструментов платформы, введите CMD в адресной строке и нажмите Enter. Это запустит командную строку.
- Введите следующую команду в окне CMD, чтобы загрузить ваше устройство в TWRP Recoveryadb reboot recovery
Извлеките Boot.img через TWRP
- Когда ваше устройство загружено в TWRP и подключено к ПК, введите приведенную ниже команду в окне CMD, которое открывается в папке инструментов платформы: dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/ boot.img

- Как только вы выполните указанную выше команду, ваше устройство извлечет стоковый boot.img из установленной прошивки. Затем он поместит этот файл boot.img во внутреннее хранилище (а не в какую-либо папку).
- Хотя это необязательно, но я настоятельно рекомендую вам также сделать резервную копию этого файла на свой компьютер. Для этого используйте следующую команду: adb pull /sdcard/boot.img stock_boot.img

- Как только вы это сделаете, копия boot.img будет помещена в папку platform-tools. он будет называться stock_boot.img.
- В любом случае, теперь, когда процесс завершен, вы можете перезагрузить устройство в ОС. Для этого перейдите в «Перезагрузить» и выберите «Система».

- Как только ваше устройство загрузится, установите приложение Magisk и исправьте через него этот файл boot.img. Это даст вам файл magisk_patched.img, который вы затем сможете прошить с помощью команд Fastboot и, следовательно, получить root права на свое устройство!
Итак, это все было из этого руководства о том, как вы можете извлечь файл boot.img прямо с вашего устройства, не загружая прошивку. Если у вас есть какие-либо вопросы относительно вышеупомянутых шагов, сообщите нам об этом в комментариях. Мы вернемся к вам с решением в ближайшее время.
Извлеките Boot.img через файл сценария
Если вы не хотите вручную выполнять команды в CMD внутри, о которых мы упоминали выше, то есть альтернативный выход. Член XDA КиошиДев создал файл сценария, который делает то же самое. Вам нужно только запустить файл, а всю остальную работу сделает скрипт.

Если у вас есть какие-либо сомнения относительно этого файла, вы можете получить доступ к его коду на GitHub и проверить его самостоятельно. Или даже отредактируйте пакетный файл с помощью расширенного текстового редактора и повторно проверьте содержимое этого файла (см. изображение выше). Что касается предварительных условий, они точно такие же, как и раньше: инструменты платформы Android SDK, разблокированный загрузчик и восстановление TWRP, установленные на вашем устройстве.
После того, как вы загрузили его, распакуйте его в папку с инструментами платформы, загрузите свое устройство в Fastboot, подключите его к ПК через USB и, наконец, запустите файл сценария.
Вывод: действительно ли нам нужен этот метод?
У этого процесса определенно есть контраргумент. Самым большим из них является тот факт, что, поскольку для этого процесса требуется TWRP, не лучше ли было бы напрямую прошить ZIP-файл Magisk через TWRP вместо выполнения вышеупомянутых шагов? Что ж, это действительно искреннее сомнение.
И нет лучшего способа ответить на этот вопрос, чем поделиться тем же самым примером из реальной жизни. Итак, недавно возникли некоторые проблемы с загрузочным разделом, которые привели к зацикливанию загрузки устройства. Исправление было довольно простым — прошить стандартный файл boot.img. И чтобы заполучить этот файл, мне уже не нужно было качать всю прошивку, скорее пригодился сделанный мной бэкап.
Что ж, это лишь одно из многих преимуществ этого метода, других может быть бесчисленное множество. Поделитесь с нами своим мнением в комментариях о том, что вы думаете об этом руководстве, чтобы извлечь файл boot.img непосредственно с вашего устройства, не загружая прошивку.
Как извлечь файл образа загрузки, переименовать в файл .tar и прошить через ODIN
Если вы используете Samsung Galaxy Устройство со стоковой прошивкой и столкнувшиеся с некоторыми проблемами с загрузчиком или проблемой bootloop, полностью прочитайте это руководство. Вот руководство о том, как извлечь файл образа загрузки, переименовать в файл .tar и прошить с помощью ODIN Flash Tool легко. Всякий раз, когда мы загружаем любую стоковую прошивку для любого смартфона, она поставляется с расширением zip-файла, и мы должны ее прошить. Этот стандартный файл прошивки содержит систему, поставщика, кэш, загрузочный образ и так много файлов для бесперебойной работы устройства. Теперь, если вам нужен только файл образа загрузки, вам нужно сначала загрузить исходное ПЗУ.
После загрузки на ваш компьютер zip-файла стоковой прошивки, вы должны извлечь его и найти файл образа загрузки. Теперь, если вы хотите перенести этот загрузочный образ на ваше устройство с помощью Odin flash tool от Samsung, вам нужно переименовать расширение образа в расширение .tar.
Что такое образ загрузки?
Загрузочный образ – это тип системного образа (для компьютера или мобильного устройства), который содержит системную структуру и структуру различных файлов. Когда он переносится на загрузочное устройство, он позволяет соответствующему оборудованию инициировать процесс загрузки.
Получение boot.img из исходников ядра.
Есть исходники Android 5.1 Для Xperia E5603. Вопрос: Как «выдернуть» оттуда boot.img ? adb shell-ом «выдергивание» конкретно с девайса не помогает. Ибо дальше «adb shell» больше ничего нельзя сделать. Девайс не понимает команду «su»

Loli_Desu
03.02.16 21:54:58 MSK

исходники или таки образ прошивки?
exception13 ★★★★★
( 03.02.16 22:09:08 MSK )
Ответ на: комментарий от exception13 03.02.16 22:09:08 MSK

Скорее архив с ядром и прочими файлами.
Loli_Desu
( 03.02.16 23:00:06 MSK ) автор топика

Reset+Volume_up — вход в бутлоадер. Обычно оттуда можно забэкапить все на SD-карту.
Но ядро и рамдиск НЕ лежат на разделе с файловой системой, Вы там не увидите каталога \boot. Под это дело (ядро и рамдиск) во внутренней флеш памяти выделены непрерывные области с фиксированными адресами, о которых знает только загрузчик.
bugs-bunny ★
( 04.02.16 17:56:37 MSK )

Вообще не совсем понятно, что же ТС имеет ввиду?
Образ ядра собрать из исходников Android (как следует из заголовка)? Там нет исходников kernel. Для каждой машинки kernel собирается производителем отдельно с кучей патчей и специфическими драйверами. Эти патчи получить — проблема.
Или выдернуть старый kernel из флеша (как следует из текста)?
bugs-bunny ★
( 04.02.16 18:06:55 MSK )

Потому что телефон не рутованый и/или не стоит busybox.
Получай рут для своего телефона и ставь busybox (обычно эти процедуры выполняются вместе) и будет тебе su.