Ответ 1
См. ответ на: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files
Сначала вам нужно "распаковать" userdata.img
с помощью simg2img
, затем вы можете подключить его через устройство цикла.
В последнее время меня интересует андроид, я хочу изменить и перестроить их.
Итак, я сделал несколько тестов на своем XOOM, очень легко что-то зажечь в машине.
Я получил ПЗУ от MOTOROLA (http://developer.motorola.com/products/software/),
они - некоторый файл img, и я хочу знать, что внутри, я надеюсь распаковать их.
Я попробовал unyaffs, сказал broken img file
.
Я пытаюсь установить их, он отлично работает на system.img, и я могу получить файл внутри.
Когда я хочу установить userdata.img на mount -o loop userdata.img /mnt/userdata
(то же самое, что и system.img
), он сообщает мне mount: you must specify the filesystem type
, поэтому я пытаюсь mount -t ext2 -o loop userdata.img /mnt/userdata
, он сказал mount: wrong fs type, bad option, bad superblock on...
Итак, как получить файл изнутри userdata.img
?
См. ответ на: http://omappedia.org/wiki/Android_eMMC_Booting#Modifying_.IMG_Files
Сначала вам нужно "распаковать" userdata.img
с помощью simg2img
, затем вы можете подключить его через устройство цикла.
Я нашел простое решение: http://andwise.net/?p=403
Цитата
Это для всех, кто хочет распаковать и изменить исходную system.img, которую вы можете использовать при восстановлении.
system.img(например, что вы получаете из изображений google factory) представляет собой разреженную файловую систему с замкнутым контуром ext4.
Он монтируется в/систему вашего устройства. Обратите внимание, что это руководство предназначено для файловой системы ext4, у вас может быть образ системы, например, yaffs2.
способ монтируется на Galaxy Nexus:
"/dev/block/platform/omap/omap_hsmmc.0/by-name/system/system ext4 ro, relatime, барьер = 1, data = ordered 0 0" Необходимые условия:
Linux или виртуальная машина simg2img, make_ext4fs, которые можно скачать здесь http://andwise.net/?attachment_id=406
Процедура:
поместите файл system.img и 2 двоичных файла в один каталог и убедитесь, что двоичные файлы имеют разрешение на выполнение. Часть 1 - монтирование файловой системы
mkdir sys
./simg2img system.img sys.raw
sudo mount -t ext4 -o loop sys.raw sys/
Затем у вас есть весь ваш системный раздел в sys, и вы можете изменить все, что хотите, в sys. Например, de-odex apks и фреймворки. Часть 2 - создайте новый flashable образ системы.
sudo./make_ext4fs -s -l 512M -a система new.img sys/ sudo umount sys rm -fr sys
Теперь вы можете просто ввести:
flashboot flash system new.img
В файловой системе Android "system.img" и "userdata.img" являются исполняемыми версиями VMS Alpha. "system.img" и "userdata.img" имеют содержимое каталога /system и/data в корневой файловой системе. Они отображаются на устройствах NAND с файловой системой yaffs2. Теперь файл изображения yaffs2 не может быть установлен на ПК Linux. Если вы можете, возможно, у вас есть ром, который не упакован в файловую систему yaffs2. Вы можете проверить этот файл rom, выполнив команду:
file <system.img/userdata.img>
Если он показывает "VMS Alpha executable", вы можете использовать "unyaffs", чтобы извлечь его.
Другой вариант - использовать File Explorer в DDMS (Eclipse SDK), вы можете увидеть всю файловую систему там и загрузить/загрузить файлы в нужное место. Таким образом, вам не нужно устанавливать и обрабатывать изображения. Не забудьте установить устройство как USB-отлаживаемое (из инструментов разработчика)
Я нашел, что Furius ISO mount работает лучше всего для меня. Я использую дистрибутив на основе Debian Knoppix. Я использую это для открытия файлов system.img
все время.
Furius ISO mount: https://packages.debian.org/sid/otherosfs/furiusisomount
"Когда я хочу установить userdata.img с помощью mount -o loop userdata.img/mnt/userdata (то же самое, что и system.img), он сообщает мне mount: вы должны указать тип файловой системы, чтобы я попытался установить mount - t ext2 -o loop userdata.img/mnt/userdata, он сказал mount: неправильный тип fs, плохая опция, плохой суперблок на...
Итак, как получить файл изнутри userdata.img? "Чтобы загрузить файлы .img
, вам нужно выбрать цикл и загрузить .img
Выбрать цикл
Затем вы выбираете mount Выберите mount
Furius ISO mount обрабатывает все остальные параметры, загружая файл .img
в ваш/home/dir.