How to write/make changes to an existing squashfs filesystem

  • 20-The Aftermath-3182
  • 0 Comments

You cannot modify squashfs image directly but you can uncompress it, apply changes and compress it again.

English version of this page under construction. You can read automatic translation.


Большинство LiveCD дистрибутивов (Debian, Ubuntu, Fedora, Mint, etc) содержат файл filesystem.squashfs, который является контейнером с сжимающей файловой системой, распаковываемой и загружаемой при загрузке LiveCD. Ниже будет описано, как добавлять/удалять и редактировать файлы в таком контейнере.

Для обновления содержимого squashfs необходимо установить пакет squashfs-tools, он есть в большинстве популряных Linux дистрибутивов. После этого распакайте контейнер:

unsquashfs filesystem.squashfs

И сразу после этого удалите или перенесите оригинальный файл в другую папку:

mv filesystem.squashfs /home/user/backup/

После распаковки в папке, где изначально лежал контейнер, появится каталог squashfs-root – изменяйте его, как вам это необходимо: добавляйте, удаляйте, редактируйте его содержимое.

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

mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot

Это потребует какого-то времени, но в результате вы получите обновлённый filesystem.squashfs. Если надо добавить его в существующий iso-образ, это можно сделать с помощью удобной gui-утилиты isomaster.

Leave a Comment

Your email address will not be published.