Обработка образов под Windows



Реп: (370)
Обработка (распаковка и сборка) прошивок и образов (*.img, *.bin) строго под WINDOWS

Эта тема создана для продолжения обсуждения и помощи в обработке различных образов под Windows.
Пред история
Начало было положено в другой теме, но автор негативно воспринял обсуждения, не касающиеся его средства, предложил обсуждать в личке или завести другую тему. Я категорически против общения по личке, поскольку много народу не увидит обсуждаемой информации, которая может оказаться очень полезной, и не сможет внести свою лепту в обсуждение. Поэтому пришел к решению создать эту тему. В ней хочу предложить свои утилиты для распаковки образов формата EXT2\EXT3\EXT4\SPARSE\YAFFS2, свой вариант кухни для распаковки\запаковки полных прошивок под Rockchip, MTK (в виде файлов *.img или архивов *.tar(rar)) и содержащихся внутри прошивок отдельных образов типа system, kernel, recovery, boot. Это то что уже сделано и работает, в ближайших планах подружить распаковщик с образами *.SIN (формат для Sony Xperia)

Сообщения, не относящиеся к теме обсуждения (оффтоп), удаляются без предупреждения.


Полезное
(Примеры, варианты, утилиты, кухни, скрипты, обработки разных образов)

  1. Multi Image Kitchen - Программа распаковки и упаковки Android образов разделов (в том числе и распаковка super.img)
  2. Распаковка, упаковка super.img
  3. superunpack для распаковки образов super.img + Подробности
  4. UnSIN - Программа для распаковки SIN 3/4/5 образов
  5. Три утилиты для запаковки обычных образов в sparse образ
  6. UnpackerSystemNew
  7. Распаковщик payload.bin
  8. Работа с system.new.dat1
  9. UNIX-атрибуты (права, UID, GID) на файлы и папки в WINDOWS
  10. Форматы образов, утилиты и примеры их обработки
  11. Модификация стокового RECOVERY под CWM своими руками
  12. Извлечение рамдиска из recovery.img от Lenovo K900(x86) посредством WinHex
  13. Извлечение керенел из recovery.img от Lenovo K900(x86) посредством WinHex
  14. Добавление модифицированного рамдиска в recovery.img от Lenovo K900(x86) посредством WinHex
  15. Анализ формата SIN 3 версии образов из прошивки для Sony Xperia
  16. Разбор образа IFWI на блоки (использующиеся при прошивке через MFT(xFSTK) для устройств на базе x86 Android) посредством WinHex
  17. Инструкция по извлечению ядра и recovery из fwu_image.bin
  18. Преобразование system.new.dat.br в system.new.dat и обратно
  19. Как пропатчить system.img на ПК не прошивая ОТА на смарте если файл system.patch.dat > 0
  20. Сборник скриптов для для работы с образами



Утилиты


make_ext4fs - утилита для сборки образов в формате EXT4 и SPARSE EXT4 (добавлен способ сборки system через 'таскание мышкой')

AndImgTool (Android Image Tool)
Утилита для распаковки и обратной сборки загрузочных образов типа BOOT и RECOVERY для ARM-платформы, неважно какой проц устройства (рокчип, медиатек и т.д. и т.п.), важно какого стандарта придерживался производитель! На данный момент поддерживаются следующие форматы: Android Boot Image (так же и с оберткой MTK внутренних блоков кернела и рамдиска и с новым блоком DTB), KRNL Image, UBOOT Image (форматы паковки: none, LZMA, GZIP), распаковка\запаковка полных прошивок для RockChip (RKFW\RKAF)
Подробнее про утилиту, список протестированных устройств, инструкция, скрины и логи тут.

AndImgTool версия 1.3.0 Обновлено: 30.12.2014 релиз и подробности тут
- Добавлена поддержка распаковки\запаковки x86 загрузочных образов (функционал перенесен из утилиты xImgTool)

AndImgTool версия 1.2.3 Прикрепленный файлAndImgTool_1_2_3.rar ( 196.69 КБ )
Обновлено: 13.11.2014 - обновление функционала, подробности тут
Старые версии
AndImgTool версия 1.2.2 Прикрепленный файлAndImgTool_1_2_2.rar ( 196.73 КБ )
Обновлено: 22.10.2014 - обновление функционала, подробности тут
AndImgTool версия 1.2.1 Обновлено: 13.08.2014 - исправлены найденные ошибки
AndImgTool версия 1.2.0 Прикрепленный файлAndImgTool_1_2_0.rar ( 196.16 КБ )
Обновлено: 10.07.2014
- добавлен функционал по поддержке кернела с XZ-компрессией
- добавлен функционал по распаковке рамдиска сжатого LZMA для формата Android Boot Image
- изменен алгоритм запаковки в LZMA (для большей схожести при перепаковке оригинальных данных)
подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.1.2 Обновлено: 12.06.2014 Промежуточная версия 1.1.2 с реализованной обработкой блоков с UBOOT-оберткой для формата Android Boot Image и описание этой обертки для блоков рамдиска и кернела, примеры и логи распаковки подобных образов тут
AndImgTool версия 1.1.1 Прикрепленный файлAndImgTool_1_1_1.rar ( 115.14 КБ )
Обновлено: 20.05.2014 подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.1.0 Прикрепленный файлAndImgTool_1_1_0.rar ( 115.38 КБ )
Обновлено: 16.05.2014 подробнее про изменения в этой версии, логи работы утилиты
AndImgTool версия 1.0.0 Прикрепленный файлAndImgTool_1_0_0.rar ( 109.14 КБ )
Первая версия
24.04.2014 ОБНОВЛЕНО В связи с тестированием новые версии выкладываются в постах темы, пока текущая версия утилиты 1.0.8, тестируется пересборка zImage (актуально для загрузочных образов UBOOT-OMAP)



Пробуйте и отписывайтесь о результатах, если все удачно распаковалось и собралось в рабочий вариант напишите производителя и модель устройства (добавлю в список проверенных устройств), если утилита не справилась с образом, то ко всему вышеперечисленному в своем сообщении прикрепите этот проблемный образ (вряд ли они будут больше 20 мегабайт).

Если у вас возникает ошибка "Отказано в доступе"



ImgExtractor
- основная утилита для распаковки образов файловых систем типа system, userdata, cache, secro (расширение может быть любое, например img или ext4).
Поддерживаются следующие форматы файловых систем: EXT2\EXT3\EXT4\YAFFS2\CRAMFS, форматы структуры образов (обертки) SPARSE\SIN( 1, 2 и 3 версии)\MOTO, поддерживается конвертация образа файловой системы формата EXT4 из обертки SIN или SPARSE непосредственно в EXT4, реализован вывод информации о суперблоке для образов файловых систем, дальше будет развиваться именно эта утилита.

ImgExtractor версия 1.3.7 Обновлено: 13.02.2015 релиз и подробности тут
- добавлена поддержка распаковки образов SPARSE-Marvell для MOTO
- исправлено падение утилиты при распаковке образов содержащих файлы с символами "?"
- добавлена идентификация формата UBIFS и обертки MOTO внутри SPARSE формата
- добавлена конвертация образов из EXT3\EXT4 в SPARSE с разбиением на файлы меньшего размера

Старые версии и Пример использования
ImgExtractor версия 1.3.6 релиз и подробности тут
07.08.2014:
- добавлена конвертация образа из EXT4 в SPARSE EXT4
- добавлен параметр -l (отображение списка файлов и папок с их атрибутами, аналогично выводу утилиты ls)
- при формировании файла атрибутов, для симлинков прописывается имя файла на который направлен линк, это поле игнорируется при использовании в сборке (режим -A <fix_stats_filename>)
- исправлена ошибка при конвертировании SPARSE EXT в EXT при размере блока в 1024 байт (странно что никто не наткнулся на это раньше или же все SPARSE EXT имеют размер блока 4096 байт)
ImgExtractor версия 1.3.5 Прикрепленный файлImgExtractor_1_3_5.rar ( 75.46 КБ )
06.06.2014:
- добавлено формирование файла с UNIX-атрибутами при распаковке образа файловых систем, подробнее и пример тут
- исправлена распаковка и вывод информации о суперблоке для образов файловых систем формата EXT2
- исправлена распаковка под Windows XP при перетаскивании мышкой образа на утилиту (раньше папка с распакованным создавалась по пути "C:\Documents and Settings\<имя пользователя>")
ImgExtractor версия 1.3.4 Прикрепленный файлImgExtractor_1_3_4.rar ( 75.59 КБ )
24.02.2014 - добавлена поддержка формата структуры образа system.img для моторолл Moto G (начальная сигнатура MOTO)
- исправлена распаковка формата YAFFS2 в плане создания пустых файлов (имеющих нулевой размер), ранее подобные файлы игнорировались
ImgExtractor версия 1.3.2 Прикрепленный файлImgExtractor_1_3_2.rar ( 75.32 КБ )
17.02.2014 - добавлена поддержка формата структуры образа system.img для моторолл Moto X (начальная сигнатура MOTO), добавлена поддержка распаковки формата YAFFS2, образы которых имеют размер блока 4096 байт
ImgExtractor версия 1.3.1 Прикрепленный файлImgExtractor_1_3_1.rar ( 75.56 КБ )
26.12.2013 - Добавлена поддержка формата SIN version 2, добавлена конвертация образов файловых систем EXT4 из формата SIN (версии 1 и 2) в EXT4, добавлен вывод информации о суперблоке образов файловых систем находящихся внутри форматов SIN\SPARSE\EXT3\EXT4 (новый ключ -s) скрины нововведений тут[/color]
ImgExtractor версия 1.3.0 Прикрепленный файлImgExtractor_1_3_0.rar ( 70.56 КБ )
15.11.2013 - Добавлена поддержка форматов SIN version 1 и CRAMFS, добавлено распознавание формата EXT4\EXT3 (сообщение выводится при распаковке)
ImgExtractor версия 1.2.1 Прикрепленный файлImgExtractor_v1_2_1.rar ( 62.79 КБ )
- Добавлена поддержка обработки больших размеров образов, оптимизирован код и уменьшен размер утилиты.
ImgExtractor версия 1.2 Прикрепленный файлImgExtractor_v1_2.rar ( 184.28 КБ )
- Добавлена поддержка формата SIN version 3
ImgExtractor версия 1.1 Прикрепленный файлImgExtractor_V1_1.rar ( 175.56 КБ )
- Добавлена поддержка формата YAFFS2
Пример использования
Это полностью консольное приложение, использование для распаковки аналогично примеру работы с утилитой Ext4Extractor приведенному ниже. Если просто и кратко - то распаковываете архив прошивки (для тестирования формата SIN 3 версии использовал прошивку C6603_10.3.A.0.423_1270-1410_Rus.FTF), в распакованную папку копируете распакованный ImgExtractor и перетаскиваете мышкой нужные образы на распаковщик, как на скринах, в результате в этой папке появятся распакованные образы или в виде файла (*.ELF) или в виде папки с именем образа и символом подчерка в конце.
Скрин распаковки system.sin
Прикрепленное изображение

