vin2809

Новый формат файлов (Fb-файлы)

В этой теме 14 сообщений

В связи с работой над прошивкой устройства А7010 я открыл новый для меня формат файлов, который имеет сигнатуру FBFB в начале. Т.к. информации по нему в сети практически нет, то я решил сам в нем "покопаться". Результаты своих исследований я буду выкладывать сюда.

Кое-какие успехи у меня уже есть, но пока не готовы материалы для всеобщего обозрения.

Пока я выкладываю только средство, которое понимает этот новый формат и может разбирать файл-образы.

 

Теория

Спойлер

Скоро будет

 

Практические рекомендации

 

Средство по работе с Fb-файлами.

Спойлер

 

1.Назначение.
 Средство FbWinTools предназначено для разборки/сборки образов устройств на основе чипов MTK нового формата.
 Оно содержит программные разработки автора и некоторые свободно распространяемые программы.

2.Требования.
 Для работы требуются:

  • Windows 7 или выше без установки CYGWIN;
  • установленный пакет .NET 4.0.

 Дополнительных настроек и создания папок НЕ ТРЕБУЕТСЯ.

3.Возможности.
 Средство позволяет:

  • обработать образы формата Fb_Img версии 2;
  • обработать образы Boot.img/Recovery.img:
    • распаковать и запаковать как 32-, так и 64-разрядные образы;
    • обрабатываются образы, использующие сжатие ramdisk следующего типа:
      • gzip;
      • lzma;
      • lzop;
      • lz4;
      • xz.
  • распаковать и запаковать образы, содержащие файловые системы (ФС), например, system.img, как yaffs2 типа, так и ext2-ext4;
  • конвертировать разреженный файл типа sparse в образ типа ext4;
  • выполнить некоторые, часто встречающиеся, команды ADB;
  • подсчитать контрольную сумму файла в формате md5.

 

 

Качаем средство версии 1.0:     FbWinTools_v1.0.7z

                                       1.1:      FbWinTools_v1.1.7z

 

Краткая инструкция.

Т.к. средство создано на основе LenovoWinTools, то по принципам работы они схожи.

Основное отличие - это работа с Fb-файлами.

1. Для обработки Fb_Img-файла поместите его в папку _In.
 Команда меню "Fb unpack" снимает Fb-обертку с файла и помещает его в рабочую папку Unpack/Image. Далее с ним можно выполнять операции, как и с обычным
 файлом-образом.
2. Т.к. дерево устройств (dtb) прицеплено к ядру, файл kernel я оставил не распакованным. Это, тем не менее, не мешает собирать образы boot и recovery БЕЗ Fb-обертки.
3. Средство работает с Fb-файлами в пакетном режиме, т.е. ВСЕ файлы, расположенные в папке _In будут последовательно обработаны за ОДНУ операцию.

 

По мере появления материала (теории или практических рекомендаций) я буду выкладывать их в этой теме.

12 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот спасибо. А то недавно несколько часов пытался распаковать system.img

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  Ранее большинство файлов-образов разделов boot, recovery имело стандартный формат Google типа "Android". Разделы, имеющие файловые системы, тоже имели простую структуру типа ext4.
  Теперь все чаще стали появляться мобильные устройства,  имеющие файл-образы нового формата.
  Основные отличия файл-образов нового формата от "старого", на мой взгляд, заключаются в следующем:

  • все собранные файл-образы заворачиваются в SS-оболочку, служащую для обеспечения безопасности. Эта оболочка содержит не только заголовок (сигнатура "SSSS"), расположенный вначале файла, но и дополнительные разделы, которые могут содержать цифровую подпись, информацию по шифрованию,  дополнительные контрольные суммы (хеши). Причем эти хеши могут рассчитываются не только по всему файлу целиком, но и по определенной части-куску (chunk);
  • весь SS-файл заворачивается еще в одну "оболочку" - Fb-файл;
  • при компиляции файла-образа часто дерево устройств (dtb) присоединяется к ядру, т.е. kernel'у. В старом формате оно собиралось в ramdisk в виде дополнительной секции.

  При рассмотрении файлов, полученных при выполнении backup, я обнаружил, что в памяти мобильного устройства образы разделов хранятся совсем в другом виде. Они НЕ ИМЕЮТ "обертки", причем ни Fb типа, ни SS.

  Если так, то для выполнения custom firmware образы разделов не надо оборачивать этими "новыми" примочками, достаточно просто собрать их в виде Android-файла или файловой системы.
  Всем этим потребностям с лихвой удовлетворяет средство FbWinTools.

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

3 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доработал и выложил средство версии 1.1, которое обрабатывает и первую версию Fb-файлов. Забирать можно в первом посте.

 

А теперь, как и обещал,

 

Практические рекомендации по работе со средством FbWinTools_v1.1

 

Спойлер

  При работе c прошивками, содержащими образы нового формата чаще всего я сталкивался с необходимостью выполнения таких задач:

 

  • удалить новые оболочки с образов;
  • разобрать/собрать сами образы;
  • "заполнение" раздела образом при изменении разметки.

 

Итак, устанавливаем средство FbWinTools_v1.1:

Спойлер

56c4ee1424409_..png.2e9bff0e23cd95421727

        рис.1 Главное меню средства.

  и приступаем к работе...

 

1.Удаление оболочек типа Fb и SS с файлов нового формата.
  Для удаления "оберток" с файлов нового формата поместите их в папку _In все вместе.
Запустите средство, используя файл menu.bat, и выполните пункт меню "1-Fb". При этом Вы попадете в меню команд Fb-файлов:

Спойлер

56c4eeb4be5a9_Fb.png.ae6d948944a49aee6d1

        рис.2 Меню "Fb commands"

 

  Выполните пункт меню "1-Fb unpack", средство автоматически просмотрит папку _In и обработает ВСЕ находящиеся там файлы.
  Файлы, имеющие "обертки", будут обработаны и помещены в рабочую папку по пути Unpack/_Image/. Это позволит использовать их сразу же в дальнейшей обработке. При этом на экран будут выводиться сообщения:

Спойлер

56c4ef2929eeb_Fb.png.3c8d38afe56b40f24c9

           рис.3 Обработка Fb-файлов

 

  Файлы без "оберток", т.е. старого формата, обработке не подвергаются и будут пропущены.

 

2.Разборка/сборка образов нового формата.
  После выполнения предыдущего пункта в папке Unpack/_Image будут находиться файлы без "оберток", но все равно НОВОГО образца.
  Теперь можно сразу разобрать их "по косточкам". Если это образы boot или recovery, то выполните команду "2-Boot/Recovery" и попадете в меню команд "Boot/Recovery":

Спойлер

56c4f024be94b_boot.png.014f5de7d60d7aded

              рис.4 Команды меню "Boot/Recovery"

 

  Здесь Вы сможете разобрать или собрать образы разделов Boot/Recovery.

  Если Вы разбираете образы с файловой системой, то выполните команду "3-System,cache,..." и попадете в меню команд "File system commands":

Спойлер

56c4f049e96b4_system.png.4ac6dbec6b58766

             рис.5 Команды меню "System"

 

Здесь Вы можете разобрать или собрать образ, имеющий файловую систему, конвертировать его из sparse-формата в ext4, изменить размер готового образа.

 

3.Действия по заполнению разделов памяти.
  При восстановлении прошивки из отдельных образов бывает необходимо заполнить раздел памяти образом. Хорошо, если у Вас есть backup! А если нет? Берем образ раздела из стоковой прошивки и прошиваем его.
  Но бывают случаи, когда образ раздела хранится в сжатом состоянии в виде sparse-файла. Чаще всего так хранят разделы cache, pleload, system, userdata, т.к. они имеют очень много "пустого" пространства.
 Тогда такой образ нужно "распаковать" в ext4 и прошить в раздел.
  Если же образ из стоковой прошивки имеет размер, не соответствующий размеру образа, то нужно еще и изменить размер образа, т.е. привести его в соответствие разделу.


3.1.Распаковка sparse-файлов.
  Для выполнения конвертации ("распаковки") sparse-файла в ext4 нужно выполнить команду "7-sparse to ext4" меню "File system commands". Вам будет предложен список файлов для выбора:

