Mount android sparse image

Mount android sparse image

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

Источник

Training for embedded Linux and Android

Android sparse image format

Fastboot

Many Android bootloaders implement the fastboot protocol for loading and flashing images to internal memory (there is some background information about how Android boots and boot image formats in these slides: http://www.slideshare.net/chrissimmonds/android-bootslides20). Fastboot is a simple USB protocol using ASCII text strings for commands and responses. In recent versions of the AOSP you can find the specification in system/core/fastboot/fastboot_protocol.txt.

As an example, this is the interchange when using fastboot to write the recovery image using the command «fastboot flash recovery»

Host->Client «download:004ba00»
Client: «DATA004ba000»
Host: Sends 0x4ba000 (4956160) bytes of raw data
Client:»OKAY»
Host: «flash:recovery»
Client:»OKAY»

You can see this yourself using Wireshark or tcpdump to capture the USB interchange.

Note that there are two stages: first the image is downloaded to the device and then the command «flash» is sent to ask the device to program the data into internal memory. In all bootloader implementations I have seen the image data is buffered in RAM during the download stage and then written out to memory in the flash stage. This means that the image must fit into RAM, which a problem for the system, userdata and cache file system images which are often several times larger than the total amount of RAM. However, these file system images are usually not full, especially in the case of userdata.img which contains very little data initially.

Sparse image format

To make the images smaller, and to reduce transfer time, Android generates system.img, userdata.img and cache.img in sparse format. The image is split into chunks of multiples of 4096 bytes. Any chunks that contain no useful data are marked as «Don’t care» and no data is sent.

Читайте также:  Индикатор скорости для андроид

The format is defined in system/core/libsparse/sparse_format.h and looks like this:

The image begins with a sparse_header of 28 bytes, which contains

magic: the number 0xed26ff3a
blk_sz: number of bytes in a block, always 4096
total_blks: number of blocks in the un-sparse file
total_chunks: number of chunks

Each chunk begins with a 12 byte chunk_header, which contains
chunk_type: see below
chunk_sz: number of blocks

There are three chunk types.
CHUNK_TYPE_RAW, followed by chunk_sz blocks of raw data
CHUNK_TYPE_DONT_CARE
CHUNK_TYPE_FILL, followed by 4 bytes of fill data

The last type, CHUNK_TYPE_FILL, fills the chunk with the 4 byte value. I have never seen it used in images produced by a normal AOSP build.

The code for all this is in system/core/libsparse, together with a tool to analyse sparse images: simg_dump.py. Here is an example:

The sparse cache.img is 10621244 bytes (about 10 MiB), but the expanded image is 135168 blocks of 4096, which equals 553648128 bytes (528 MiB), so the sparse file is 1.9% of the size of the full image. Quite a useful saving.

You can tell the AOSP build not to create sparse images by adding this line to your BoardConfig.mk:

Sparse images and Android for the BeagleBone Black

I have added support for sparse images to my U-Boot for BeagleBone Black and removed TARGET_USERIMAGES_SPARSE_EXT_DISABLED from the Android device configuration. Now it takes about 2 minutes to flash the system, userdata and cache images whereas before it used to take 5 minutes.

Источник

Mount android sparse image

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

Источник

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