Android sparse image mount linux

Android sparse image mount linux

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

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

Способы редактирования образа системного раздела 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

Читайте также:  Синий экран memory management windows 10 при запуске

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) с кодом (без вспомогательных строк):

Читайте также:  Abyss web server php linux

Необходимые действия:
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)
Там же и описание изменений внутри прошивки.

Источник

How to mount the android img file under linux? [closed]

Want to improve this question? Update the question so it’s on-topic for Stack Overflow.

Closed 5 years ago .

Recently, I’m interest in the android rom, I want to change and rebuild them.
So, I did some test on my XOOM, it’s very easy to flash something into the machine.
I got some ROM from MOTOROLA (http://developer.motorola.com/products/software/), they are some img file, and I want to know what’s inside, I hope to unpack them.

I tried the unyaffs, it said broken img file .
I try to mount them, it works great on the system.img, and I can get the file inside.

When I want to mount userdata.img by mount -o loop userdata.img /mnt/userdata (the same as system.img ), it tells me mount: you must specify the filesystem type so I try the mount -t ext2 -o loop userdata.img /mnt/userdata , it said mount: wrong fs type, bad option, bad superblock on.

So, how to get the file from the inside of userdata.img ?

5 Answers 5

First you need to «uncompress» userdata.img with simg2img , then you can mount it via the loop device.

I have found a simple solution: http://andwise.net/?p=403

Quote

(with slight adjustments for better readability)

This is for all who want to unpack and modify the original system.img that you can flash using recovery. system.img (which you get from the google factory images for example) represents a sparse ext4 loop mounted file system. It is mounted into /system of your device. Note that this tutorial is for ext4 file system. You may have system image which is yaffs2, for example.

The way it is mounted on Galaxy Nexus:

Читайте также:  Wifi драйвер для windows 10 broadcom
  • Linux box or virtual machine
  • simg2img and make_ext4fs binaries, which can be downloaded from the linux package android-tools-fsutils

Place your system.img and the 2 binaries in one directory, and make sure the binaries have exec permission.

Part 1 – mount the file-system

Then you have your system partition mounted in ‘sys/’ and you can modify whatever you want in ‘sys/’. For example de-odex apks and framework jars.

Part 2 – create a new flashable system image

Источник

Android sparse image mount linux

Устройство или ОС, прошивка: Утилиты редактирования образов 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 по идее должен выставить правильные атрибуты сам, но я не проверял — надо будет попробовать

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

Источник

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