Распаковать boot.img прошивки, чтобы исправить ramdisk или заменить ядро, без специального инструмента практически невозможно — обычные архиваторы этот формат не понимают. Именно для таких задач создан Android Image Kitchen (сокращённо AIK) — набор скриптов, который разбирает образы загрузочного раздела Android на составные части и собирает их обратно.
Инструмент давно стал стандартом в среде разработчиков кастомных прошивок и модов. Он работает как на Windows (через пакет с Cygwin-окружением), так и в Linux, а также на самом Android-устройстве через Termux или специальные сборки. Ниже разберём, что умеет утилита, как её установить и как не испортить образ при пересборке.
Что такое Android Image Kitchen и зачем он нужен
Android Image Kitchen — это консольный набор скриптов, созданный разработчиком с ником osm0sis. Его задача — распаковка и повторная упаковка образов boot.img, recovery.img и родственных им разделов, внутри которых лежат ядро, ramdisk и служебные данные.
Типичные сценарии применения:
- 🔧 редактирование ramdisk для изменения стартовых скриптов и
init-файлов; - 🧩 замена или модификация ядра внутри образа;
- 🛠️ подготовка образа для установки root-решений и модов;
- 📦 пересборка
recovery.imgс изменённым окружением восстановления; - 🔍 анализ структуры прошивки перед портированием на другое устройство.
Важно понимать: AIK не прошивает устройство сам. Он только готовит модифицированный файл образа, который затем заливается через fastboot, Odin или кастомное recovery — в зависимости от модели аппарата.
Что находится внутри boot.img
Прежде чем что-то менять, полезно знать структуру образа. Файл boot.img — это бинарный контейнер с заголовком, в котором последовательно лежат несколько блоков. AIK при распаковке раскладывает их по папкам: ядро отдельно, ramdisk отдельно, параметры сборки — в текстовые файлы.
| Компонент | Назначение | Можно ли править |
|---|---|---|
| Kernel (ядро) | Основа системы, управляет железом | Заменяется целиком |
| Ramdisk | Стартовая файловая система, init-скрипты | Да, основной объект правок |
| Second stage / dtb | Дерево устройств, вторичный загрузчик | Только при понимании структуры |
| Header / cmdline | Параметры загрузки, командная строка ядра | Да, через конфиг AIK |
| Signature / AVB | Подпись проверки целостности | Зависит от устройства |
Состав блоков зависит от версии загрузочного заголовка (boot header version) конкретного устройства: на новых аппаратах структура сложнее, добавляются vendor-ramdisk и иные разделы. AIK распознаёт большинство распространённых вариантов автоматически, но экзотические форматы могут потребовать ручного разбора.
Установка на Windows и Linux
Установка сводится к распаковке архива — инсталлятора у программы нет. На Windows скачивается версия AIK-Windows, которая содержит всё необходимое окружение. Архив распаковывается в папку без пробелов и кириллицы в пути — это частая причина сбоев скриптов.
На Linux используется версия AIK-Linux: её клонируют или распаковывают в домашний каталог и работают из терминала. Может потребоваться установка базовых утилит (например, пакетов для работы с cpio и сжатием), если они отсутствуют в системе.
Проверить готовность просто: поместите любой boot.img рядом со скриптами и запустите распаковку. Если в папке появились каталоги ramdisk и split_img — всё работает корректно.
Как распаковать и собрать образ
Базовый цикл работы состоит из двух команд. На Windows образ перетаскивается мышью на unpackimg.bat, на Linux запускается скрипт из терминала:
./unpackimg.sh boot.img
После распаковки вы получите папку ramdisk с файловой структурой и split_img с бинарными частями. Правки вносятся именно там: например, редактируются init.rc, fstab или default.prop. Затем образ собирается обратно:
./repackimg.sh
На выходе появится файл image-new.img — это и есть модифицированный образ, готовый к прошивке. Исходный boot.img скрипт не трогает, поэтому откат всегда возможен.
☑️ Безопасный цикл работы с boot.img
⚠️ Внимание: прошивать модифицированный образ можно только при разблокированном загрузчике. На устройствах с проверкой подписи (AVB, verified boot) пересобранный образ без корректной подписи может не загрузиться — уточняйте требования для своей модели.
Типичные ошибки и их решения
Чаще всего проблемы возникают не на этапе распаковки, а после прошивки собранного образа. Устройство уходит в bootloop или зависает на логотипе — это признак того, что правки ramdisk нарушили логику загрузки или не совпали параметры заголовка.
Отдельная категория ошибок — сбои самих скриптов. Разберём частые случаи:
- ❌ скрипт «не видит» образ — проверьте, что путь к папке не содержит пробелов и кириллицы;
- ❌ распакованный ramdisk пуст — возможно, образ использует нестандартное сжатие, попробуйте обновить версию AIK;
- ❌ собранный образ меньше оригинала в разы — при пересборке применился другой алгоритм сжатия, проверьте конфиг;
- ❌ bootloop после прошивки — откатитесь на оригинальный образ и проверяйте правки по одной.
⚠️ Внимание: никогда не прошивайте пересобранный образ, не имея под рукой оригинального boot.img и способа вернуть его — через fastboot, recovery или сервисную утилиту производителя. Это единственная гарантия выхода из bootloop.
Почему сжатие ramdisk имеет значение
Ramdisk внутри boot.img может быть сжат gzip, lz4, lzma или другим алгоритмом — это зависит от устройства. AIK определяет формат при распаковке и старается использовать тот же при сборке. Если алгоритм определён неверно, загрузчик не сможет распаковать ramdisk, и устройство не стартует. При сомнениях сверяйте параметры в папке split_img до и после правок.
AIK на самом Android-устройстве
Существуют сборки AIK для запуска прямо на смартфоне — через Termux или как модуль. Это удобно, когда под рукой нет компьютера: можно распаковать boot.img, внести правку и собрать образ на самом устройстве.
Ограничения очевидны: для прошивки результата всё равно нужен recovery или иной способ записи в раздел, а работа с большими образами на слабом железе идёт медленнее. Также мобильные сборки могут отставать от десктопных версий по поддержке новых форматов заголовков.
Альтернативы Android Image Kitchen
AIK — не единственный инструмент такого класса. Для некоторых задач удобнее специализированные утилиты, хотя по универсальности кухня остаётся эталоном.
Среди известных альтернатив — magiskboot (входит в состав Magisk и отлично справляется с распаковкой и патчингом образов), а также классические связки mkbootimg и unpackbootimg из исходников Android. Выбор зависит от задачи: для интеграции с Magisk логичнее использовать magiskboot, для ручного контроля над заголовком — mkbootimg.
FAQ: частые вопросы об Android Image Kitchen
Можно ли с помощью AIK получить root на устройстве?
AIK сам по себе root не даёт — он лишь позволяет отредактировать ramdisk. Классическая схема получения root через Magisk как раз использует патчинг boot.img, но выполняется она средствами Magisk. AIK в этой цепочке нужен для ручного анализа и правок.
Почему собранный образ не загружается?
Возможные причины: неверный алгоритм сжатия ramdisk, ошибка в отредактированных init-скриптах, несовпадение параметров заголовка или проверка подписи загрузчиком. Начните с отката на оригинальный образ, затем вносите правки по одной и проверяйте загрузку после каждой.
Работает ли AIK с образами vendor_boot?
Новые устройства выносят часть ramdisk в раздел vendor_boot. Поддержка таких образов зависит от версии AIK — актуальные сборки умеют с ними работать, но структура там сложнее, и правки требуют понимания, какой ramdisk за что отвечает.
Нужен ли разблокированный загрузчик для работы с AIK?
Для распаковки и изучения образа на компьютере — нет, загрузчик тут ни при чём. А вот для прошивки результата на устройство разблокировка почти всегда обязательна, иначе запись в загрузочный раздел будет запрещена.
Где взять оригинальный boot.img для моего устройства?
Образ извлекается из официального пакета прошивки для вашей модели, который публикует производитель. Важно, чтобы версия прошивки совпадала с установленной на устройстве — ядро и ramdisk разных версий могут быть несовместимы с системным разделом.