Squashfs tools для windows

Как работать с squashfs в Windows

Я должен обновить некоторые файлы в файле образа squashfs. Я нашел инструмент в Linux, но не в Windows.

Кто-нибудь может помочь?

2 ответа

7-Zip способен открывать изображения squashfs и извлекать их файлы. Я проверил это на 7-Zip версии 15.14 [64-bit] в Windows 10 с изображением squashfs, которое использует сжатие xz.

7-Zip не отображает список squashfs среди форматов архива при создании архива, поэтому вам нужно искать в другом месте, если вы хотите создать изображение squashfs с измененными файлами. На странице Википедии для squashfs указано, что mksquashfs и unsquashfs были портированы на некоторые версии Windows (также упоминается 7-Zip).

Ответ Андре предлагает Cygwin как способ компиляции и запуска команд из squashfs-tools , Подсистема Windows для Linux предоставляет еще один способ запуска mksquashfs а также unsquashfs , На моей системе Windows 10, в которой Ubuntu 14.04.4 работает через WSL, установлена ​​следующая команда squashfs-tools , после которого mksquashfs а также unsquashfs доступны.

С любым подходом к использованию squashfs-tools (Cygwin или WSL), 7-Zip не требуется для обновления файлов в образе squashfs.

Ответ Эйрика решил «распаковать» часть. Я дам вам все инструменты squashfs в Windows, так что вы можете как «распаковать» ( unsquashfs.exe ) и «почтовый индекс» ( mksquashfs.exe ).

  1. Получить Cygwin, если у вас его нет.
  2. Установите следующие пакеты Cygwin:
    • Если вы используете 32-разрядную версию:
      • gcc-core
      • cygwin64-gcc-core
    • Если вы используете 64-разрядную версию:
      • gcc-core
      • cygwin32-gcc-core
    • xz
    • liblzma5 (не уверен, что это необходимо)
    • liblzma-devel (не уверен, что это необходимо)
  3. Получить последний источник Squashfs.
  4. Раскомментируйте следующие строки в squashfs-tools/Makefile :
    • XZ_SUPPORT = 1
    • LZMA_XZ_SUPPORT = 1
  5. В консоли Cygwin перейдите к squashfs-tools каталог и скомпилировать с:

Распаковать Squashfs и упаковать обратно

здравствуйте друзья! Есть Squashfs, само собой режим read only. Надо взять распаковать, поменять пару строчек текста и запаковать обратно. Как правильно это сделать?

Меняю пару строчек, при этом удаляю столько же символов Комментов, т.е файл больше стать не должен. упаковываю так

в итоге почему-то получается объём больше на 2 мб, почему.

а как узнать какой алгоритм используется и как сжимать

Алгоритм сжатия gzip.

вот что у меня есть:

А вот что получается

Как видите оба в gzip посмотрел степень сжатия по умолчанию идёт 9. Что ещё может быть/

Хардлинков не было?

вот что пишет при сборке

Пробовал собрать squashfs сразу из тех данных, что распаковал? Размер тот же?

да конечно! размер получается такой же.. как и с изменением строки одной. не знаю что и делать ж..

«Number of duplicate files found» то же, что и в варианте с изменённым файлом?

нет ты не понял размер при просто распаковке и сборке выходит на 2 мб больше. Что вношу изменения в строку что не вношу всё равно откуда то прибавляются 2 мб.

Читайте также:  Windows cannot access the specified device path or file что делать

Видимо, при создании оригинального образа использовали какой-то хитрый софт, который позволяет избавиться от дополнительной избыточности.

Похожая ситуация с базами GeoIP. Контора, которая их поставляет, публикует формат и даже перловые библиотеки для создания своих баз. Но если распаковать их базу, а потом запаковать их кодом, получится файл почти в два раза больше. Что-то около 100 МБ против 50 МБ.

Я бы начал со сравнения оригинального и перепакованного образов squashfs по байтам. По разнице можно попытаться понять, где их паковщик поступил по-другому.

снимал прошивку банально через dd

Перед упаковкой группируй файлы по типу, чтобы похожие файлы были рядом.

эмм можно понять как группировать?

Например, самое тупое — сортировка по расширению

Какая разница, как ты её снимал? Тут дело в том, что каким-то образом файлы смогли упаковать лучше, чем может упаковать mksquashfs. И при этом оставаясь в рамках формата.

Вообще, ничего удивительного. Если из GIMP’а сохраняешь PNG-файл, он не обязательно самого маленького размера. Специализированными компрессорами можно перебрать все варианты сжатия и сэкономить ещё несколько килобайт.

Тебе нужно найти способ упаковать плотнее. Для этого нужно либо найти некие волшебные утилиты, либо написать их самому.

Хотя бы расскажи откуда ты слил это squashfs.

Как обрабатывать squashfs в Windows

Я должен обновить некоторые файлы в файле изображения squashfs. Я нашел инструмент в Linux, но не в Windows.

Может ли кто-нибудь помочь?

Ответ Эйрика решил «распаковать» часть. Я дам вам все инструменты squashfs в Windows, так что вы можете «распаковать» ( unsquashfs.exe ) и «zip» ( mksquashfs.exe ).

Получите Cygwin, если у вас его нет. Установите следующие пакеты Cygwin:

    Если вы используете 32-битное:
      gcc-core cygwin64-gcc-core

    Если вы используете 64-бит:

      gcc-core cygwin32-gcc-core

    xz liblzma5 (не уверен, что это необходимо) liblzma-devel (не уверен, что это необходимо)

Получите последний источник squashfs. Раскомментируйте следующие строки в squashfs-tools/Makefile :

    XZ_SUPPORT = 1 LZMA_XZ_SUPPORT = 1

В консоли Cygwin перейдите в каталог squashfs-tools и скомпилируйте с помощью:

Установите с хорошей старой make install

Теперь у вас есть инструменты squashfs в командной строке Cygwin, как если бы это был Linux. Как указано выше, инструменты — unsquashfs.exe и mksquashfs.exe .

Источник и кредиты этого ответа: http://domoticx.com/bestandssysteem-squashfs-tools-software/ (голландский, я использовал Google Translate)

7-Zip способен открывать изображения squashfs и извлекать их файлы. Я тестировал это в 7-Zip версии 15.14 [64-бит] в Windows 10 с изображением squashfs, который использует сжатие xz.

7-Zip не появляется, чтобы отображать squashfs среди архивных форматов при создании архива, поэтому вам нужно искать в другом месте, если вы хотите сгенерировать образ squashfs с измененными файлами. Страница Wikipedia для squashfs указывает, что mksquashfs и unsquashfs были перенесены в некоторые версии Windows (в нем также упоминается 7-Zip).

Ответ Андре предлагает Cygwin как способ скомпилировать и запустить команды из squashfs-tools . Подсистема Windows для Linux предоставляет другой способ запускать mksquashfs и unsquashfs . В моей системе Windows 10, в которой Ubuntu 14.04.4 работает через WSL, следующая команда устанавливает squashfs-tools , после чего mksquashfs и unsquashfs .

При использовании подхода squashfs-tools (Cygwin или WSL) 7-Zip не требуется для обновления файлов в изображении squashfs.

Squashfs tools для windows

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

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

Обновлено: 30.07.2014 пересобранная 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 — обновление функционала, подробности тут

Пробуйте и отписывайтесь о результатах, если все удачно распаковалось и собралось в рабочий вариант напишите производителя и модель устройства (добавлю в список проверенных устройств), если утилита не справилась с образом, то ко всему вышеперечисленному в своем сообщении прикрепите этот проблемный образ (вряд ли они будут больше 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 с разбиением на файлы меньшего размера

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

xImgTool версия 1.3.32xImgTool_1_3_32.rar ( 40,86 КБ )
ОБНОВЛЕНО: 06.11.2014
— поддержка нового размера блока bootstub
— сохранение новых атрибутов в блоке размеров
— при распаковке контейнера QSB части, участвующие при объединении в один файл, сохраняются в отдельной папке в оригинальном виде (особенно касается образов system и userdata)

В связи с тем, что основной функционал кухни перешел в единую утилиту 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 МБ )

Читайте также:  Как удалить ярлыки с панели задач windows
Оцените статью