Спойлер

56c4f20348e68_sparse.png.45f1e3222faef73

       рис.6 Выбор sparse-файла для конвертации.

 

   После завершения операции Вы увидите:

Спойлер

56c4f26cc19cb_sparse.png.f8fce38f573ca3a

       рис.7 Завершение конвертации.

 

3.2.Создание образа нужного размера.
  Выполнить эту операцию можно двумя способами:

 

  • собрать новый образ нужного размера;
  • изменить размер уже созданного образа.

 

3.2.1.Для сборки нового образа выполните команду "6-pack ext4":

Спойлер

56c4f373198a4_ext4.png.341f0ad93647917ee

       рис.8 Выбор папки, содержащей содержимое образа типа ext4 для сборки

 

 После выбора файла из предложенного списка (для примера был выбран файл размером 2560Mb) появится запрос на размер собираемого образа:

Спойлер

56c4f3ebce36f_newpack.png.882a9b3f22e1dc

       рис.9 Выбор размера создаваемого образа ext4

 

 После завершения операции Вы увидите примерно следующую картину:

Спойлер

56c4f4339efe4_pack.png.de1b484f9772b1f75

       рис.10 Завершение сборки образа System

 

3.2.2.Для изменения размера существующего образа раздела, содержащего файловую систему, выполните команду "9-resize ext". Для примера был выбран тот же файл, размером 2560Mb.
 После выбора файла из списка возможных появится запрос на новый размер файла:

Спойлер

56c4f49ee2ff9_.png.c50765ec066c5c4d48bf6

      рис.11 Ввод нового размера существующего файла.

 

 О завершении операции Вы узнаете по сообщению средства:

Спойлер

56c4f4f1efd2f_resize.png.09e7108dd50e32f

      рис.12 Завершение операции по изменению размера
 

 

2 пользователям понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
On 16.02.2016 at 23:53, vin2809 написал:

Если так, то для выполнения custom firmware образы разделов не надо оборачивать этими "новыми" примочками, достаточно просто собрать их в виде Android-файла или файловой системы.

Слышал обсуждение специалистов сталкивающихся с перепаком, что флештул не хочет шить образы без оберток. Или они потом не запускаются.

Или у меня неверная информация?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, информация похожа на верную.

Что-то не смог понять как обратно обёртку приживить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не получается снять обёртку с system.img,всегда один результат

Спойлер

Снимок.PNG

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, ARRAKI написал:

Не получается снять обёртку с system.img,всегда один результат

Посмотри в папку, образ будет без обёртки, после этого разбери его, через эту же прогу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@VVizard

Мне его ненадо разбирать,я хочу снять "обёртку",и прошить через рекавери(с обёрткой получается херня).

При снятии обёртки с бута(процесс проходит удачно),у него размер увиличивается,а систем остаётся того-же размера.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зайди в папку input так будет образ system.img без обертки. Я так понимаю разбираешь 218 от 7010? Только что дома был, все разобрались.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@VVizard

В папку input,как-раз ложится исходный образ,а в unpack/image-получившийся без обёртки.

Разбирал и от 7010,и свой сток,и от С2,везде одно и тоже.

При разборе бута,получаю сообщение как на скрине(о нормальном завершенни),и потом бут нормально разбирается даже на телефоне,а со всеми систем-такое.

Разбирал обеими версиями программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да unpaсk/_image. 

Сообщение как на скрине, не означает ошибку. обертка снялась.

Зайди в папку где берешь Бут, без обертки и там же найдешь системс. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@VVizard

Если я прошиваю систем после такой разборки,у меня в рекавери после этого невозможно смонтировать "систем",и соответственно войти в него.

Брал несколько прошивок,от разных производитклей,соотвтственно они без ленововской обёртки,все отлично прошиваются,без всяких последствий,а вот от Леново не хочет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 07.08.2016 в 12:37, Визардик сказал:

Зайди в папку input так будет образ system.img без обертки. Я так понимаю разбираешь 218 от 7010? Только что дома был, все разобрались.

А как обратно поставить обертку?

Не могу прошить измененый файл обратно в планшет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу