How to extract boot.img from stock firmware

Get stock boot image for google pixel devices for rooting

When is the need to extract boot.img?

Boot Image is required generally for developers when they are building source code or modifying the source code. Non-developers may also need the boot.img in many cases such as in the case of rooting an Android phone using a patched boot image. Boot.img is also required if you want to fix bootloop problems.

Every smartphone brand has a different firmware format and so does the boot.img location on a firmware can vary. And this is the reason you need to follow a different procedure to extract boot.img from OnePlus ROM. Now if you want to extract the boot image or any system image from OnePlus firmware, then you can follow the below instructions.

2 способа объединения файлов

С практической точки зрения, с точки зрения поиска файлов можно выделить 2 способа объединить файлы:

1. Файлы хранятся без изменения, в своём начальном виде.

Пример такого объединения файлов это файловые системы без шифрования и без сжатия. Например, EXT4, NTFS — в них файлы помещены в своём первоначальном виде. Соответственно, образы таких файловых систем также относятся к этой группе. Сюда же можно отнести некоторые прошивки, например, для роутеров и IP камер.

Понятно, что в таких больших файлах (образах) можно найти хранимые файлы. Более того, хранимые файлы можно извлечь и сохранить в виде самостоятельного файла, который будет идентичен исходному.

2. Файлы обрабатываются по определённому алгоритму.

Примеры такого способа объединения файлов это файловые системы с шифрованием или сжатием (например, Squashfs), архивы со сжатием.

Для поиска отдельных файлов по их сигнатурам необходимо выполнить обратное действие, то есть если файл был сжат, необходимо его разархивировать. Если это файловая система со сжатием, то необходимо её смонтировать.

С практической точки зрения это означает, что бесполезно искать файлы по сигнатурам в архивах, пока эти архивы не распакованы (НО: некоторые программы по анализу сырых данных поддерживают работу с архивами!). Бесполезно искать файлы по сигнатурам в файловой системе Squashfs до её монтирования. При этом можно применять поиск по сигнатурам в EXT4 и NTFS и их монтирование не требуется!

Монтирование, например, образа NTFS даст нам следующее: мы сможем получать доступ к файлам этой файловой системы тем способом, каким это предусмотрели разработчики, то есть мы увидим список файлов и сможем получить доступ к любому из них без необходимости искать файлы по сигнатурам. Но при этом мы не сможем получить или даже узнать об уже удалённых файлах.

Без монтирования образа NTFS мы сможем работать с хранящимися на нём файлами напрямую, то есть с одной стороны нам придётся искать файлы по сигнатурам, но с другой стороны мы получим доступ даже к удалённым файлам. Удалённые файлы доступны в результате того, что обычно удаление на HDD заключается в том, что информация о файле просто удаляется из «журнала» файловой системы, но сам файл остаётся там же, где и был (если его впоследствии случайно не перезаписали другим файлом). Что касается с SSD, то там обычно данные всё-таки удаляются.

Ничего не мешает комбинировать эти способы, причём криминалистические инструменты позволяют сделать поиск удалённых данных более эффективным, например, поиск удалённых файлов выполняется только на тех частях диска, которые считаются пустыми.

Меняем анимацию загрузки

Анимация хранится в виде PNG-картинок, упакованных в архив /system/media/bootanimation.zip без сжатия. Внутри архива находятся:

  • desc.txt
    — файл, описывающий анимацию;
  • part0
    — папка с файлами анимаций, которые воспроизводятся первыми;
  • part1
    — папка с файлами анимаций, которые воспроизводятся вторыми;
  • part?
    — крайняя папка, изображения с которой воспроизводятся в конце.

Файл desc.txt может содержать нечто вроде

1920 1080 60
p 1 0 part0
p 0 0 part1

Назначение этих строк интуитивно понятно: 1920 × 1080 — разрешение картинки, 60 — число кадров в секунду. Part0 и part1 указывают на папки, из которых будет воспроизводиться анимация, и последовательность воспроизведения. Вообще, может быть как одна часть, так и несколько (три и больше).

Изображения, находящиеся в папках part, пронумерованы пятью цифрами в порядке воспроизведения: 00000.png , 00001.png , 00002.png … Эти изображения можно поменять на свои, тем самым создав оригинальную анимацию. А можно просто удалить файл bootanimation.zip . Тогда девайс будет показывать анимацию из стандартного Android. Или воспользоваться уже готовой коллекцией анимаций на 4PDA .

14.6. Корректная процедура выполнения практического задания: системный загрузчик

0. Выясните, какой из системных загрузчиков используется на вашем компьютере: lilo, grub или grub2. Выполняйте только те практические задания, которые выполнимы в рамках вашей системы.

1. Создайте копию исполняемого файла ядра ОС, файла виртуального диска initrd и файла System.map в директории /boot. Разместите копии в той же директории /boot, заменив в именах 2.x или 3.x на 4.0 (просто представьте, что состоялся выпуск ядра Linux версии 4.0).

# uname -r
2.6.32-431.11.2.el6.x86_64
# cp System.map-2.6.32-431.11.2.el6.x86_64 System.map-4.0
# cp vmlinuz-2.6.32-431.11.2.el6.x86_64 vmlinuz-4.0
# cp initramfs-2.6.32-431.11.2.el6.x86_64.img initramfs-4.0\
.img

Не забывайте о том, что файл initrd (или initramfs) имеет расширение .

2. Добавьте в файл конфигурации системного загрузчика grub станс для загрузки файлов версии 4.0. Убедитесь в том, что вы используете отличное название пункта меню загрузки.

# cut -c1-70 menu.lst | tail -12
title CentOS (4.0)
        root (hd0,0)
        kernel /vmlinuz-4.0 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS L
        initrd /initramfs-4.0.img
title CentOS (2.6.32-431.11.2.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.11.2.el6.x86_64 ro root=/dev/mapper/VolGro
        initrd /initramfs-2.6.32-431.11.2.el6.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv
        initrd /initramfs-2.6.32-431.el6.x86_64.img
#

3. Установите длительность периода ожидания перед загрузкой операционной системы, равную 30 секундам.

# vi menu.lst
# grep timeout /boot/grub/grub.conf
timeout=30

4. Перезагрузите компьютер и проверьте работоспособность нового станса.

# reboot

Выберите ваш станс и в том случае, если произойдет загрузка операционной системы, вы выполнили практическое задание корректно.

Предыдущий раздел: Оглавление Следующий раздел:
Глава 13. Знакомство с технологией резервирования каналов передачи данных   Глава 15. Инициализация системы и уровни исполнения

Способы открыть boot img на андроид

Методы открытия образа системного раздела Android, известного как boot.img, могут быть полезны в различных ситуациях. Например, если вы хотите изучить или изменить содержимое образа, или если вы столкнулись с проблемой, связанной с загрузкой устройства.

Вот несколько способов открыть boot.img на устройствах Android:

  1. Используя программу Magisk Manager. Magisk — это инструмент, который позволяет получить root-доступ и управлять модулями для Android. Вы можете установить Magisk Manager на свое устройство и использовать его для открытия образа boot.img. Программа предоставляет интерфейс для просмотра и редактирования содержимого образа.
  2. Используя программу Android Image Kitchen. Это утилита командной строки для работы с образами Android, включая образы boot.img. Вы можете скачать Android Image Kitchen и использовать его для извлечения, просмотра и редактирования содержимого образа. Утилита предоставляет различные команды и опции для работы с образами, а также возможность создания новых образов из отдельных файлов.
  3. Используя программу 7-Zip. Хотя 7-Zip является программой для работы с архивами, вы также можете использовать ее для открытия образа boot.img. Программа распознает образ как архив и позволяет вам просмотреть содержимое и извлечь файлы из него. Просто откройте образ в 7-Zip и просмотрите его содержимое.

Это лишь несколько способов открытия boot.img на устройствах Android. В зависимости от ваших потребностей и предпочтений, вы можете выбрать подходящий способ и использовать его для открытия и работы с образами boot.img.

Recovery, Edify и Aroma Installer

Обнаружив зажатую клавишу увеличения громкости, aboot делает почти то же самое, что и при обычной загрузке, но использует вместо boot раздел recovery. Разделы идентичны по своему формату и зачастую включают в себя одно и то же ядро, однако содержимое RAM-диска существенно отличается. Если в случае с разделом boot назначение RAM-диска — создать начальные условия для дальнейшей загрузки системы, то recovery — это мини-ОС, способная работать обособленно.

Стоковый recovery очень прост. Все, что содержит его RAM-диск, — это исполняемый файл и (не всегда) набор фоновых изображений в каталоге или любом другом. При загрузке ядро Linux запускает , а тот выводит на экран простенькое меню, с помощью которого можно установить прошивку, подписанную цифровым ключом производителя, или произвести сброс до заводских настроек.

Кастомные recovery намного сложнее. Это уже не просто меню с фоновым рисунком, но целая операционная система, способная устанавливать какие угодно прошивки, делать бэкап, форматировать разделы и многое другое. Современные версии TWRP так и вообще поддерживают управление с помощью тач-интерфейса, сменные шкурки, полностью изменяющие внешний вид recovery, пароль для входа и эмулятор терминала вместе с экранной клавиатурой. Плюс ко всему кастомные recovery включают в себя BusyBox (набор утилит командной строки Linux) и сервер ADB, работающий с правами root. Так что режим recovery очень удобно использовать для отладки и таких операций, как, скажем, дамп разделов. Например, раздела boot (пример для чипов Qualcomm):

Но главная задача recovery — это, конечно же, установка прошивок. Точнее, она была бы главной задачей, если бы в recovery была такая функция. На самом деле все, что делает recovery, когда ты нажимаешь «Install ZIP…» и выбираешь прошивку, — распаковывает ZIP-файл (обычно в раздел cache) и запускает файл внутри него. Именно update-binary выполняет установку прошивки, руководствуясь инструкциями из файла updater-script (он лежит рядом).

Сами инструкции написаны на языке Edify, включающем в себя набор команд, которые могут понадобиться при установке: mount, unmount, package_extract_file, symlink, run_program и другие. Мы не будем обсуждать здесь все эти команды, они достаточно просты, и, чтобы ознакомиться с ними, достаточно распаковать любую прошивку и открыть updater-script в текстовом редакторе. Скажу лишь, что обычно такие файлы генерируются автоматически при сборке системы из исходников и только авторы узкоспециализированных прошивок (содержащих только ядро, например) пишут их самостоятельно.

Фрагмент updater-script из CyanogenMod 12.1

Recovery не накладывает никаких ограничений на файл update-binary — главное, чтобы его можно было запустить. Это дает производителям возможность использовать вместо него любое приложение, способное запуститься поверх ядра Linux. Совсем не обязательно, чтобы оно вообще выполняло установку прошивки. В рамках проекта Aroma Installer развивается вариант update-binary, который позволяет создателям кастомных прошивок реализовать графический инсталлятор с выбором тех или иных вариантов и опций установки.

Автор Aroma Installer также создал Aroma Filemanager — полноценный менеджер файлов со встроенным эмулятором терминала. Чтобы его запустить, необходимо перезагрузиться в recovery и «прошить» ZIP-файл. Естественно, никакая прошивка выполнена не будет, ведь update-binary внутри ZIP-файла — это только файловый менеджер, он не выполняет никаких операций установки.

Эмулятор терминала, встроенный в Aroma Filemanager

«Фиктивный» update-binary часто используется для распространения разного рода скриптов. Гораздо проще переименовать скрипт в update-binary, запаковать в ZIP-файл и попросить человека «прошить» его, чем объяснять, как запускать скрипты с помощью ADB. Именно так поступил osm0sis со своим скриптом разблокировки загрузчика аппаратов линейки Nexus. Если ты скачаешь его ZIP-файл и взглянешь внутрь, то найдешь updater-binary, внутри которого обычный sh-скрипт.

Извлеките 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

  1. Подключите ваше устройство к ПК через USB-кабель. Убедитесь, что отладка по USB включена.
  2. Затем перейдите в папку инструментов платформы, введите CMD в адресной строке и нажмите Enter. Это запустит командную строку.
  3. Введите следующую команду в окне CMD, чтобы загрузить ваше устройство в TWRP Recoveryadb reboot recovery

Извлеките Boot.img через TWRP

  1. Когда ваше устройство загружено в TWRP и подключено к ПК, введите приведенную ниже команду в окне CMD, которое открывается в папке инструментов платформы: dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/ boot.img
  2. Как только вы выполните указанную выше команду, ваше устройство извлечет стоковый boot.img из установленной прошивки. Затем он поместит этот файл boot.img во внутреннее хранилище (а не в какую-либо папку).
  3. Хотя это необязательно, но я настоятельно рекомендую вам также сделать резервную копию этого файла на свой компьютер. Для этого используйте следующую команду: adb pull /sdcard/boot.img stock_boot.img
  4. Как только вы это сделаете, копия boot.img будет помещена в папку platform-tools. он будет называться stock_boot.img.
  5. В любом случае, теперь, когда процесс завершен, вы можете перезагрузить устройство в ОС. Для этого перейдите в «Перезагрузить» и выберите «Система».
  6. Как только ваше устройство загрузится, установите приложение Magisk и исправьте через него этот файл boot.img. Это даст вам файл magisk_patched.img, который вы затем сможете прошить с помощью команд Fastboot и, следовательно, получить root права на свое устройство!

Свободное место

Необходимо понимать, что место для установки прошивок ограниченно. Нельзя установить прошивку, размер которой перевешивает размер раздела system устройства. Посмотреть его значение можно, используя :

$ adb shell df /system

Второй вариант: поставить на устройство терминал и набрать команду

$ df /system

Размер раздела в байтах можно узнать, установив на смартфон BusyBox и выполнив в терминале команду

$ busybox df -B 1 /system

Или то же самое с помощью ADB:

$ adb shell busybox df -B 1 /system

Место, занимаемое прошивкой, будет приблизительно равно размеру system в распакованном виде. Вообще, при создании прошивки необходимо учитывать, что юзер также может прошить поверх нее различные модификации (SuperSU, Xposed) или перенести приложения в раздел system. Например, минимальный пакет приложений Google (Pico) требует минимум 150 Мбайт дополнительного пространства для установки.

При необходимости размер файла прошивки можно уменьшить, удалив не только ненужные программы из /system/app (/system/priv-app) и звуки вызова из system/media/audio и bootanimation.zip , но и:

  • /system/tts/lang_pico
    — языки примитивного голосового движка Pico TTS, голосовой движок Google это не затронет;
  • /system/usr/srec/config/
    — офлайн-языки. Можно будет скачать потом онлайн, если понадобится.

Какие программы для открытия IMG существуют

Наконец, переходим к главной части нашего обзора – выберем, какой программой открыть файл IMG можно с минимальными трудностями. Как вообще происходит работа с таким форматом? Варианта как и в случае с другими образами дисков два:

  1. Записать образ на диск CD/DVD и впоследствии прочитать его на обычном приводе.
  2. Воспользоваться одной из программ-эмуляторов виртуальных приводов, приведенных ниже.

Рассмотрим второй вариант более подробно. Для того, чтобы открыть файл формата IMG, можно воспользоваться следующими программами:

  • Nero Burning ROM – известный многим программный продукт, чаще всего используется для работы с образами другого формата — .nrg. Бесплатная версия отсутствует, необходимо приобретать лицензию;
  • Daemon Tools Lite – бесплатная облегченная версия может быть использована для открытия IMG;
  • UltraISO – проблем с поиском и скачиванием утилиты быть не должно. Программа легко устанавливается на компьютер, однако без покупки лицензии может работать лишь с файлами менее 200Мб. С помощью данной утилиты можно не только открыть файл формата img на виртуальном приводе, но и записать CD/DVD (с учетом озвученных ограничений).

Теперь вы точно знаете, как и чем открывать img на компьютере. Надеемся, что приведенная информация была полезной и в дальнейшем работа с данным форматом не вызовет у вас затруднений.

Среди множества различных форматов файлов IMG является, пожалуй, самым многогранным. И это неудивительно, ведь существует целых 7 его типов! Поэтому встретив файл с таким расширением, пользователю далеко не сразу удастся понять, что именно он из себя представляет: образ диска, изображение, файл из какой-нибудь популярной игры или геоинформационные данные. Соответственно, для открытия каждого из этих типов файлов IMG существует отдельное программное обеспечение. Попробуем разобраться в этом многообразии более детально.

В большинстве случаев, когда пользователь сталкивается с файлом в формате IMG, он имеет дело с образом диска. Делают такие образы для резервного копирования или для более удобного их тиражирования. Соответственно, открыть такой файл можно с помощью программ для прожига компакт-дисков, или смонтировав их в виртуальный привод. Для этого существует много разных программ. Рассмотрим некоторые из способов открытия данного формата.

Способ 1: CloneCD

Используя этот программный продукт, можно не только открывать файлы IMG, но и создавать их, снимая образ с компакт-диска, или записывать на оптический накопитель созданный ранее образ.

В интерфейсе программы легко разобраться даже тем, кто только начинает постигать азы компьютерной грамотности.
Она не создает виртуальных приводов, поэтому просмотреть содержимое файла IMG с ее помощью не получится. Для этого нужно воспользоваться другой программой или записать образ на диск. Вместе с образом IMG CloneCD создает еще два служебных файла с расширениями CCD и SUB. Для того, чтобы образ диска открылся корректно, он должен находится в одной директории с ними. Для создания образов DVD-дисков существует отдельная разновидность программы под названием CloneDVD.

Утилита CloneCD платная, но пользователю предлагается для ознакомления пробная 21-дневная версия.

Важные моменты при работе с boot img

Важными моментами при работе с boot img следует учитывать:

1. Работа с рут-доступом: Для работы с файлом boot img необходимо иметь рут-доступ к устройству. Рут-доступ предоставляет пользователю полные права на управление файлами и настройками операционной системы. Перед началом работы с образом загрузки, убедитесь, что ваше устройство поддерживает рут-доступ и вы установили соответствующее приложение.

2. Безопасное редактирование: Работа с файлом boot img потенциально опасна, так как неправильное редактирование может привести к неработоспособности устройства. Перед внесением изменений в образ загрузки рекомендуется создать резервную копию исходного файла, чтобы быть уверенным в возможности восстановления в случае проблем.

3. Использование специализированных инструментов: Для открытия и редактирования boot img рекомендуется использовать специализированные инструменты, такие как Android Image Kitchen или Binwalk. Эти инструменты позволяют извлечь, просмотреть и изменить содержимое образа загрузки, сохраняя при этом его структуру и целостность.

4. Знание файловой системы Android: Работа с boot img требует понимания файловой системы Android и структуры образа загрузки. При внесении изменений в образ загрузки необходимо учитывать правила и ограничения файловой системы, чтобы избежать ошибок и потери данных.

5. Тестирование после внесения изменений: После редактирования boot img рекомендуется провести тестирование устройства на стабильность и работоспособность. Запуск устройства с измененным образом загрузки может вызвать различные проблемы, поэтому рекомендуется провести тесты и убедиться, что все работает нормально.

How to extract payload.bin file

Here’s how you can get the boot.img, system.img, etc. files from a payload.bin file. Let’s see how to extract it:

Step 1: Install python for windows from here

  • 32 bit Windows
  • 64 bit Windows

Step 2: Run the installer and install Python. Make sure you also install PIP (installed by default under express installation, but if you opt for custom installation, make sure you tick the PIP checkbox).

Step 3: Installer will install Python in this location. Replace the your_windows_username_here part with your account’s username on the PC.

C:\Users\your_windows_username_here\AppData\Local\Programs\Python\Python37

Step 4: After you’ve successfully installed Python, you’ll need to install virtual environment on your Windows PC. Here’s how to install virtualenv:

4.1 Open Command Prompt.

4.2 Run the two commands given below to first change your directory in the CMD, and then set the path of the python scrips in the system PATH variable.

cd C:\Users\your_windows_username_here\AppData\Local\Programs\Python\Python37\Scripts

setx path C:\Users\your_windows_username_here\AppData\Local\Programs\Python\Python37\Scripts

Your command window will look like this.

Step 5: After it’s done successfully, run the command below

pip install virtualenv

A package will be downloaded and installed, and a success message will be generated containing the virtualenv version. Here’s how it will look:

Step 6: Now, you’ll need the PayLoad Dumper script/tool to do the remaining bit. Download PayLoad dumper from here.

Step 7: Extract Payload Dumper using free software like 7-zip. You will get payload_input and payload_output folders.

Step 8: Extract the ZIP file of the OTA update or firmware of your choice. You will get payload.bin file.

Step 9: Copy/move the payload.bin file to payload_input folder.

Step 10: Run payload_dumper.exe file by double-clicking on it.

Step 11: Let the script do its work. When done, it will extract all the content from payload.bin to payload_output folder. Pick your OTA file, recovery, boot, etc. from here.

Step 12:  As you can see, there’s no recovery image in this folder. It is because the boot image file doubles up also as a recovery image file here (in the case of Asus ZenFone 5Z). So, in order to flash stock recovery, you’ll need to flash the boot image file.

Для устройств Sony

Проверка подключения устройства Sony, если ответ 0.3 устройство, то тогда подключено:

fastboot.exe -i 0x0fce getvar version

Разблокировка bootloader Sony

fastboot.exe -i 0x0fce oem unlock 0xПолученый_Ключ

Более детальная информация по разблокировке Bootloader Sony — Как разблокировать Bootloader Sony .

Ошибка Waiting for Device

Если у вас долгое время в командном окне горит надпись waiting for device
— значит:

  • Не установлен или некорректно установлен драйвер — переустановить или установить
  • Устройство Android не в режиме Bootloader — перевести
  • Некорректное подключение к USB порту — использовать задние порты USB 2.0 компьютера, не использовать USB хабы

Combine new ramdisk with original kernel to form bootable image

If you’re still awake, we now need to recombine the kernel and ramdisk back into a bootable image (exactly the reverse of splitting them up in step 1). To do this, we use the mkbootimg tool in the tools directory. Remember the output from unmkbootimg in step 1? It specified the format of the mkbootimg command to use. First cd back up to the recovery directory, then execute the command as below.

cd ..
tools/mkbootimg --kernel zImage --ramdisk newramdisk.cpio.gz --base 0x40000000 --cmdline 'console=ttyS0,115200 rw init=/init loglevel=8' -o new_recovery.img

The output from this is a file new_recovery.img which is the new bootable recovery image (you hope!).

Extract Boot.img Directly from Device via TWRP

The below instructions are listed under separate sections for ease of understanding. Make sure to follow in the exact same sequence as mentioned. Droidwin and its members wouldn’t be held responsible in case of a thermonuclear war, your alarm doesn’t wake you up, or if anything happens to your device and data by performing the below steps.

Heads Up: This is the best method to get this job done as it will give you the boot.img depending on your current device status. If your device is non-rooted, then it’ll give you a stock boot.img. On the other hand, if your device is rooted, then it will give you the patched boot.img!

Install Android SDK

First and foremost, you will have to install the Android SDK Platform Tools on your PC. This is the official ADB and Fastboot binary provided by Google and is the only recommended one. So download it and then extract it to any convenient location on your PC. Doing so will give you the platform tools folder, which will be used throughout this guide.

Enable USB Debugging

Next up, you will have to enable USB Debugging on your device. It will make your device recognizable by the PC in ADB mode. So head over to Settings > About Phone > Tap on Build Number 7 times > Go back to Settings > System > Advanced > Developer Options > Enable USB Debugging and OEM Unlocking.

Install TWRP Recovery

For this process, you would need to have the TWRP Recovery installed. If that is not the case, then please refer to our comprehensive tutorial on How to Install TWRP Recovery on Android. The guide also lists out the instructions to temporarily boot the device to TWRP. You may try that out as well if you are just looking to install TWRP for one-time usage.

Boot Device to TWRP Recovery

  1. Connect your device to the PC via USB cable. Make sure USB Debugging is enabled.
  2. Then head over to the platform-tools folder, type in CMD in the address bar, and hit Enter. This will launch the Command Prompt.
  3. Type in the following command in the CMD window to boot your device to TWRP Recovery
    adb reboot recovery

Extract Boot.img via TWRP

  1. With your device booted to TWRP and connected to PC, type in the below command in the CMD window that is opened inside the platform-tools folder:
    adb shell
    dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot.img
  2. As soon as you execute the above command, your device will extract the stock boot.img from the currently installed firmware. It will then place this boot.img file in the Internal Storage (not inside any folder).
  3. While it is optional, but I highly recommend that you take a backup of this file onto your PC as well. For that, use the following command:
    adb pull /sdcard/boot.img stock_boot.img
  4. As soon as you do so, a copy of boot.img will be placed inside the platform-tools folder. it will be named stock_boot.img.
  5. Anyways, now that the process is complete, you may reboot the device to the OS. For that, go to Reboot and select System.
  6. Once your device boots up, install the Magisk App and patch this boot.img file via it. Doing so shall give you the magisk_patched.img file, which you could then flash via Fastboot Commands and hence root your device!

So this was all from this guide on how you could extract the boot.img file directly from your device without downloading the firmware. If you have any queries concerning the aforementioned steps, do let us know in the comments. We will get back to you with a solution at the earliest.

Structure of image file

According to the likes of http://forum.xda-developers.com/showthread.php?t=443994, the image consists of a 2k header, followed by a gzipped kernel, followed by a ramdisk, followed by a second stage loader (?). Representation nicked from that site:

+-----------------+ 
| boot header     | 1 page
+-----------------+
| kernel          | n pages  
+-----------------+
| ramdisk         | m pages  
+-----------------+
| second stage    | o pages
+-----------------+

n = (kernel_size + page_size - 1) / page_size
m = (ramdisk_size + page_size - 1) / page_size
o = (second_size + page_size - 1) / page_size

0. all entities are page_size aligned in flash
1. kernel and ramdisk are required (size != 0)
2. second is optional (second_size == 0 -> no second)

I don’t know about the kernel so don’t ask.

The steps required are these:

  1. Split image file into kernel and ramdisk parts
  2. Decompress ramdisk into real files
  3. (Optional) make any alterations to the files
  4. Compress the files back into a ramdisk
  5. Combine the new ramdisk with the original kernel and make a bootable image
  6. Flash to device and test

Steps in detail below. All require a Linux box — I’m using Ubuntu 12.04.

Загрузка, прошивка и установка boot img

Boot img, или «загрузочный образ», представляет собой важную компоненту операционной системы Android. Загрузочный образ содержит ядро операционной системы и необходим для запуска устройства. Он загружается сразу после включения устройства и отвечает за инициализацию железа и запуск операционной системы.

Если вам требуется прошить (заменить) boot img на Android-устройстве, следуйте следующим шагам:

Шаг
Действие
1
Загрузите необходимый boot img файл с помощью компьютера на свое Android-устройство или найдите его в Интернете

Обратите внимание на то, что получение неправильного boot img может навредить вашему устройству, поэтому внимательно проверяйте источник.
2
Включите режим разработчика на своем Android-устройстве. Для этого перейдите в «Настройки», затем найдите раздел «О телефоне» (или «О планшете») и нажмите на него

Потом найдите раздел «Версия Android» и нажмите на него несколько раз, чтобы активировать режим разработчика.
3
Вернитесь в основные настройки устройства и откройте раздел «Опции разработчика» (он должен появиться после активации режима разработчика). Включите переключатель «Отладка по USB».
4
Подключите Android-устройство к компьютеру с помощью USB-кабеля.
5
Скачайте и установите Android SDK на свой компьютер (если у вас его еще нет). Android SDK обеспечивает необходимые инструменты для взаимодействия с Android-устройством через компьютер.
6
Откройте командную строку или терминал на своем компьютере и перейдите в папку, где у вас установлен Android SDK.
7
В командной строке или терминале выполните следующую команду, чтобы проверить, видит ли компьютер ваше Android-устройство:

8
Если ваше Android-устройство отображается в списке устройств, выполните следующую команду, чтобы перейти в режим загрузчика:

9
После входа в режим загрузчика выполните следующую команду, чтобы прошить boot img:

Замените на фактический путь к boot img файлу на вашем компьютере.

10
После успешной прошивки выполните следующую команду, чтобы перезагрузить ваше Android-устройство:

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

Tip: How to install the boot image extracted from payload.bin

The content you get from the payload.bin is stock partition files, meaning you have got the stock boot.img, stock system.img etc. stuff. If you need to remove the custom recovery like TWRP or Magisk, you can install the stock boot.img file. Here’s a simply fastboot command to do that. Make sure you have started the devices in fastboot/bootloader mode first, and have connected the device with the USB cable).

To flash stock boot/recovery, you’ll be required to run the command below

fastboot flash boot boot.img

You could also rename the boot image file, and in that case, replace “boot.img” with “new_boot_image_name.img”.

That’s all.

RELATED

  • Extract system.img on your PC
  • How to unpack boot.img file
  • How to extract audio from a video

Need any help in this regard? Contact us via the comments section below.

Понравилась статья? Поделиться с друзьями:
Опытный компьютерщик
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: