Edit android system img

Редактирование img прошивок

Все прошивки для планшетов на процессоре Allwinner имеют один и тот же формат img (IMAGEWTY).

После долгих поисков я все-таки нашел программу, которая позволяет разобрать и собрать прошивку для планшетов на базе Allwinner. Называется она unPacker

Перейдем непосредственно к разборке файла прошивки.

Разборка IMG файла

Для разборки потребуется:

  • Файл самой прошивки
  • Программа unPacker, которую можно скачать здесь ( Для Allwinner a31s можно использовать imgRePacker )

Скачиваем архив и распаковываем. Запускаем программу unPacker.exe

Перетаскиваем в это окно наш файл и ждем распаковки.

После окончания распаковки появится новая папка название «прошивки.img.dump»

В папке out есть файл system.fex -это файл с системными файлами(папка system) . Он то нам и нужен.

Редактирование файла system.fex

Для редактирования этого файла нужна nix система и утилита для конвертации, которую можно скачать здесь

Создаем в домашней директории папку в которой будем редактировать нашу прошивку. Назовем ее например NEW. Теперь распаковываем файлы из архива ext4_utils.zip в папку NEW. Запускаем терминал и набираем

Программа скомпилируется и мы получим инструмент для редактирования Sim2img. Теперь кладем в папку NEW наш файл system.fex и переименовываем его в sytsem.img

Вводим в терминале

./simg2img system.img output.img

Теперь у нас есть файл output.img . Теперь создаем папку например с названием sys

И монтируем туда наш файл output

sudo mount output.img sys

Теперь в папке sys находятся файлы, которые можно редактировать. Например можно внести изменения в файл build.prop, которые улучшат работу системы.

Подробнее об изменениях в файле build.prop читайте здесь

После редактирования начинаем сборку

./mkuserimg.sh -s sys/ ./factoryfs_custom.img ext4 ./temp 512M

Полученный файл factoryfs_custom переименовываем в system.fex.iso

Примечание: можно аналогично редактировать и другие файлы образов (boot и bootloader)

Источник

Edit android system img

Устройство или ОС, прошивка: Утилиты редактирования образов Android под WINDOWS и LINUX

ANDROID_IMG_REPACK_TOOLS представляет собой комплект утилит для для редактирования Android ext4 и загрузочных образов под WINDOWS и LINUX

Отдельное спасибо за помощь в реализации проекта =S=


Инструменты вошедшие в состав:

Выбрать branch, например:

Подготовка и компиляция:

Загрузка исходников из android git repositories

Компиляция исполняемых файлов

Удаление исполняемых файлов

Already have a EXE:
ANDROID_IMG_REPACK_TOOLS_CYGWIN_x32_4.1.2_r2.1.zip ( 1.46 МБ )

## Converting sparse flashing system.img from flashing android sparse img to ext4 img

$ simg2img system.img system.raw.img
## or all parts of sparse img
$ simg2img system.img* system.raw.img

## Mounting ext4 img for edit

$ mkdir system_mnt
$ mount -t ext4 -o loop system.raw.img system_mnt

## Creating new android sparse img for flashing (android 2.3.6-4.2)

$ mkuserimg.sh -s system_mnt system_new.img ext4 ./temp [size partition MB for example 1024M]
## or
$ make_ext4fs -s -l 1024M system_new.img system_mnt

## Create new FS or converting ext4 img to sparse img for flashing (android 4.3-etc)

$ ./mkuserimg.sh -s system system.img ext4 /system 2324M file_contexts
or
$ ext2simg -v system.raw.img system_new.img

## Changing sparse img header size from 28bit to 32bit (for Samsung Exynos Octa)

$ sgs4ext4fs —bloat system_new.img system_32bit.img

## Remove Moto extra header. (for Motorola G-series, making after unsparse img)

$ mv system.raw.img system.moto.img
$ dd if=system.moto.img of=system.raw.img ibs=131072 skip=1

Автоматиз на базе Android_img_repack_tools

Android_ROM_IMG_Repacker_v22.zip ( 234.25 КБ )

За помощь в создании спасибы master_lee
За ImgExtractor And_pda
Мануал по установке от Shipiloff69 Видео

Сообщение отредактировал A.S._id — 21.08.17, 09:14

никаких морок с размером, атрибутами и контекстами — всё сохраняется

Сообщение отредактировал A.S._id — 26.04.15, 01:27

A.S._id,
Да, конвертит отлично.

А вот сборка из папки.

A.S._id,
Да, конвертит отлично.

А вот сборка из папки.