Скрин распаковки kernel.sin
Прикрепленное изображение


Ext4Extractor версия 1.5.2 Прикрепленный файлExt4Extractor_V1_5_2.rar ( 174.8 КБ )
- первый вариант распаковщика, пригодится для распаковки образов типа system, userdata, cache, secro (расширение может быть любое, например img или ext4), распаковывает форматы EXT2\Инструкция по распаковке system.img без помощи компьютера, прямо на Android устройствеEXT3\EXT4\SPARSE
Небольшое описание использования (написал по просьбе обладателей Самсунгов)


xImgTool
- утилита для распаковки\запаковки загрузочных образов (IMG, BIN) и контейнеров (INB, SZB, QSB ) для устройств на базе x86 Android Platform (Lenovo K900, Ramos i9, Asus ZenFone 4,5,6, ZTE Geek)

xImgTool версия 1.3.32Прикрепленный файлxImgTool_1_3_32.rar ( 40.86 КБ )
ОБНОВЛЕНО: 06.11.2014
- поддержка нового размера блока bootstub
- сохранение новых атрибутов в блоке размеров
- при распаковке контейнера QSB части, участвующие при объединении в один файл, сохраняются в отдельной папке в оригинальном виде (особенно касается образов system и userdata)
Старые версии
xImgTool версия 1.3.31 17.10.2014 - добавлена обработка нового блока подписи, подробности тут
xImgTool версия 1.3.25 30.01.2014 тестовая версия 1.3.25, добавлена поддержка контейнера QSB
xImgTool версия 1.2.18 Прикрепленный файлxImgTool_1_2_18.rar ( 28.58 КБ )
20.12.2013 - доработана поддержка образов-контейнеров (INB, SZB ), распаковка контейнера в папку и обратная сборка контейнера из содержимого папки, сборка основывается на файле container.cfg (подробнее тут)
xImgTool версия 1.2.6 Прикрепленный файлxImgTool_1_2_6.rar ( 28.06 КБ )
10.12.2013 - добавлена поддержка образов-контейнеров (INB, SZB), распаковка контейнера в папку и сборка контейнера из содержимого папки, cборка основывается на файле container.cfg (подробнее тут)
- добавлена дополнительная обработка второго составного блока IFWI, который содержит внутри два блока с FIP Header (информация о версиях модулей прошивки)
xImgTool версия 1.1.1 Прикрепленный файлxImgTool.rar ( 17.81 КБ )
22.11.2013 - добавлена поддержка распаковки LOGO и образов IFWI на блоки использующиеся в процессе прошивки через MFT(xFSTK)
xImgTool версия 1.0.27 Первый вариант утилиты (версия 1.0.27)
Реализована распаковка\запаковка образов типа boot.bin, pos.bin, droidboot.img, recovery.img, fastboot.img, kboot.bin - образы под x86 Android могут иметь или не иметь внутри себя OSIP-заголовок и блок подписи, так же бывают варианты с несколькими образами (областями данных) внутри одного файла. Реализован учет новых размеров составных блоков(bzimage и initrd), пересчет контрольной суммы OSIP-заголовка и расчет хеша SHA-256 для подписанной области данных.


sparse2img


Кухня
В связи с тем, что основной функционал кухни перешел в единую утилиту AndImgTool, не требующую для своей работы никаких дополнительных CYGWIN DLL, настоятельно рекомендую использовать для работы с загрузочными образами именно AndImgTool (для образов файловых систем есть единая утилита ImgExtractor), поскольку пересборок кухни больше не планируется.

Мой вариант кухни для распаковки целиковых прошивок под Rockchip, MTK и их содержимого. Изначально делал эту модификацию под себя - для удобства вытаскивания файлов system из разных прошивок, оригинальная версия тут.

17.05.2014 Обновлено Пересобранная версия genext2fs для малого размера оперативной памяти

24.02.2014 Обновлено
Утилита ImgExtractor
(текущая версия 1.3.4), использующаяся для распаковки system.img в форматах EXT2\EXT3\EXT4\SPARSE\YAFFS2\CRAMFS
- Обновлена CYGWIN-утилита genext2fs, использующаяся при сборке образов в формате EXT2\EXT3\EXT4 ( основное исправление - старая версия не позволяла собирать образы больше 671087616 байт подробнее тут), так же добавил еще несколько изменений, про которые отпишусь тут.
- Добавлена утилита CYGWIN-утилита sparse2img для конвертации SPARSE образов в обычные IMG, собрана на основе simg2img, но основное отличие от оригинала - возможность "наката" SPARSE на уже сущестующий образ IMG, это актуально при конвертации образов system от MOTO G, которые разбиты на несколько частей. Подробнее тут.
- Добавлено логирование сборки образа EXT3\EXT4 (для активного проекта создается файл log.txt)
- Добавлены скрипты (BAT-файлы в папке


RKwinToolsMod_v2_8\Scripts\): ConvertMotoG.bat
Для облегчения конвертации system от MOTO G и CreateFSimage.bat - для облегчения сборки любого образа в EXT3\EXT4 (ранее был выложен тут)
RKwinToolsMod версия 2.8 Прикрепленный файлRKwinToolsMod_v2_8.rar ( 6.43 МБ )

Старые версии и Информация о кухне
RKwinToolsMod версия 2.7 Прикрепленный файлRKwinToolsMod_v2_7.rar ( 6.38 МБ )

13.02.2014 ОБНОВЛЕНО
- Обновлена утилита ImgExtractor (текущая версия 1.3.1), использующаяся для распаковки system.img в форматах EXT2\EXT3\EXT4\SPARSE\YAFFS2\CRAMFS
- Исправлена проблема с правами (владельцем и группами) при сборке образов в формате YAFFS2 ( про обнаруженные проблемы и их решение можно прочитать тут и тут)
RKwinToolsMod версия 2.6 Прикрепленный файлRKwinToolsMod_v2_6.rar ( 6.38 МБ )

01.12.2013 ОБНОВЛЕНО
- Добавлена поддержка сборки system.img в формате EXT4 (новый пункт меню)
- Обновлена утилита ImgExtractor (текущая версия 1.3.0), использующаяся для распаковки system.img в форматах EXT2\EXT3\EXT4\SPARSE\YAFFS2
- Добавлено внедрение ROOT для Android 4.2.x (новый пункт меню, для Android 4.1.x отдельный пункт меню, на основе прежних данных), поиск бинарника su проводится в папках \xbin и \bin
- Добавлено получение информации об образе system.img (новый пункт меню) - формируется файл system.info с информацией из суперблока, полноценная информация пока возможна только для образов в формате EXT2\EXT3\EXT4, для формата SPARSE будет записана ошибка в system.info (в этом случае, если все же хочется получить информацию о суперблоке, то можно сконвертировать SPARSE в EXT4 (пункт меню 7, размер получившегося system.img будет заметно больше), заменить исходный system.img в Unpack\Firmware\Image\ на получившийся и заново запросить информацию.
- Немного изменен способ формирования образа system - теперь после создания, конвертации и проверки образа появляется запрос для подтверждения проведения процедуры уменьшения размера образа (RESIZE), просто не всегда RESIZE целесообразен - образ собирается с минимальным превышением и тратить время на повторную пересборку, выигрывая около 10 мегабайт несерьезно. Но решение остается за пользователем.
Запрос на RESIZE
Прикрепленное изображение


RKwinToolsMod версия 2.5 Прикрепленный файлRKwinToolsMod_v2_5.rar ( 6.38 МБ )

RKwinToolsMod версия 2.4 Прикрепленный файлRKwinToolsMod_v2_4.rar ( 5.83 МБ )

Для чего может пригодится RKwinToolsMod
- для распаковки файла прошивки (файл формата RKFW (*.img) или архив вида *.tar(rar), последнее актуально например для устройств Samsung)
- для распаковки содержимого прошивок (образов system, kernel, recovery, boot)
- для сборки образов из распакованного содержимого (образы system, kernel, recovery, boot)
- для сборки полного файла прошивки формата RKFW (*.img)

Внешний вид программы
Прикрепленное изображение

Предупреждаю - названия прошивок и образов должны состоять из латинских букв, цифр и подчерков.
Небольшая инструкция использования кухни в виде примера разборки и сборки прошивки 3Q_RC9724C_20121102.img и ее содержимого для планшета 3Q (под Rockchip) Прикрепленный файлRKwinToolsMod_readme.pdf ( 975.45 КБ )


Пробуйте, отписывайтесь о результатах, если распаковщик не справился с образом system, то не поленитесь оставить в этой теме ссылку на этот проблемный system, запакованный предварительно в архив. Если ошибка в кухне то приветствуются скриншоты и подробное описание действий, которые вызвали ошибку или некорректную работу кухни.


В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку Изображение под сообщениями, на которые необходимо добавить ссылки.


Сообщение отредактировал Boy77ruS - 07.08.23, 21:14
Причина редактирования: Если у вас возникает ошибка "Отказано в доступе"



Реп: (2337)
And_pda, установил recovery_3e_mod.img успешно, всё работает, но ADB устройство всё равно не видит. Насколько я понимаю, нужно ещё в ramdisk править init.rc, там при начальной инициализации запрещён запуск adb демона, ну да ладно. Если что, я готов к очередным экспериментам.


Сообщение отредактировал vitaly51370 - 19.03.14, 23:25



Реп: (370)
vitaly51370 @ 19.03.2014, 20:32 *
And_pda, установил recovery_3e_mod.img успешно, всё работает, но ADB устройство всё равно не видит. Насколько я понимаю, нужно ещё в ramdisk править init.rc, там при начальной инициализации запрещён запуск adb демона

Я не увидел явного запрета, но я конечно не силен в настройках init.rc. Пока ковырялся с планшетом ребенка, прикручивал к нему CWM и запуск ADB в режиме рекавери понял что в режиме рекавери у меня устройство опознавалось с другими VID и PID - пришлось править android_winusb.inf - дописывать новые значения для драйвера. У вас с какими PID VID работает устройство в обычном режиме (т.е. boot) в случае ADB ? Ведь устройство может определится как запоминающее (USB mass_storage) и как ADB-устройство (ADB Interface), в случае init.rc из boot.img должно быть так

VID PID из init.rc boot.img
on property:sys.usb.config=mass_storage,adb
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 16d5
write /sys/class/android_usb/android0/idProduct 8001
write /sys/class/android_usb/android0/iSerial $ro.serialno
write /sys/class/android_usb/android0/functions $sys.usb.config
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config

А в случае init.rc из recovery.img немного по другому
сравнение init.rc из boot и recovery
Прикрепленное изображение

видно что в boot закомментарено свойство ro.debuggable вообще, значит сервис adbd должен стартовать в любом случае, но вот с какими PID и VID ? Они должны определяться свойством persist.sys.usb.config из default.prop
Но все это мало имеет отношения к структуре образов и механизмам разборки\сборки, прототип уже разбирает буты и рекавери вообще без использования CYGWIN, осталось прикрутить сборку и можно массово тестировать.
vitaly51370 @ 19.03.2014, 20:32 *
Если что, я готов к очередным экспериментам.

По поводу экспериментов, следующий шаг - пересобран рамдиск Прикрепленный файлrecovery_3e_mod2.img ( 3.97 МБ )



Реп: (2337)
And_pda, признателен за дополнительную информацию по ADB и извиняюсь, что отвлёк от основной темы. Значит всё-таки будет ваше средство разборки\сборки образов для AmLogic ?! Пересобранный recovery_3e_mod2.img с помощью flash_image прошил и проверил - всё функционирует. Жду дальше.



Реп: (89)
Ребят, не знаю в ту тему я обратился или нет, но вопрос такой. Можно ли как то модифицировать образ boot.img или еще что чтобы в телефоне появился fastboot?



Реп: (2337)
jbronxxx, насколько я знаю fastboot - это режим работы устройства до загрузки ОС и его наличие зависит от конфигурации загрузчика и поддержки ядра. Здесь ребята помогли мне модифицировать мой boot.img, но запустить режим fastboot, как описано здесь, не получилось. Максимум что доступно - это работа с утилитой flash_image через терминал.


Сообщение отредактировал vitaly51370 - 21.08.14, 19:21



Реп: (89)
vitaly51370 @ 29.3.2014, 12:56 *
jbronxxx, насколько я знаю fastboot - это режим работы устройства до загрузки ОС, поэтому его наличие определяется конфигурацией загрузчика, поставляемого производителем прошивки. Здесь ребята помогли мне модифицировать мой boot.img, но запустить режим fastboot, как описано здесь, не получилось. Максимум что доступно - это работа с утилитой flash_image через терминал.

А что за утилита, простите, и где ее взять?



Реп: (2337)
jbronxxx, ссылка на утилиту есть в сообщении, ссылку на которое я дал выше. Я находил несколько вариантов этой утилиты, но на моём устройстве заработала версия из комплекта программы qtADB (перед применением распаковать): Прикрепленный файлflash_image.zip ( 6.66 КБ )



Сообщение отредактировал vitaly51370 - 29.03.14, 12:43



Реп: (316)
Уважаемые коллеги.
В чём может быть проблема?
ОС Windowd XP
RAM 2GB
Свободного места на диске 10 ГБ
Антивирус отключён.
Работа над образом system.img от планшета
Размер образа 700-800 мег.
Размер системной партиции по scatter файлу 1024 mb
файловая система ext4
Процессор- MT8389
OS - Android 4.2.2
Глючит утилита RKwinToolsMod версия 2.8 из шапки.
(я ЗНАЮ что она под РокЧип, прочитайте пожалуйста дальше)

Утилита штатно разбирает образ.
Но при сборке вылетает ошибка/ки
*genext2fs -a -d Unpack\system -b 715250 -m 0 Pack\Firmware\Image\system.img
Start create ext2 image from folder: Unpack\system Please wait...
genext2fs: not enough memory for filesystem

convert ext2 to ext3...
*tune2fs -j -L system -c -1 -i 0 Pack\Firmware\Image\system.img
tune2fs: No such file or directory while trying to open Pack\Firmware\Image\system.img
Couldn't find valid filesystem superblock.
tune2fs 1.41.12 (17-May-2010)
convert ext3 to ext4...
*tune2fs -O extents,uninit_bg,dir_index Pack\Firmware\Image\system.img
tune2fs: No such file or directory while trying to open Pack\Firmware\Image\system.img
Couldn't find valid filesystem superblock.
tune2fs 1.41.12 (17-May-2010)
check EXT4 image
*e2fsck -fy Pack/Firmware\Image\system.img
e2fsck 1.41.12 (17-May-2010)
e2fsck: No such file or directory while trying to open Pack/Firmware\Image\system.img

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>

resize2fs 1.41.12 (17-May-2010)
open: No such file or directory while opening Pack\Firmware\Image\system.img

Собираю из "правильной" папки (а то уже спрашивали что мол "вы собираете из Pack, а может у вас там нет ничего")

При этом на машине с 8-ю гигами оперативы утилита собирает нормальный рабочий образ.


P.S.
Былаб эта грабля только у меня, забыл бы и забил.
Но эта проблема возникла не только у меня.


Сообщение отредактировал rgusev - 31.03.14, 16:21



Реп: (370)
vitaly51370 @ 26.03.2014, 00:27 *
Значит всё-таки будет ваше средство разборки\сборки образов для AmLogic ?!

Будет :-) и не только для AmLogic (это тип проца вроде рокчипа и медиатека что ли или платформа какая ? ) Вообще что бы тут на форуме не говорили я перелопатив кучку образов еще раз убедился что проц не играет роли для бутов и рекавери, а вот следование стандартам производителем играет большую роль, пока добавлял поддержку формата KRNL - узнал алгоритм расчета CRC - он совсем не похож на стандартный CRC32 (в исходниках фигурирует как RKCRC - ради рокчипа его замутили что ли ? непонятно...) , хотя и CRC32 тоже имеет разновидности. А ведь от контрольной суммы многое зависит - если она неправильно посчитана, то верификация образа на устройстве не пройдет и будет или черный экран или вечный ребут.
rgusev @ 31.03.2014, 15:59 *
RAM 2GB
*genext2fs -a -d Unpack\system -b 715250 -m 0 Pack\Firmware\Image\system.img
Start create ext2 image from folder: Unpack\system Please wait...
genext2fs: not enough memory for filesystem

Судя по отладке версия genext2fs обновленная, на новой версии я такую ошибку ловил только на виртуалке, на стандартной машине памяти хватает за глаза, там реально 800 метров в оперативной памяти разворачиваются, я уверен что в Вашем случае банально не хватает оперативки, на 4 Гигах и 64-разрядной винде проблем не будет - народ уже тут отписывался про подобную проблему. Вообще еще вариант найти другие исходники genext2fs - возможно кто то модифицировал версию под небольшой объем оперативки, мне кажется я наталкивался на что то подобное, но поскольку пересобранная мной версия у большинства заработала я на дальнейшую модификацию забил.
rgusev @ 31.03.2014, 15:59 *
Глючит утилита RKwinToolsMod версия 2.8 из шапки.
(я ЗНАЮ что она под РокЧип, прочитайте пожалуйста дальше)

Кто вам сказал такую ерунду ? :-) Во первых это не утилита, а кухня (сборка утилит) и во вторых она и медиатеки и алвинеры и амлоджики обработает если производитель устройств будет следовать стандарту загрузочных образов, например формату Android Boot Image. Ну вот сами подумайте какая взаимосвязь между процессором (чипом) и структурой образа ? Да ядро(кернел) компилируется под определенный конфиг, но мы же не разбираем кернел. А исполняемые ELF для рокчипа или медиатека у меня прекрасно работают на Android SDK Emulator, который может эмулировать ЛЮБОЕ физическое устройство и ведь в настройке то у него всего ТРИ вида платформ: ARM, MIPS, x86

Сообщение отредактировал And_pda - 02.04.14, 16:14
Причина редактирования: дополнил



Реп: (370)
Итак свершилось, кухни и CYGWIN уходят в прошлое...

Представляю первый тестовый вариант утилиты для разборки\сборки загрузочных образов типа Boot и Recovery - AndImgTool (Android Image Tool), релиз выложен в шапке, основные обновления будут там же.

Тут опишу использование утилиты, приведу скрины и логи работы по распаковке\запаковке разных типов образов.
Следуя традиции, утилита AndImgTool полностью консольная - т.е. можно над ней писать батники и автоматизировать рутинные операции по разборке\сборке. В этом режиме (CMD, Far и т.п.) доступен расширенный функционал, можно указать свой путь распаковки или свое имя файла для сборки, указать опцию -i и получить дополнительную отладочную информацию, будет более подробное логирование и в папках tmp_unpack и tmp_pack будут сохраняться образы, обрабатываемые на определенных шагах. Например при распаковке обычного Android Boot Image там можно будет обнаружить рамдиск упакованный в формат CPIO и CPIO.GZ и образ с данными по которому рассчитывался хеш SHA1, полезная информация если перерассчитанный хеш не совпадет с хешем из заголовка. Но это все для продвинутых ковыряльщиков.
А для обычных пользователей можно использовать основной функционал утилиты при обычной работе в Windows (таскание мышкой объекта на объект), разжую подробно :
1. В папку с образами типа boot или recovery распаковываем AndImgTool
2. Для распаковки цепляем мышкой нужный образ и тянем на AndImgTool, пока не появится надпись "Открыть с помощью AndImgTool" (Для Windows XP надписи не появится, нужно просто перетянуть образ на утилиту)
3. Отпускаем мышку и смотрим в появившееся черное окошко, там будет информация о ходе распаковки и в конце предложено нажать Enter.
4. После нажатия Enter окно закроется и в исходной папке с образами появится новая папка, имя у которой будет совпадать с именем перетаскиваемого образа плюс "_" (подчерк)
Скрин рапаковки образа boot утилитой AndImgTool через таскание мышкой
Прикрепленное изображение

Для сборки порядок такой же, только перетаскиваем папку с распакованным содержимым на AndImgTool, так же появляется черное окно, также жмем Enter и наблюдаем появление нового файла, имя у которого будет совпадать с первоначальным именем распакованного образа, только начинаться будет с префикса "new_" (на скрине выделено красным)
Скрин запаковки образа boot утилитой AndImgTool через таскание мышкой
Прикрепленное изображение


Список проверенных устройств
Я проверял распаковку\запаковку для образов разных форматов, из разных прошивок и от разных устройств, но проверить работоспособность пересобранных образов я не могу, пересобранные образы при сравнении в WinHex с оригинальными будут иметь отличия по любому, об этом отписался в дополнительной информации.
Поэтому тут появится информация об устройствах (название модели, процессор - это ссылка на конкретный отклик), владельцы которых подтвердят работоспособность пересобранных образов.

Motorola Moto X (Qualcomm) благодарность за тестирование Alex469
Motorola Photon Q (Qualcomm) благодарность за тестирование Alex469
THL T200 (MediaTek) благодарность за тестирование prog2
Ainol Novo7 Fire (Amlogic) благодарность за тестирование vitaly51370
Lenovo K910S (Qualcomm) благодарность за тестирование shafs
LG Optimus L7 II (Qualcomm) благодарность за тестирование AndroID-Andrey
SmartQ X7 (OMAP) благодарность за тестирование DenZ4pda
Himedia QxII (HiSilicon) благодарность за тестирование tka4ev
Explay Surfer 7.03(Amlogic AML8726-MX) благодарность за тестирование kindofamoron
Samsung SM-N9005 Galaxy Note 3 LTE (Qualcomm Snapdragon) благодарность за тестирование Lost_Angel
Philips i928 (MTK6592, Android 4.4.2) благодарность за тестирование DOC2008
Alcatel Idol x6040x (MediaTek MT6589T) благодарность за тестирование s.l.a.s.h.e.r
Samsung GT-I9190 Galaxy S4 Mini (Qualcomm Snapdragon) благодарность за тестирование narkoman88
HTC One (Qualcomm Snapdragon 600 APQ8064T) благодарность за тестирование knski
ридер WEXLER (Freescale iMX508) благодарность за тестирование kindofamoron
Lenovo Vibe Z2 Pro (msm8974), Lenovo Vibe Z2 (msm8916), Lenovo S90 (msm8916), Lenovo S580 (msm8910), Lenovo S856 (msm8926) благодарность за тестирование SevenMaxs



Дополнительная информация для интересующихся и продвинутых
Теперь немного более детальной информации про процесс распаковки\запаковки и логов от распаковки и запаковки загрузочных образов разных типов.

разборка recovery.img от Lenovo K910 (Android Boot Image с новым блоком DTB(QCDT), Qualcomm)
AndImgTool version 1.0.0 Created by And_PDA

Android Image Tool for unpack\pack images in Android Boot Image, UBoot formats

Image file recovery_dtb.img open successful, size = 20971520 byte
Found ANDROID BOOT IMAGE
Config header info save to D:\MyTools\AndImgTool\recovery_dtb_\cfg\recovery_dtb.cfg
CFG section add to D:\MyTools\AndImgTool\recovery_dtb_\config.ini
kernel save to D:\MyTools\AndImgTool\recovery_dtb_\kernel\zImage
Found GZIP format for ramdisk block
GZIP unpack successful...
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\recovery_dtb_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\recovery_dtb_\cpiostatfile.txt
Found QCDT magic for DTB block
Hash SHA1 verified successfully
Unpack recovery_dtb.img finish success
Press Enter to continue...

разборка recovery.img от Ainol Novo7 (UBOOT, Amlogic)
AndImgTool version 1.0.0 Created by And_PDA

Android Image Tool for unpack\pack images in Android Boot Image, UBoot formats

Image file recovery_uboot.img open successful, size = 4165054 byte
Found UBOOT IMAGE
Image Type: OS Kernel Image
Compression Type: LZMA Compression Used
CRC of UBOOT Header verified successfully
CFG section add to D:\MyTools\AndImgTool\recovery_uboot_\config.ini
CRC of UBOOT data image verified successfully
Unpack kernel from lzma successfully
kernel save to D:\MyTools\AndImgTool\recovery_uboot_\kernel\zImage
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\recovery_uboot_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\recovery_uboot_\cpiostatfile.txt
Unpack recovery_uboot.img finish success
Press Enter to continue...

распаковка boot.img из fw_NT_SPACE-II_v4.1.1_06.11.2012 (KRNL Image, RockChip)
AndImgTool version 1.0.0 Created by And_PDA

Android Image Tool for unpack\pack images in Android Boot Image, UBoot formats

Image file boot_krnl.img open successful, size = 970472 byte
Found KRNL IMAGE
Main section add to D:\MyTools\AndImgTool\boot_krnl_\config.ini
Found KRNL magic for ramdisk block
CRC for KRNL data verified successfully
Found GZIP format for ramdisk block
GZIP unpack successful...
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\boot_krnl_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\boot_krnl_\cpiostatfile.txt
Unpack boot_krnl.img finish success
Press Enter to continue...
распаковка boot.img из ZP998_MTK6592 (Android Boot Image, MediaTek)
AndImgTool version 1.0.0 Created by And_PDA

Android Image Tool for unpack\pack images in Android Boot Image, UBoot formats

Image file boot_mtk.img open successful, size = 5156864 byte
Found ANDROID BOOT IMAGE
Config header info save to D:\MyTools\AndImgTool\boot_mtk_\cfg\boot_mtk.cfg
CFG section add to D:\MyTools\AndImgTool\boot_mtk_\config.ini
Found MTK magic for kernel block
kernel save to D:\MyTools\AndImgTool\boot_mtk_\kernel\zImage
Found MTK magic for ramdisk block
Found GZIP format for ramdisk block
GZIP unpack successful...
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\boot_mtk_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\boot_mtk_\cpiostatfile.txt
Hash SHA1 verified successfully
Unpack boot_mtk.img finish success
Press Enter to continue...

распаковка boot.img из 3Q_RC9724C_20121102 (Android Boot Image, RockChip)
AndImgTool version 1.0.0 Created by And_PDA

Android Image Tool for unpack\pack images in next formats:
UBOOT image, Android Boot Image, KRNL image

Image file boot.img open successful, size = 9273344 byte
Found ANDROID BOOT IMAGE
Config header info save to D:\MyTools\AndImgTool\boot_\cfg\boot.cfg
CFG section add to D:\MyTools\AndImgTool\boot_\config.ini
kernel save to D:\MyTools\AndImgTool\boot_\kernel\zImage
Found GZIP format for ramdisk block
GZIP unpack successful...
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\boot_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\boot_\cpiostatfile.txt
Hash SHA1 verified successfully
Unpack boot.img finish success
Press Enter to continue...

распаковка recovery.img от MOTO X (Android Boot Image с новым блоком DTB, Qualcomm)
AndImgTool version 1.0.1 Created by And_PDA

Android Image Tool for unpack\pack images in next formats:
UBOOT image, Android Boot Image, KRNL image

Image file recovery_moto.img open successful, size = 10485760 byte
Found ANDROID BOOT IMAGE
Config header info save to D:\MyTools\AndImgTool\recovery_moto_\cfg\recovery_moto.cfg
CFG section add to D:\MyTools\AndImgTool\recovery_moto_\config.ini
kernel save to D:\MyTools\AndImgTool\recovery_moto_\kernel\zImage
Found GZIP format for ramdisk block
GZIP unpack successful...
Found CPIO format for ramdisk block
CPIO unpack successful...
Unpacked ramdisk save to D:\MyTools\AndImgTool\recovery_moto_\ramdisk\
List of files and folders with their UNIX-attributes save to D:\MyTools\AndImgTool\recovery_moto_\cpiostatfile.txt
Found DTB magic for DTB block
Hash SHA1 verified successfully
Unpack recovery_moto.img finish success
Press Enter to continue...

Красным выделил вывод сообщения о верификации хеша или контрольных сумм, это очень важный момент, думаю что по этой причине и используются разные утилиты для разборки\сборки этих образов, например рокчип при формате Android Boot Image в расчете хеша SHA1 использует весь заголовок, а медиатек и леново ограничиваются частью оного. Поэтому при распаковке я пытаюсь просчитать хеш от содержимого и сравнить с данными из заголовка, запоминая последовательность (алгоритм) для обратной сборки. Если все сошлось то будет сообщение об успешной верификации, это значит что пересобранный образ должен заработать, проблем с верификацией на устройстве возникнуть не должно. В логах указывал названия прошивок или устройств, на образах которых тестировал утилиту, если где то ошибся поправьте - вообще хочу в этом посте сделать список проверенных устройств, для которых утилита правильно работает - таким образом развеется миф о зависимости инструмента от процессора(чипа).
про config.ini и распакованном содержимом
Теперь немного о распакованном содержимом загрузочных образов: в них может быть кернел, рамдиск, кернел+рамдиск, cmdline, новый dtb блок и возможно еще что то что производитель устройства захотел впихнуть в загрузочный образ. Структура распакованных папок взята из кухни, если взять формат Android Boot Image, то будут распакованы три папки: CFG, kernel и ramdisk, папка CFG не участвует в сборке вообще и распаковывается лишь для совместимости с кухней (вдруг кто то захочет распаковывать утилитой AndImgTool, а запаковывать кухней), весь необходимый конфиг сохраняется в файле config.ini, на основании которого происходит обратная сборка, вот пара вариантов этого файла:
config.ini после разбора recovery.img от MOTO X
[Main]
Type=ANDROID!
Name=recovery_moto.img
Size=10485760
CRC=kernel,ramdisk,secondary_size,dtb
[CFG]
kerneladdr=80208000
ramdiskaddr=82200000
secondaddr=81100000
tagsaddr=80200100
pagesize=00000800
name=
cmdline=console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3F ehci-hcd.park=3 maxcpus=2 vmalloc=400M
[kernel]
Path=D:\MyTools\AndImgTool\recovery_moto_\kernel\zImage
Type=zImage
[ramdisk]
Type=GZIP,CPIO
Path=D:\MyTools\AndImgTool\recovery_moto_\ramdisk\
FixStatsFile=D:\MyTools\AndImgTool\recovery_moto_\cpiostatfile.txt
[dtb]
Type=DTB
Path=D:\MyTools\AndImgTool\recovery_moto_\dtb\dtb.img

config.ini после разбора boot.img из ZP998_MTK6592
[Main]
Type=ANDROID!
Name=boot_mtk.img
Size=5156864
CRC=kernel,ramdisk,secondary_size
[CFG]
kerneladdr=268468224
ramdiskaddr=285212672
secondaddr=284164096
tagsaddr=268435712
pagesize=2048
name=1388826435
cmdline=
[kernel]
Type=MTK,zImage
MtkName=KERNEL
Path=D:\MyTools\AndImgTool\boot_mtk_\kernel\zImage
[ramdisk]
Type=MTK,GZIP,CPIO
MtkName=ROOTFS
Path=D:\MyTools\AndImgTool\boot_mtk_\ramdisk\
FixStatsFile=D:\MyTools\AndImgTool\boot_mtk_\cpiostatfile.txt

Пример от MediaTek интересней в плане тройной обертки рамдиска, т.е. вначале он должен быть собран в CPIO, потом упакован в GZIP и потом обернут в MTK, соответственно при разборке эти шаги сохраняются что бы потом можно было собрать по тому же алгоритму. Поскольку используются разные алгоритмы упаковки GZIP (возможно собранные даже под разные операционки: UNIX или Windows) то всегда при перепаковке будет разница в размере упакованного ramdisk.cpio.gz (initrd.cpio.gz), поэтому пересобрав распакованный образ нельзя получить при сравнении образов в WinHex сходство один-в-один, разница будет и в самом запакованном блоке и в размере рамдиска и соответственно в хеше SHA1, поэтому для пытливых умов и сомневающихся можно проделать такой трюк:
1. Распаковываем образ с параметром -i (в результате в папке tmp_unpack будет лежать оригинальный ramdisk.cpio.gz )
2. Для сборки в config.ini для секции [ramdisk] меняем значение параметра Path (путь с папки на вышеупомянутый файл) и из значения параметра Type удаляем GZIP,CPIO, т.е. вместо
[ramdisk]
Type=MTK,GZIP,CPIO
MtkName=ROOTFS
Path=boot_mtk_\ramdisk\
FixStatsFile=boot_mtk_\cpiostatfile.txt

должно получится так
[ramdisk]
Type=MTK
MtkName=ROOTFS
Path=boot_mtk_\tmp_unpack\ramdisk.cpio.gz
FixStatsFile=boot_mtk_\cpiostatfile.txt

3. Собираем образ и сравниваем исходный и получившийся образы в WinHex, сходство будет один-в-один. Так можно проверить рассчет хеша SHA1.

про cpiostatfile.txt и UNIX-атрибуты содержимого рамдиска
Теперь про файл cpiostatfile.txt - в нем сохраняется список файлов и их UNIX-атрибутов, порядок следования в рамках CPIO (для большей схожести при перепаковке), поскольку WINDOWS не умеет сохранять UNIX-атрибуты, то этот файл необходим, но если его удалить из папки с распакованным содержимым, то он сформируется заново, а UNIX-атрибуты (UID, GID, права) будут пофикшены (восстановлены) в соответствии с алгоритмом заложенным в android_filesystem_config.h этот механизм используется при сборке образов system форматов EXT2\EXT3\EXT4 Поэтому возможны расхождения между оригинальным списком и заново сформированным, например так
различия в UNIX-атрибутах содержимого CPIO
Прикрепленное изображение

Если возникает необходимость добавить в рамдиск новые файлы, нужно или в ручную прописать их в cpiostatfile.txt (копируя похожую строчку и заменяя имя файла) или удалить существующий cpiostatfile.txt и дать утилите возможность сформировать этот файл заново с правилами из android_filesystem_config.h




Сообщение отредактировал And_pda - 19.03.15, 13:50
Причина редактирования: дополнения, пост будет обновляться



Реп: (316)
And_pda @ 02.04.2014, 14:47 *
Кто вам сказал такую ерунду ?
ну я писал немного на нервах. Назвал неправильно(утилитой).
У вас название RK - РокЧип.
Вы же в курсе что есть ещё варианты такой же кухни... ээээ (кто там у кого идею взял налезаю да и не важно)
Там так и разделяют. MKwinTools, RMwinTools, OMAPwinTools
Ну а что работает, я в курсе. Пользуюсь ею.
Спасибо за кухню.
И за отклик.



Реп: (370)
rgusev @ 02.04.2014, 17:43 *
У вас название RK - РокЧип.

ну а в рабочем окне и в заголовке после запуска что написано ?
RK & MT WinTools Modification v2.8
Прикрепленное изображение

сам ужаснулся сколько ж рабочих проектов у меня за время накопилось, причем давно уже кухней не пользуюсь...
rgusev @ 02.04.2014, 17:43 *
Вы же в курсе что есть ещё варианты такой же кухни... ээээ (кто там у кого идею взял налезаю да и не важно)

В курсе конечно, я же там и пытался народу помогать, там же мои первые утилиты были выложены: Ext4Extractor (распаковщик формата EXT4) и ImgExtractor (универсальный распаковщик образов разных файловых систем).
А идея кухни взята из интернета, основные утилиты почти все под CYGWIN, какие то скрипты на LUA были написаны, для рокчипа Wendal делал батники, да кто только их не делал (имея основные утилиты оболочку написать несложно, хоть графическую, хоть скриптовую), кухонь вообще такое множество, но ведь это и хорошо.
rgusev @ 02.04.2014, 17:43 *
Там так и разделяют. MKwinTools, RMwinTools, OMAPwinTools

Ну вот пусть там и разделяют, а мы будем универсальное средство делать, отвязанное от CYGWIN



Реп: (2337)
And_pda, мои тесты нового средства для SoC Amlogic потерпели неудачу.
1. На Win XP не работает: при перетягивании образа на AndImgTool не появляется надпись "Открыть с помощью AndImgTool" и после нажатия "Enter" окно закрывается, без создания новых папок.
Прикрепленное изображение
Прикрепленное изображение

2. На Win 7: стоковый recovery<3e> разобрал, подредактировал значения, запаковал без ошибок, прошил успешно (хотя можно было запустить с внешней карты, но был уверен), и при попытке попасть в recovery происходит обычная перезагрузка, правда дольше, чем обычно (вместо одного раза, почему-то через пару секунд, появляется ещё второй раз первый загрузочный лого-дроид).
Образ boot.img средство разбирает и собирает без ошибок, но прошивать не пробовал.



Реп: (239)
And_pda @ 02.04.2014, 15:37 *
тестовый вариант утилиты для разборки\сборки загрузочных образов типа Boot и Recovery - AndImgTool (Android Image Tool)

При разбрке Recovery и Boot для Мото Х (прошивка) ошибки:
Unknown format for dtb block
Error in dtb block, data save to C:\recovery_\dtb\dtb_tmp.img
Error in dtb block
Unpack C:\recovery.img fail

Для Boot ошибка та же - Error in dtb block



Реп: (370)
vitaly51370 @ 03.04.2014, 01:24 *
And_pda, мои тесты нового средства для SoC Amlogic потерпели неудачу.
1. На Win XP не работает: при перетягивании образа на AndImgTool не появляется надпись "Открыть с помощью AndImgTool" и после нажатия "Enter" окно закрывается, без создания новых папок.

Не все так печально :-) Вылетов не было, утилита отработала в заложенных рамках, под Windows XP при перетаскивании мышкой не смог открыться файл-источник, о чем и сообщилось в выводе. Через FAR эту ошибку даже и не обнаружили бы - так что СПАСИБО за тестирование. Исправлю и проверю на Windows2003 (найти XP уже проблема). А так распаковка вплоть до рамдиска работает - теперь сами можете распаковывать свои образы и никого не просить.
vitaly51370 @ 03.04.2014, 01:24 *
при попытке попасть в recovery происходит обычная перезагрузка

Вот это уже интересней, я конечно сам виноват, не успел предупредить о таком возможном исходе в Вашем случае, дело в том что обратная запаковка в LZMA производится с параметрами, отличающимися от оригинальных, были мысли что это может сказаться, но уверенности не было, интересно было проверить - теперь внесу изменения и буду максимально приближаться к варианту ручной сборки. Он же был рабочим после пересборки рамдиска. А изменения вносили минимальные ? 1 сменили на 0 или добавили пару строчек ?
Alex469 @ 03.04.2014, 10:59 *
Для Boot ошибка та же - Error in dtb block

Ошибка понятна, не нашлась сигнатура QCDT (которая была в рекавери от Леново K910), значит Леново опять что то свое придумала поверх стандартного блока - он нашелся чуть дальше и его начальные байты сошлись с вариантом от Moto X, добавил новую сигнатуру. Может у кого есть информация про этот новый блок, у меня не было времени искать в инете информацию о нем, но сложилось мнение что его как то можно распаковать наподобии рамдиска, пока буду обрабатывать его как черный ящик - наподобии кернела.

Небольшие изменения буду выкладывать по месту обсуждений, если добавится что то глобальное или накопится много исправлений, тогда обновлю и в шапке, но пока новую версию выложу тут.
AndImgTool версия 1.0.2 Прикрепленный файлAndImgTool_1_0_2.rar ( 109.85 КБ )

- исправлена работоспособность при таскании мышкой под Windows XP
- добавлена обработка блока DTB по новой сигнатуре
- числовые параметры в конфиге для Android Boot Image сохраняются теперь в шестнадцатеричном виде
- изменена дефолтная паковка в LZMA (параметр оказался весьма критичным, по умолчанию размер словаря был 16 мегабайт, а в оригинале 8 мегабайт), скорее всего снова не хватило памяти. (информация для vitaly51370)
- добавил немного информации при распаковке блока QCDT (QC table of Device Tree): выводится версия и количество блоков DTB
- при логировании для наглядности указываются размеры сохраняемых блоков (кернела, dtb)

P.S.
пост в начале страницы в процессе обновления, добавил в него лог распаковки recovery.img от MOTO X (прошивка TMO_RETAIL_XT1053_4.4.2-KXA20.16-1.25_MR3_CFC)
Alex469 @ 03.04.2014, 13:15 *
Boot и Recovery от Moto X разобрались без ошибок. А вот при сборке методом "перетаскивания папки с распакованным содержимым на AndImgTool" программа завершается аварийно. Пробовал на Win 7 64 бит.

Скрин экрана распаковки и ошибки в студию. Может что то из распакованного на редактировании было открыто или результирующий файл ранее созданный ? типа результат сохранится не может ? Я обработку всех исключений не делал.
Вот мой скрин запаковки - нет ошибки. Сравните размеры блоков на скрине с вашими - сойдутся или нет ? Только в своем посте про ошибку дополнительно отпишитесь (скрин добавьте), по старой ошибке новый пост не плодите, а то увязнем в них.
мышкой образ перетащил - распаковал и потом папку перетащил - запаковал
Прикрепленное изображение


Сообщение отредактировал And_pda - 03.04.14, 18:00
Причина редактирования: дополнил



Реп: (239)
And_pda @ 03.04.2014, 12:48 *
AndImgTool версия 1.0.1

And_pda,
Boot и Recovery от Moto X разобрались без ошибок. А вот при сборке методом "перетаскивания папки с распакованным содержимым на AndImgTool" программа завершается аварийно. Пробовал на Win 7 64 бит.

Update:
Похоже понял в чем проблема с аварийным завершением при сборке - длинный путь папки, в которой производится операция. Пример:
- Аварийно завершается, когда тул и папка с распакованным recovery находится в C:\Milestone\_Moto X_\ROM\4-4-2\RETAIL-GB_GHOST_KLA20.16-2.16_cid7_CFC_1FF_v2.xml
- Работает нормально, когда тул и папка с распакованным recovery находится в C:\0
Размеры блоков совпадают.

Сообщение отредактировал Alex469 - 04.04.14, 09:40



Реп: (2337)
And_pda, версия AndImgTool 1.0.2 на Win XP заработала (без появления надписи "Открыть с помощью AndImgTool"). Вспомнил про "золотое правило" - распаковал стоковый recovery<3e> и, ничего не редактируя, снова запаковал. К сожалению попасть в recovery опять не удаётся - происходит обычная перезагрузка. Прошивать пробовал двумя вариантами:
1. С помощью flash_image прошиваю сначала стоковый recovery<3e>, благополучно загружаюсь в recovery, после перезагрузки устройства в /cache/recovery/ появляется файл last_log
Starting recovery on Thu Apr 3 19:39:56 2014
framebuffer: fd 4 (1280 x 800)
W:ev_init: test 0 0
W:ev_init: got Y info, maximum(800), minimum(0) 800
W:ev_init: test 1 400
W:ev_init: got Y info, maximum(512), minimum(-512) 1024
W:ev_init: test 1 0
W:ev_init: test 0 0
W:ev_init: test 0 0
W:ev_init: assume middle Y is(0)
recovery filesystem table
=========================
0 /tmp ramdisk (null) (null) 0
1 / ramdisk (null) (null) -7552781865160314626
2 /bootloader mtd bootloader (null) 0
3 /logo mtd logo (null) 0
4 /aml_logo mtd aml_logo (null) 0
5 /recovery mtd recovery (null) 0
6 /boot mtd boot (null) 0
7 /system ubifs system (null) 0
8 /cache yaffs2 cache (null) 0
9 /data ubifs userdata (null) 0
10 /sdcard vfat /dev/block/mmcblk0p# /dev/block/cardblksd# 0
11 /media vfat /dev/block/avnftl8p1 /dev/block/avnftli1 0

E:Bad bootloader arguments
"(null)"
Fixing execute permissions for /cache
W:try mount /dev/block/mmcblk0p1 ...
W:try mount /dev/block/mmcblk0p2 ...
W:try mount /dev/block/mmcblk0p3 ...
W:try mount /dev/block/mmcblk0p4 ...
W:try mount /dev/block/mmcblk0p ...
W:try mount /dev/block/cardblksd1 ...
E:unknown volume for path [/udisk/factory_update_param.aml]
E:Can't mount /udisk/factory_update_param.aml
I:loaded /etc/recovery.kl
I:recovery key map table
I:=========================
I: 0 type:select value:-4 key:28 15 116 104 115 -1
I: 1 type:down value:-3 key:108 114 109 -1 -1 -1
I: 2 type:up value:-2 key:103 -1 -1 -1 -1 -1
I:
Command: "/sbin/recovery" "--show_text"

ro.secure=1
ro.allow.mock.location=1
ro.debuggable=0
persist.sys.usb.config=mass_storage,adb
ro.build.id=20130227.qm
ro.build.display.id=20130227.qm
ro.build.version.incremental=eng.feiyu.20130227.221014
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.4
ro.build.date=2013年 02жњ€ 27ж—Ґ ж˜џжњџдё‰ 22:11:32 CST
ro.build.date.utc=1361974292
ro.build.type=user
ro.build.user=feiyu
ro.build.host=ubuntu
ro.build.tags=test-keys
ro.product.model=Novo7Fire
ro.product.brand=MID
ro.product.name=g06refe4
ro.product.device=g06refe4
ro.product.board=g06refe4
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=MID
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=14
ro.board.platform=meson6
ro.build.product=g06refe4
ro.build.description=g06refe4-user 4.0.4 20130227.qm eng.feiyu.20130227.221014 test-keys
ro.build.fingerprint=MID/g06refe4/g06refe4:4.0.4/20130227.qm/eng.feiyu.20130227.221014:user/test-keys
ro.build.characteristics=tablet
ro.sf.lcd_density=160
keyguard.no_require_sim=1
keyguard.enable=true
ro.statusbar.widget=true
ro.statusbar.button=true
ro.statusbar.yearmonthdayweek=true
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
hwui.render_dirty_regions=false
hw.nopm=false
hw.nobattery=false
hw.nophone=false
hw.istablet=true
hw.novibrate=false
hw.has.accessibility.accel=false
hw.cameras=1
hw.hasethernet=true
ro.platform.has.touch=true
ro.platform.has.sleeppolicy=false
ro.sf.hwrotation=270
ro.sf.gsensorposition=0
bma250.sf.gsensorposition=4
mma8452.sf.gsensorposition=7
allow_all_orientations=1
ro.ui.cursor=osd2
ro.hardware=amlogic
sys.fb.bits=32
gps.enable=false
media.amsuperplayer.enable=true
media.amplayer.enable-acodecs=asf,aac,m4a,ape,flac,alac
media.amplayer.enable=true
media.amsuperplayer.m4aplayer=STAGEFRIGHT_PLAYER
media.amsuperplayer.defplayer=PV_PLAYER
media.amplayer.thumbnail=true
media.amplayer.widevineenable=true
media.amplayer.stopbuflevel=0.05
gadget.nand.force_sync=true
ro.statusbar.widget.power=true
ro.hdmi480p.enable=false
ro.camera.dcim=1
ro.amlogic.no.preloadclass=1
ro.app.optimization=true
ro.vout.dualdisplay3=true
ro.vout.player.exit=false
persist.sys.timezone=Asia/Shanghai
ro.has.cpu.setting=true
ro.cpumode.maxfreq=1200000,1512000,800000
ro.usbstorage.cpumode=performance
ro.usbstorage.maxfreq=600000
has.media.poll=false
media.libplayer.seek.fwdsearch=1
ro.flashplayer.surfacehack=1
virtualsd.enable=true
ro.audioEffectEnabled=true
statusbar.hide.setting=false
debug.default.dimention=1
ro.opengles.version=131072
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
drm.service.enabled=true
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=
ro.bootmode=unknown
ro.baseband=unknown
ro.carrier=unknown
ro.bootloader=unknown
ro.revision=32
init.svc.console=running
init.svc.recovery=running

Потом таким же способом (без сообщений об ошибках) прошиваю перепакованный new_recovery.img, в recovery попасть не могу и не создаётся соответствующий log-файл.

2. С внешней карты, с помощью TWRP recovery, через update.zip прошиваю сначала стоковый recovery<3e>, всё нормально, после перезагрузки устройства в /cache/recovery/ появляется файл last_log
Starting TWRP 2.3.2.3 on Thu Apr 3 19:18:28 2014
I:=> hardware id from cpuinfo: 'Amlogic Meson6 g06 customer pl'
I:=> serial from cpuinfo: '000000000000000c'
I:Internal path defined: '/emmc'
I:External path defined: '/sdcard'
Starting the UI...Pixel format: 1280x800 @ 32bpp
Pixel format: RGB_565
framebuffer: fd 4 (1280 x 800)
=> Linking mtab
=> Processing recovery.fstab
I:Processing '/boot'
I:Processing '/system'
I:Processing '/cache'
I:Processing '/data'
I:Processing '/emmc'
I:Created '/and-sec' folder.
I:Processing '/sdcard'
I:Processing '/sd-ext'
I:Created '/sd-ext' folder.
Updating partition details...
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:mount ubifs successful /dev/ubi0_0 to /data
I:detach ubifs successful mtd7
I:Unable to mount '/sd-ext'
I:Actual block device: '', current file system: 'auto'
I:Unmounting main partitions...

Partition Logs:
/boot | /dev/block/mtdblock4 | Size: 8MB
MTD_Name: boot
Backup_Method: flash_utils

/system | /dev/block/mtdblock5 | Size: 314MB Used: 146MB Free: 168MB Backup Size: 146MB
Flags: Can_Be_Wiped Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock5
Display_Name: System
Backup_Path: /system
Backup_Name: system
Current_File_System: ubifs
Fstab_File_System: ubifs
MTD_Name: system
Backup_Method: files

/cache | /dev/block/mtdblock6 | Size: 255MB Used: 48MB Free: 207MB Backup Size: 48MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock6
Display_Name: Cache
Backup_Path: /cache
Backup_Name: cache
Current_File_System: yaffs2
Fstab_File_System: yaffs2
MTD_Name: cache
Backup_Method: files

/data | /dev/block/mtdblock7 | Size: 1754MB Used: 233MB Free: 1520MB Backup Size: 233MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock7
Display_Name: Data
Backup_Path: /data
Backup_Name: data
Current_File_System: ubifs
Fstab_File_System: ubifs
MTD_Name: userdata
Backup_Method: files

/emmc | /dev/block/avnftli1 | Size: 12541MB Used: 548MB Free: 11993MB Backup Size: 0MB
Flags: Can_Be_Wiped IsPresent Has_Android_Secure Is_Storage
Symlink_Path: /emmc/.android_secure
Symlink_Mount_Point: /and-sec
Primary_Block_Device: /dev/block/avnftli1
Display_Name: emmc
Backup_Path: /and-sec
Backup_Name: and-sec
Storage_Path: /emmc
Current_File_System: vfat
Fstab_File_System: vfat
Backup_Method: files

/sdcard | /dev/block/cardblksd1 | Size: 1893MB Used: 9MB Free: 1883MB Backup Size: 0MB
Flags: Can_Be_Wiped Removable IsPresent Has_Android_Secure Is_Storage
Symlink_Path: /sdcard/.android_secure
Symlink_Mount_Point: /and-sec
Primary_Block_Device: /dev/block/cardblksd1
Alternate_Block_Device: /dev/block/cardblksd0
Display_Name: sdcard
Backup_Path: /and-sec
Backup_Name: and-sec
Storage_Path: /sdcard
Current_File_System: vfat
Fstab_File_System: vfat
Backup_Method: files

/sd-ext | | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI Removable
Primary_Block_Device: /dev/block/cardblksd2
Display_Name: SD-Ext
Backup_Path: /sd-ext
Backup_Name: sd-ext
Current_File_System: auto
Fstab_File_System: auto
Backup_Method: files

I:Loading package: TWRP (/script/ui.xml)
I:Loading package: TWRP (/emmc/TWRP/theme/ui.zip)
I:Loading package: TWRP (/res/ui.xml)
I:Loading resources...
I:Loading variables...
I:Loading pages...
I:Loading page main
I:Loading page main2
I:Loading page install
I:Loading page flash_confirm
I:Loading page flash_zip
I:Loading page flash_done
I:Loading page clear_vars
I:Loading page confirm_action
I:Loading page action_page
I:Loading page action_complete
I:Loading page filecheck
I:Loading page rebootcheck
I:Loading page reboot
I:Loading page mount
I:Loading page usb_mount
I:Loading page usb_umount
I:Loading page wipe
I:Loading page backup
I:Loading page backupname1
I:Loading page backupname2
I:Loading page backup_run
I:Loading page restore
I:Unable to open '/emmc/TWRP/BACKUPS/000000000000000c'
I:Loading page restore_select
I:Loading page renamebackup
I:Loading page restore_run
I:Loading page settings
I:Loading page timezone
I:Loading page advanced
I:Loading page partsdcard
I:Loading page htcdumlock
I:Loading page lock
I:Loading page filemanagerlist
I:Loading page filemanageroptions
I:Loading page choosedestinationfolder
I:Loading page filemanagerrenamefile
I:Loading page filemanagerrenamefolder
I:Loading page filemanagerchmod
I:Loading page filemanagerconfirm
I:Loading page filemanageracction
I:Loading page decrypt
I:Loading page trydecrypt
I:Loading page terminalfolder
I:Loading page terminalcommand
I:Switching packages (TWRP)
I:Set page: 'clear_vars'
I:Set page: 'main2'
Command: "/sbin/recovery"

ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mass_storage,adb
ro.build.id=JZO54K
ro.build.display.id=cm_elf2-userdebug 4.1.2 JZO54K eng.alan.20121203.172933 test-keys
ro.build.version.incremental=eng.alan.20121203.172933
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1.2
ro.build.date=lun 3 dic 2012, 17.33.19, CET
ro.build.date.utc=0
ro.build.type=userdebug
ro.build.user=alan
ro.build.host=Audrey
ro.build.tags=test-keys
ro.product.model=Nexus 7
ro.product.brand=Google
ro.product.name=nakasi
ro.product.device=grouper
ro.product.board=g06ref
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Asus
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=meson6
ro.build.product=grouper
ro.build.description=nakasi-user 4.1.2 JZO54K 485486 release-keys
ro.build.fingerprint=google/nakasi/grouper:4.1.2/JZO54K/485486:user/release-keys
ro.build.characteristics=tablet
ro.cm.device=elf2
ro.opengles.version=131072
hwui.render_dirty_regions=false
ro.sf.lcd_density=160
keyguard.no_require_sim=true
hw.nopm=false
hw.nobattery=false
hw.nophone=false
hw.novibrate=false
hw.cameras=1
hw.hasethernet=true
ro.platform.has.touch=true
ro.platform.has.sleeppolicy=false
ro.sf.hwrotation=270
ro.sf.gsensorposition=2
allow_all_orientations=1
ro.ui.cursor=osd2
ro.hardware=amlogic
sys.fb.bits=32
gps.enable=false
media.amsuperplayer.enable=true
media.amplayer.enable-acodecs=asf,aac,m4a,ape,flac,alac
media.amplayer.enable=true
media.amsuperplayer.m4aplayer=STAGEFRIGHT_PLAYER
media.amsuperplayer.defplayer=PV_PLAYER
media.amplayer.thumbnail=true
media.amplayer.widevineenable=true
media.amplayer.stopbuflevel=0.1
media.libplayer.seek.fwdsearch=1
gadget.nand.force_sync=true
ro.hdmi480p.enable=false
rw.fb.need2xscale=ok
media.amplayer.osd2xenable=true
ro.camera.dcim=1
ro.amlogic.no.preloadclass=1
ro.app.optimization=true
ro.has.cpu.setting=false
ro.cpumode.maxfreq=1200000,1200000,800000
ro.usbstorage.cpumode=performance
ro.usbstorage.maxfreq=600000
virtualsd.enable=true
ro.vout.dualdisplay2=true
ro.vout.dualdisplay3=false
ro.sys.min_cpu_on=408000
ro.sys.min_cpu_off=96000
ro.sys.max_cpu_on=1320000
ro.sys.max_cpu_off=1008000
service.adb.root=1
ro.com.google.locationfeatures=1
ro.setupwizard.enable_bypass=1
dalvik.vm.execution-mode=int:jit
dalvik.vm.lockprof.threshold=500
dalvik.vm.verify-bytecode=false
dalvik.vm.dexopt-flags=v=n,o=v
dalvik.vm.dexopt-data-only=1
persist.sys.timezone=Europe/Rome
persist.sys.language=en
persist.sys.country=US
persist.sys.use_dithering=0
persist.sys.purgeable_assets=0
windowsmgr.max_events_per_sec=240
view.touch_slop=2
view.minimum_fling_velocity=25
ro.additionalmounts=/storage/sdcard1
ro.vold.switchablepair=/storage/sdcard0,/storage/sdcard1
persist.sys.vold.switchexternal=0
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=384m
ro.com.android.dateformat=MM-dd-yyyy
ro.carrier=unknown
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/…basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/…oid/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dataroaming=false
ro.cm.version=10-20121203-UNOFFICIAL-elf2
ro.modversion=10-20121203-UNOFFICIAL-elf2
ro.config.ringtone=Orion.ogg
ro.config.notification_sound=Deneb.ogg
ro.config.alarm_alert=Hassium.ogg
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=
ro.bootmode=unknown
ro.baseband=unknown
ro.bootloader=unknown
ro.revision=32
init.svc.recovery=running
init.svc.adbd=running

I:Attempt to load settings from settings file...
I:Version number saved to '/emmc/TWRP/.version'
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:Switching packages (TWRP)
I:Set page: 'install'
I:Set page: 'flash_confirm'
I:Set page: 'flash_zip'
I:Set page: 'flash_zip'
Installing '/sdcard/Recovery3e.zip'...
Checking for MD5 file...
Skipping MD5 check: no MD5 file found.
mtd: successfully wrote block at 0
wrote recovery partition
script result was [recovery]
Updating partition details...
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:mount ubifs successful /dev/ubi0_0 to /data
I:detach ubifs successful mtd7
I:Unable to mount '/sd-ext'
I:Actual block device: '', current file system: 'auto'
I:Set page: 'flash_done'
I:Set page: 'rebootcheck'

Потом таким же способом пытаюсь прошить перепакованный new_recovery.img, но TWRP сразу выдаёт ошибку: E:unable to open zip file/error flashing zip/failed и после перезагрузки устройства в /cache/recovery/ появляется файл last_log
Starting TWRP 2.3.2.3 on Thu Apr 3 19:30:48 2014
I:=> hardware id from cpuinfo: 'Amlogic Meson6 g06 customer pl'
I:=> serial from cpuinfo: '000000000000000c'
I:Internal path defined: '/emmc'
I:External path defined: '/sdcard'
Starting the UI...Pixel format: 1280x800 @ 32bpp
Pixel format: RGB_565
framebuffer: fd 4 (1280 x 800)
=> Linking mtab
=> Processing recovery.fstab
I:Processing '/boot'
I:Processing '/system'
I:Processing '/cache'
I:Processing '/data'
I:Processing '/emmc'
I:Created '/and-sec' folder.
I:Processing '/sdcard'
I:Processing '/sd-ext'
I:Created '/sd-ext' folder.
Updating partition details...
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:mount ubifs successful /dev/ubi0_0 to /data
I:detach ubifs successful mtd7
I:Unable to mount '/sd-ext'
I:Actual block device: '', current file system: 'auto'
I:Unmounting main partitions...

Partition Logs:
/boot | /dev/block/mtdblock4 | Size: 8MB
MTD_Name: boot
Backup_Method: flash_utils

/system | /dev/block/mtdblock5 | Size: 314MB Used: 146MB Free: 168MB Backup Size: 146MB
Flags: Can_Be_Wiped Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock5
Display_Name: System
Backup_Path: /system
Backup_Name: system
Current_File_System: ubifs
Fstab_File_System: ubifs
MTD_Name: system
Backup_Method: files

/cache | /dev/block/mtdblock6 | Size: 255MB Used: 48MB Free: 207MB Backup Size: 48MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock6
Display_Name: Cache
Backup_Path: /cache
Backup_Name: cache
Current_File_System: yaffs2
Fstab_File_System: yaffs2
MTD_Name: cache
Backup_Method: files

/data | /dev/block/mtdblock7 | Size: 1754MB Used: 233MB Free: 1520MB Backup Size: 233MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent
Primary_Block_Device: /dev/block/mtdblock7
Display_Name: Data
Backup_Path: /data
Backup_Name: data
Current_File_System: ubifs
Fstab_File_System: ubifs
MTD_Name: userdata
Backup_Method: files

/emmc | /dev/block/avnftli1 | Size: 12541MB Used: 548MB Free: 11993MB Backup Size: 0MB
Flags: Can_Be_Wiped IsPresent Has_Android_Secure Is_Storage
Symlink_Path: /emmc/.android_secure
Symlink_Mount_Point: /and-sec
Primary_Block_Device: /dev/block/avnftli1
Display_Name: emmc
Backup_Path: /and-sec
Backup_Name: and-sec
Storage_Path: /emmc
Current_File_System: vfat
Fstab_File_System: vfat
Backup_Method: files

/sdcard | /dev/block/cardblksd1 | Size: 1893MB Used: 9MB Free: 1883MB Backup Size: 0MB
Flags: Can_Be_Wiped Removable IsPresent Has_Android_Secure Is_Storage
Symlink_Path: /sdcard/.android_secure
Symlink_Mount_Point: /and-sec
Primary_Block_Device: /dev/block/cardblksd1
Alternate_Block_Device: /dev/block/cardblksd0
Display_Name: sdcard
Backup_Path: /and-sec
Backup_Name: and-sec
Storage_Path: /sdcard
Current_File_System: vfat
Fstab_File_System: vfat
Backup_Method: files

/sd-ext | | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
Flags: Can_Be_Wiped Wipe_During_Factory_Reset Wipe_Available_in_GUI Removable
Primary_Block_Device: /dev/block/cardblksd2
Display_Name: SD-Ext
Backup_Path: /sd-ext
Backup_Name: sd-ext
Current_File_System: auto
Fstab_File_System: auto
Backup_Method: files

I:Loading package: TWRP (/script/ui.xml)
I:Loading package: TWRP (/emmc/TWRP/theme/ui.zip)
I:Loading package: TWRP (/res/ui.xml)
I:Loading resources...
I:Loading variables...
I:Loading pages...
I:Loading page main
I:Loading page main2
I:Loading page install
I:Loading page flash_confirm
I:Loading page flash_zip
I:Loading page flash_done
I:Loading page clear_vars
I:Loading page confirm_action
I:Loading page action_page
I:Loading page action_complete
I:Loading page filecheck
I:Loading page rebootcheck
I:Loading page reboot
I:Loading page mount
I:Loading page usb_mount
I:Loading page usb_umount
I:Loading page wipe
I:Loading page backup
I:Loading page backupname1
I:Loading page backupname2
I:Loading page backup_run
I:Loading page restore
I:Unable to open '/emmc/TWRP/BACKUPS/000000000000000c'
I:Loading page restore_select
I:Loading page renamebackup
I:Loading page restore_run
I:Loading page settings
I:Loading page timezone
I:Loading page advanced
I:Loading page partsdcard
I:Loading page htcdumlock
I:Loading page lock
I:Loading page filemanagerlist
I:Loading page filemanageroptions
I:Loading page choosedestinationfolder
I:Loading page filemanagerrenamefile
I:Loading page filemanagerrenamefolder
I:Loading page filemanagerchmod
I:Loading page filemanagerconfirm
I:Loading page filemanageracction
I:Loading page decrypt
I:Loading page trydecrypt
I:Loading page terminalfolder
I:Loading page terminalcommand
I:Switching packages (TWRP)
I:Set page: 'clear_vars'
I:Set page: 'main2'
Command: "/sbin/recovery"

ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mass_storage,adb
ro.build.id=JZO54K
ro.build.display.id=cm_elf2-userdebug 4.1.2 JZO54K eng.alan.20121203.172933 test-keys
ro.build.version.incremental=eng.alan.20121203.172933
ro.build.version.sdk=16
ro.build.version.codename=REL
ro.build.version.release=4.1.2
ro.build.date=lun 3 dic 2012, 17.33.19, CET
ro.build.date.utc=0
ro.build.type=userdebug
ro.build.user=alan
ro.build.host=Audrey
ro.build.tags=test-keys
ro.product.model=Nexus 7
ro.product.brand=Google
ro.product.name=nakasi
ro.product.device=grouper
ro.product.board=g06ref
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Asus
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=meson6
ro.build.product=grouper
ro.build.description=nakasi-user 4.1.2 JZO54K 485486 release-keys
ro.build.fingerprint=google/nakasi/grouper:4.1.2/JZO54K/485486:user/release-keys
ro.build.characteristics=tablet
ro.cm.device=elf2
ro.opengles.version=131072
hwui.render_dirty_regions=false
ro.sf.lcd_density=160
keyguard.no_require_sim=true
hw.nopm=false
hw.nobattery=false
hw.nophone=false
hw.novibrate=false
hw.cameras=1
hw.hasethernet=true
ro.platform.has.touch=true
ro.platform.has.sleeppolicy=false
ro.sf.hwrotation=270
ro.sf.gsensorposition=2
allow_all_orientations=1
ro.ui.cursor=osd2
ro.hardware=amlogic
sys.fb.bits=32
gps.enable=false
media.amsuperplayer.enable=true
media.amplayer.enable-acodecs=asf,aac,m4a,ape,flac,alac
media.amplayer.enable=true
media.amsuperplayer.m4aplayer=STAGEFRIGHT_PLAYER
media.amsuperplayer.defplayer=PV_PLAYER
media.amplayer.thumbnail=true
media.amplayer.widevineenable=true
media.amplayer.stopbuflevel=0.1
media.libplayer.seek.fwdsearch=1
gadget.nand.force_sync=true
ro.hdmi480p.enable=false
rw.fb.need2xscale=ok
media.amplayer.osd2xenable=true
ro.camera.dcim=1
ro.amlogic.no.preloadclass=1
ro.app.optimization=true
ro.has.cpu.setting=false
ro.cpumode.maxfreq=1200000,1200000,800000
ro.usbstorage.cpumode=performance
ro.usbstorage.maxfreq=600000
virtualsd.enable=true
ro.vout.dualdisplay2=true
ro.vout.dualdisplay3=false
ro.sys.min_cpu_on=408000
ro.sys.min_cpu_off=96000
ro.sys.max_cpu_on=1320000
ro.sys.max_cpu_off=1008000
service.adb.root=1
ro.com.google.locationfeatures=1
ro.setupwizard.enable_bypass=1
dalvik.vm.execution-mode=int:jit
dalvik.vm.lockprof.threshold=500
dalvik.vm.verify-bytecode=false
dalvik.vm.dexopt-flags=v=n,o=v
dalvik.vm.dexopt-data-only=1
persist.sys.timezone=Europe/Rome
persist.sys.language=en
persist.sys.country=US
persist.sys.use_dithering=0
persist.sys.purgeable_assets=0
windowsmgr.max_events_per_sec=240
view.touch_slop=2
view.minimum_fling_velocity=25
ro.additionalmounts=/storage/sdcard1
ro.vold.switchablepair=/storage/sdcard0,/storage/sdcard1
persist.sys.vold.switchexternal=0
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=384m
ro.com.android.dateformat=MM-dd-yyyy
ro.carrier=unknown
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/…basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/…oid/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dataroaming=false
ro.cm.version=10-20121203-UNOFFICIAL-elf2
ro.modversion=10-20121203-UNOFFICIAL-elf2
ro.config.ringtone=Orion.ogg
ro.config.notification_sound=Deneb.ogg
ro.config.alarm_alert=Hassium.ogg
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=
ro.bootmode=unknown
ro.baseband=unknown
ro.bootloader=unknown
ro.revision=32
init.svc.recovery=running
init.svc.adbd=running

I:Attempt to load settings from settings file...
I:Version number saved to '/emmc/TWRP/.version'
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:Switching packages (TWRP)
I:Set page: 'install'
I:Set page: 'flash_confirm'
I:Set page: 'flash_zip'
minzip: Incompatible "version made by": 0x0b (at 6)
E:Unable to open zip file.
Error flashing zip '/sdcard/RecoveryQM.zip'
Updating partition details...
I:mount ubifs successful /dev/ubi0_0 to /system
I:detach ubifs successful mtd5
I:mount ubifs successful /dev/ubi0_0 to /data
I:detach ubifs successful mtd7
I:Unable to mount '/sd-ext'
I:Actual block device: '', current file system: 'auto'
I:Set page: 'flash_done'
I:Set page: 'rebootcheck'

p.s. для разделов boot и recovery в памяти разметкой предусмотрено по 8Mb.


Сообщение отредактировал vitaly51370 - 04.04.14, 16:29



Реп: (110)
vitaly51370, Переразметку, для увеличения размера рекавери делали? МодРекавери получился размером больше стокового?
Возможно его просто не загружает uboot и это фатально… :-(



Реп: (239)
vitaly51370 @ 04.04.2014, 01:46 *
Потом таким же способом пытаюсь прошить перепакованный new_recovery.img, но TWRP сразу выдаёт ошибку: E:unable to open zip file/error flashing zip/failed

В этом случае какая то проблема с zip файлом. До прошивки new_recovery.img дело не доходит. Вот строки из лога об ошибке в zip'е:
minzip: Incompatible "version made by": 0x0b (at 6)
E:Unable to open zip file.
Error flashing zip '/sdcard/RecoveryQM.zip'



Реп: (2337)
Elf!, стоковую разметку разделов не трогал. Размер стокового recovery<3e> - 4068кб, размер перепакованного (без внесения каких-нибудь изменений) new_recovery.img - 4073кб. Я в курсе, что в загрузчике может быть ограничение на размер прошиваемого образа, но в данном случае не в этом дело.

Alex469, применяемая заготовка update.zip одна и та же, просто меняю в ней по очереди прошиваемые образы. Стоковый образ устанавливается, а с перепакованным сразу получаю ошибку.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 16:20