Проблема создания образа data.img в режиме FTM. MT6575.

Прошивки и их моды\ Кухни\ Игры и приложения\ Различные настройки\ Различные вопросы по ОС Android и WM и т.п.

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#1 » linerty » 21 июн 2012, 13:52

У новой платформы MT6575 разделы system, secro, data и cache теперь в файловой системе ext4.
Всё бы хорошо, мечты многих осуществились, но пришло время нам заняться вопросами резервных копий.
В общем и целом вопрос бэкапа был решён. Для подъёма кирпичей сейчас уже всё сделано.

НО. Захотелось же сделать формат образов бэкапа system, secro, data и cache в нормальном заводском формате ext4 без пустот (а команда dd делает его с пустотами в raw формате).
Для этого была освоена утилита make_ext4fs нашим уважаемым форумчанином javum, сказать спасибо можно ему тут.
Переход на создание бэкапа в режиме FTM (File-Transfer-Mode) прошёл почти гладко,... system, secro, и cache сворачиваются в образы на ура. А вот с data проблема. Не по зубам этой утилите несколько файлов (либо файлов-устройств).

Мой результат:
 Нормальная часть скрипта по созданию целикового образа раздела data

Скрипт выдаёт ошибку с прерыванием работы даже не начав собирать сам образ
Код: Выделить всё
error: do_inode_allocate_indirect: Failed to allocate 4101 blocks

Изменение размера блока не даёт результатов, откуда-то всегда появляются 5 лишних блоков.
Прихожу к мнению, что у моего экземпляра THL V9 просто несколько бэдблоков в этой области и всё. Т.к. у других владельцев ошибка немного другая.
Код: Выделить всё
error: build_directory_structure: unknown file type on /data/mdl_serv_fifo
Думаю проблема либо в хитрой записи файла чтобы его не было возможности считать или дюзнуть личные данные, либо некорректной работе утилиты make_ext4fs принимающей файлы-устройста за реальные.

 Содержимое корня раздела data

 Полный тестовый скрипт

 Кусок тестового скрипта который не срабатывает


Требуется помощь такого плана.
1) Либо найти рабочую под Android и корректно рабочую make_ext4fs, либо скомпилировать подправленную для корректной работы make_ext4fs. (Исходники ext4_utils.zip, но не знаю подходят они под Android и процессор ARM или нет.)
2) Подобрать рабочий бинарник другой утилиты с аналогичной функцией создания ext4-образов разделов.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 4

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#2 » rua1 » 21 июн 2012, 16:07

linerty писал(а) on 21 июн 2012, 13:52:некорректной работе утилиты make_ext4fs принимающей файлы-устройста за реальные

Скорей всего, во всяком случае с ошибкой "unknown file type on". Посмотрел подробней
Код: Выделить всё
srwxrwxrwx root     root              2012-06-21 15:23 soc_ccci_GpsTask
srwxrwxrwx root     root              2012-06-21 15:23 soc_ccci_L4C
prwxrwxrwx root     root              2012-06-21 15:24 mdl_cli_fifo
prwxrwxrwx root     root              2012-06-21 15:24 mdl_serv_fifo
srwxrwx--- wifi     wifi              2012-06-21 13:05 wlan0
srwxrwxrwx root     root              2012-06-21 15:23 mnl2supl

Это сокеты и пайпы. Копировать их не нужно. И в бэкапе рекавери через тар этих файлов нет.
  • 1

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#3 » javum » 21 июн 2012, 19:42

Скомпилил утилиту ext2simg из комплекта ext4_utils из CM9 (ICS 4.0.4) ::yaz-yk:
 Описание параметров

Образ с /data в правильном формате снимает без проблем :ya_hoo_oo:
 Пример

но при попытке снятия с /system падает с Segmentation fault :du_ma_et:
 Пример

Даже, если снять образ с /system с помощью dd, а потом применить ext2simg, то всё равно вывалится с ошибкой.
Свежескопилированная make_ext4fs ведет себя точно также, как и та, что я давал linerty (не хочет снимать образ с /data) :nez-nayu: .
Так что предлагаю использовать эти 2 утилиты вместе и не греть голову :-)
Вложения
ext2simg.zip
(79.99 КБ) Скачиваний: 27
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 3

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#4 » rua1 » 23 июн 2012, 09:57

javum писал(а) on 21 июн 2012, 19:42:но при попытке снятия с /system падает с Segmentation fault

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

а вот дата нет.
 

Segmentation fault напомнило unyaffs c имиджа, сделанного через nandread. System, слитый через nandread сразу после рута, распаковывался. А если в системе покопаться и сделать nandred , как раз часто с segmentation fault распаковка в unyaffs'е и вываливалась. Похоже и с ext2simg такая же лотерея, может сольется правильно, а может и нет.
  • 1

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#5 » javum » 23 июн 2012, 11:21

linerty писал(а) on 21 июн 2012, 13:52:Думаю проблема либо в хитрой записи файла чтобы его не было возможности считать или дюзнуть личные данные, либо некорректной работе утилиты make_ext4fs принимающей файлы-устройста за реальные.
rua1 писал(а) on 21 июн 2012, 16:07:Это сокеты и пайпы. Копировать их не нужно. И в бэкапе рекавери через тар этих файлов нет.

Разработчики ext4_utils честно предупреждают, что это у них не реализовано:
Код: Выделить всё
/* TODO: Not implemented:
   Allocating blocks in the same block group as the file inode
   Hash or binary tree directories
   Special files: sockets, devices, fifos
 */

Утилита проверяет каждый элемент файловой системы и, как только встречает что-то, кроме файла, директории или ссылки, выходит с указанием проблемного элемента. Я проверку убрал, теперь образ /data делается без ошибок. Но, если его восстановить, то наблюдаются некоторые проблемы с правами (например, Wi-Fi не работает), аналогично проблемам yaffs-образам, когда в них покопаешься и запакуешь снова не на телефоне, а на компьютере.

rua1 писал(а) on 23 июн 2012, 09:57:у меня наоборот, систем нормально создался и потом удачно восстановился
Сегодня заметил такую штуку: если прошиться через FlashTool, то /system успешно создается, но стоит прошиться через recovery, как перестает создаваться...
Думается, что в update-binary криво реализовано форматирование разделов. Может, я ошибаюсь? Перепробовал несколько разных вариантов update-binary, но результат не меняется...
Проверка раздела с помощью e2fsck с различными ключами также никак не влияет на результат.

Вообще в чем разница make_ext4fs и ext2simg? Первая делает ext4 образ из любой папки с файлами, вторая - делает образ из раздела (/dev/block/xxx). Получается, что вторая утилита правильнее для наших задач.
Остается только разобраться, как фиксить разделы перед созданием образа....
Hero H3000 -> Lenovo A60 -> ThL V9 -> Lenovo P700i -> Lenovo S820
Портируем TWRP на MTK

 Для благодарностей
  • 2

Аватара пользователя
javum

Разработчик
 
Сообщения: 1573
Зарегистрирован: 31 янв 2011, 21:07
Откуда: Новосибирск
Репутация: 3180

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#6 » linerty » 23 июн 2012, 15:43

javum писал(а) on 23 июн 2012, 11:21:но стоит прошиться через recovery

А чей? С 512cn или от Бруно?
javum писал(а) on 23 июн 2012, 11:21:Я проверку убрал (ext4_utils), теперь образ /data делается без ошибок.
Если там заполняется какой либо file-list, может просто модифицировать проверку чтобы
Код: Выделить всё
Special files: sockets, devices, fifos
просто не попадали в образ. В принципе он наверняка создаются при загрузке системы, при их отсутствии. tar их не архивирует и прекрасно всё восстанавливается из такого архива. И всё потом работает.
javum писал(а) on 23 июн 2012, 11:21:Вообще в чем разница make_ext4fs и ext2simg? Первая делает ext4 образ из любой папки с файлами, вторая - делает образ из раздела (/dev/block/xxx). Получается, что вторая утилита правильнее для наших задач.
ИМХО правилен первый вариант, так как архивация может быть управляема и образ не фрагментирован.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 1

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Проблема создания образа data.img в режиме FTM. MT6575.

Сообщение Ответ:#7 » rua1 » 06 июл 2012, 10:14

хм ... переставлял с нуля систему на теле, теперь make_ext4fs ругается Segmentation fault на мой /data. И e2fsck ничего не дал. Собрал еще ext4fixup, тоже. А ext2simg стал делать образ без ошибок. Короче методом перебора надо, если одна утилита не пошла, надо другую ;)
Вот тут все ext4 утилиты, что я собрал из CM9 http://narod.ru/disk/55455802001.87e1d803e5df604fa38919e908a47a81/ext4utils.7z.html
  • 3

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347


Вернуться в Программная часть КПК

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

x

#{title}

#{text}