Ну я честно говоря не совсем понимаю как описывать добавление контекстов селинукс, вот для сравнения попробуйте тоже самое на телефоне как будет работать.
Или лучше я думаю это надо смотреть Makefile сборки Android из исходников, как там описано.
Вобщем разобрался в чем было дело и починил.
Короче говоря переделал я исходники и пересобрал тулзы — я по началу сделал make_ext4fs по подобию как для Linux т.е. при сборке атрибуты должны сохраняться, но т.к. для винды это не подходит (атрибутов UNIX у файлов НЕТ), поэтому пришлось добавлять атрибуты при сборке по умолчанию 644 root:root. Это значит что после сборки атрибуты файлов нужно править в соответствии с параметрами ОС, хотя по идее операнд -а
mount point по идее должен выставить правильные атрибуты сам, но я не проверял — надо будет попробовать

Читайте также:  Медленно работает тв приставка андроид

Попробовал — атрибуты выставляются верные

Источник

Edit android system img

Устройство или ОС, прошивка: Утилиты редактирования образов Android под WINDOWS и LINUX

ANDROID_IMG_REPACK_TOOLS представляет собой комплект утилит для для редактирования Android ext4 и загрузочных образов под WINDOWS и LINUX

Отдельное спасибо за помощь в реализации проекта =S=


Инструменты вошедшие в состав:

Выбрать branch, например:

Подготовка и компиляция:

Загрузка исходников из android git repositories

Компиляция исполняемых файлов

Удаление исполняемых файлов

Already have a EXE:
ANDROID_IMG_REPACK_TOOLS_CYGWIN_x32_4.1.2_r2.1.zip ( 1.46 МБ )

## Converting sparse flashing system.img from flashing android sparse img to ext4 img

$ simg2img system.img system.raw.img
## or all parts of sparse img
$ simg2img system.img* system.raw.img

## Mounting ext4 img for edit

$ mkdir system_mnt
$ mount -t ext4 -o loop system.raw.img system_mnt

## Creating new android sparse img for flashing (android 2.3.6-4.2)

$ mkuserimg.sh -s system_mnt system_new.img ext4 ./temp [size partition MB for example 1024M]
## or
$ make_ext4fs -s -l 1024M system_new.img system_mnt

## Create new FS or converting ext4 img to sparse img for flashing (android 4.3-etc)

$ ./mkuserimg.sh -s system system.img ext4 /system 2324M file_contexts
or
$ ext2simg -v system.raw.img system_new.img

## Changing sparse img header size from 28bit to 32bit (for Samsung Exynos Octa)

$ sgs4ext4fs —bloat system_new.img system_32bit.img

## Remove Moto extra header. (for Motorola G-series, making after unsparse img)

$ mv system.raw.img system.moto.img
$ dd if=system.moto.img of=system.raw.img ibs=131072 skip=1

Автоматиз на базе Android_img_repack_tools

Android_ROM_IMG_Repacker_v22.zip ( 234.25 КБ )

За помощь в создании спасибы master_lee
За ImgExtractor And_pda
Мануал по установке от Shipiloff69 Видео

Сообщение отредактировал A.S._id — 21.08.17, 09:14

никаких морок с размером, атрибутами и контекстами — всё сохраняется

Сообщение отредактировал A.S._id — 26.04.15, 01:27

A.S._id,
Да, конвертит отлично.

А вот сборка из папки.

A.S._id,
Да, конвертит отлично.

А вот сборка из папки.

Ну я честно говоря не совсем понимаю как описывать добавление контекстов селинукс, вот для сравнения попробуйте тоже самое на телефоне как будет работать.
Или лучше я думаю это надо смотреть Makefile сборки Android из исходников, как там описано.
Вобщем разобрался в чем было дело и починил.
Короче говоря переделал я исходники и пересобрал тулзы — я по началу сделал make_ext4fs по подобию как для Linux т.е. при сборке атрибуты должны сохраняться, но т.к. для винды это не подходит (атрибутов UNIX у файлов НЕТ), поэтому пришлось добавлять атрибуты при сборке по умолчанию 644 root:root. Это значит что после сборки атрибуты файлов нужно править в соответствии с параметрами ОС, хотя по идее операнд -а
mount point по идее должен выставить правильные атрибуты сам, но я не проверял — надо будет попробовать

Попробовал — атрибуты выставляются верные

Источник

Edit android system img

FAQ по редактированию (System.img) (Super.img) в Linux

Инструкция по созданию кастомной прошивки на базе стоковой, редактирование образов.
Редактирование образа прошивки (system.img) (super.img) в Ubuntu. Информация, решения.
Способы создания кастомных прошивок, редактирование прошивки, создание своей прошивки.
Работа с устройством через ADB SHELL
(ключевые слова)
(на основе прошивок MTK для FT)

Варианты для super.img

Способы редактирования образов

Способы редактирования образа системного раздела System.img

1) Редактирование в ОС Linux/Ubuntu
На этом способе остановлюсь более подробно, т.к. считается самым правильным и надежным.

3) Создание кастомного раздела System на устройстве с последующим экспортом в Img файл
Редактирование раздела на рутированном устройстве, а затем экспорт бэкап-образа на ПК.
Также остановлюсь на этом способе (на форуме не встречал).

Читайте также:  Как сделать чтобы андроид не висела

Способы извлечения образа System.img с аппарата (стокового, любого другого)

1) NAND-Backup (FlashTool+DroidTools)
Способ достаточно простой, популярный, надежный и обсуждаемый. Много инструкций по форуму. Удобный пользовательский интерфейс.
Единственный минус — подходит лишь для устройств с процессорами МТК.

а) При помощи любых сторонних терминалов, например Android Terminal Emulator / ® AROMA Terminal
б) При помощи терминала в мод.рекавери FAQ по TWRP recovery — раздел Advanced — Terminal Command

Порядок действий:
— Для рекавери: вручную монтируем разделы system и extsd (в разделе рекавери Mount)
— Создаём папку «backup» на карте памяти: mkdir /mnt/extsd/backup
— Смотрим список блоков на нашем планшете, ищем в списке необходимый блок «android»: cat /proc/dumchar_info (или cat /proc/partitions )
— Теперь приступаем к созданию бэкапа (mmcblk0p 6 — в моем случае): dd if=/dev/block/mmcblk0p6 of=/mnt/extsd/backup/system.img

Внимание! Перед всеми операциями с устройством настоятельно рекомендую сделать NAND-Backup (способ 1), либо снять образы ВСЕХ разделов с устройства (способом 2) и сохранить бэкап на ПК!

старая инструкция (хорошая инструкция, но тема видимо была перенесена)
чем открыть прошивку в img (Пост rambo90 #20879292)

Дополнительно:
— Если вдруг установлена не последняя версия Ubuntu (до v12) — для надежной работы необходимо обновить библиотеки: Инструментарий (Пост A.S._id) Спойлер «Глава II. Обновления и настройка»
— Инструментарий разработчика модов на базе Android

1. Подготовка рабочей среды в Ubuntu. Копирование образа в виртуальную машину (ВМ).

1.1. Все операции будем совершать в «Домашней папке» Ubuntu и Терминале.
Находятся файл.менеджер и терминал в Пуск-Стандартные. Вынес их на рабочий стол. При необходимости можно скрыть лишние системные файлы в домашней папке — CTRL+H.

1.5. ps: На скрине Вы можете увидеть образ моей старой проверенной прошивки system_s226_SANTv21.img. В дальнейшем он нам (и Вам) очень пригодится. Т.к. всегда удобней работать с проверенными заготовками/шаблонами.

2. Подготовка рабочих папок

2.1. Запускаем Терминал
2.2. Вводим команду

3. Монтирование образа прошивки в папку

3.0. Монтирование mount — представление содержимого файла-образа в определенной папке.
3.1. Узнаем информацию о файловой системе образа

4. Открытие образа (папки) для редактирования.

4.1. На папке «sant» нажимаем правую кнопку мыши -> Сценарии -> Проводник с правами суперпользователя.

4.2. По запросу вводим пароль администратора.
4.3. Откроется новое окно, в котором Вы увидите все содержимое образа system.img.
4.4. Рекомендую в данном окне включить отображение скрытых файлов. Т.к. Вы можете не увидеть некоторых файлов (например с точкой .хххх), а при удалении каких-либо файлов возможно появлении в корне папки .Trash-0

5. Редактирование образа (об этом в следующем спойлере)

6. Размонтирование образа system.img.

6.1. Закрывается окно с содержимым образа и размонтируем его. Есть 2 способа.
а) Кнопка возле смонтированного «устройства» см.скрин

6.2. Только после этих действий можно забирать файл образа system.img с ВМ.

ps: При прошивке через FlashTool название файла system не играет роли. Поэтому можно так и оставить название system_s028_SANTv01.img (расширение файла .img всегда неизменно). Тем самым Вы всегда будете знать с каким файлом вы работаете (аппарат, версия прошивки, номер сборки и т.д.)

Каждое действие старался описать более подробно.
Но на самом деле, когда эти операции выполняются не в первый раз — все сводится к более простым действиям (на 10 минут дела):
1) Скопировать образ из Win в ВМ; 2) Монтировать образ; 3) Редактирование; 4) Размонтирование и копирование обратно в Win.

Операции редактирования внутри образа (пункт 5 из инструкции выше)

— Удаление старых/ненужных файлов в образе system.img

Основной операцией у большинства создателей кастомов является чистка системы от ненужных приложений и файлов.
Подробней о приложениях и файлах которые можно удалить Вы можете прочитать в теме Удаление системных приложений Android, либо в темах обсуждения и прошивок своего аппарата Android — Прошивки. Т.к. этот вопрос индивидуален для каждого типа/модели устройств.

Читайте также:  Самый лучший калькулятор для андроида

Как удалить файлы:
— Заходим в заранее смонтированный образ (папку sant) и удаляем необходимые нам файлы.
— Если удалять не shift+delete, а обычным удалением — появится скрытая папка корзины «.Trash-0» в корне смонтированного раздела. После всех операций папку .Trash-0 необходимо удалить.

Рекомендация:
При удалении системных приложений system/app и system/priv-app рекомендую приложения переносить во временную папку (например system/app/other). Приложения из такой временной папки не будут устанавливаться в систему. Но этим действием Вы подстрахуетесь, если вдруг удалите приложение необходимое для нормальной работы системы, и всегда сможете его восстановить. И наоборот, после нескольких дней тестирования Вашей новой кастомной системы, сможете всегда удалить временную папку (при наличии рут или мод.рекавери).

Внимание!
Обсуждение удаления тех или иных файлов
Профильная тема — Удаление системных приложений Android
Удаление системных файлов на каждом устройстве — индивидуально, уточняйте в темах своих аппаратов. Например Android — Устройства , Android — Прошивки

Далее в «домашней папке» открывается папка tmp с правами суперпользователя.
Все необходимые файлы копируются из «tmp» в «sant» (заранее смонтированную и открытую папку рабочего образа system_s028_SANTv01.img)

После всех операций копирования, дополнительная папка размонтируется

К примеру, нужно добавить новые системные приложения в папку system/app (root explorer, titanuim backup и т.д.)

1) Папку «apk» с необходимыми приложениями копируем в ВМ
2) Назначаем приложениям в папке необходимые права (рекурсивно 0644 для всех файлов внутри):

3) Открываем папку «apk» с правами суперпользователя (в домашней папке)
4) Копируем все файлы в заранее смонтированный и открытый образ (папку sant/apk/)
готово

Информация о патчах и командах внутри него: Android update-script

К примеру, есть желание сделать образ system.img с предустановленным патчем РУТ. Другими словами, операции которые патч делает при установке через мод.рекавери — сделать вручную.

Допустим имеем патч Android update-script (Пост Prince_Saint #39210141) с кодом (без вспомогательных строк):

Необходимые действия:
1) Из патча достать папку system и скопировать в ВМ
2) Удаляем остатки старого (обычно нерабочего рут) — удаляем файлы по адресам 1й строки патчка (ищем их в заранее смонтированной папке sant)
3) Всем файлам внутри system назначить права, которые указаны в патче. Я сделал это перед копированием внутрь образа.

Внимание!
Для каждого устройства файл приложения суперпользователя (superuser) и бинарник «su» — индивидуальны. Уточняйте в темах своих прошивок.
Способы получения рут на Вашем устройстве обсуждаться совершенно в других разделах форума. Например Android — Устройства , Android — Прошивки , ну и наконец https://4pda.to/forum/i…F2&subforums=1&x=0&y=0

build.prop — файл с информацией о система, а также с некоторыми основными ее настройками.

Для изменения данного файл — открывается он как текстовый документ (правой кнопкой мыши на файле)

Всевозможные реккомендации по изменению данного файла Вы сможете найти по всему форуму и в темах прошивок своих аппаратов. Например https://4pda.to/forum/i…&subforums=1&x=17&y=13

Лично я вношу лишь такие изменения:

ro.build.display.id — информация, которая отображается в Настройки-О телефоне-Инфо о версии ПО
ro.build.date — дата создания
ro.product.locale.language=ru и ro.product.locale.region=RU — первая загрузка устройства сразу на русском языке
persist.sys.timezone=Europe/Moscow — часовой пояс

Также бывают дополнительные команды для улучшения/оптимизации работы некоторых функций устройств (gps и т.д.).

Пример моих прошивок.
А также описаны операции, которые были проведены внутри образа system.img

Основная моя прошивка для Lenovo P780 — Lenovo P780 — Прошивки (OS 4.4) (Пост Prince_Saint #34528008)
Там же и описание изменений внутри прошивки.

От пользователя Virtiose
Редактирование system.img в Linux (Пост Virtiose #41158403)
— Получение образа system.img в Linux через ADB SHELL
— Монтирование и редактирование образа
— Расширение system.img (увеличение размера образа)
— Прошивка образа
.

будет заполняться по мере появления вопросов у пользователей.

Программы для прошивки аппарата:
Программы для ПК

Информация о своих аппаратах и их особенностях:
Android — Устройства и Android — Прошивки

Сообщение отредактировал derak1129 — 13.11.21, 23:07

Источник

Оцените статью