Kategorien
Linux

Squashfs modifizieren

Das Dateisystem Squashfs wird bereits seit längerer Zeit für viele LiveCD’s wie beispielsweise gOS und Ubuntu verwendet.

Auf LiveCD’s befindet sich das Squashfs Dateisystem in der Regel im Ordner casper und trägt den Namen filesystem.squashfs. (zuletzt geprüft bei Ubuntu DVD 20.04.3)

Die folgende Anleitung hilft beim Ändern der Squashfs Dateisysteme.

Unter Debian GNU/Linux benötigen wir hierzu die Pakete squashfs-modules-KERNEL und squashfs-tools.:

apt install squashfs-modules-´uname -r´ squashfs-tools

Leider ist das extrahieren mit unsquashfs nicht in jedem Fall erfolgreich, ich empfehle das Image zu mounten und anschließend die Daten zu kopieren:

mount dir.sqsh /mnt/quelle/ -t squashfs -o loop
cp -a /mnt/quelle/* /mnt/ziel

Im Anschluss kann mit chroot in das /mnt/strong Verzeichnis gewechselt werden und beliebige Änderungen vorgenommen werden.

chroot /mnt/ziel

Hinweis: sollten Domains nicht erreichbar, das Netzwerk jedoch verfügbar sein, kopiere die Datei /etc/resolv.conf nach /mnt/ziel/etc/ kopieren.

Nach dem alle gewünschten Änderungen abgeschlossen sind, können wir den Befehl exit verwenden um das System wieder zu verlassen.
Jetzt können wir mit dem folgenden Befehl das neue Image erstellen.:

mksqashfs /mnt/ziel filesystem.sqashfs -check_data

Abschließend ersetzen wir die Squashfs Datei in dem Ordner aus dem wir sie haben, im Normalfall „casper“, durch die neu erstellte Datei.