Feature #435
SquashFS (neue Version)
| Status: | Erledigt | Start date: | 05/23/2009 | ||
|---|---|---|---|---|---|
| Priority: | Normal | Due date: | 08/31/2010 | ||
| Assignee: | - | % Done: | 70% |
||
| Category: | - | ||||
| Target version: | Ver. 5.1 | Estimated time: | 15.00 hours | ||
| Resolution: |
Description
Zum einen gibt es mit SquashFS v3.3 (bzw 4.0) eine neue Version mit neuen Features (größere Blockgrößen, LZMA-Kompression, eingebautes regex ... das müsste dann wieder an den Aufruf angepasst werden) zum anderen gibts Probleme mit dem statisch kompilierten Tool auf einigen 64bit Maschinen.
Deshalb wäre es evtl. sinnvoll es gegen die uClib zu bauen und ebenso wie einige Busybox-Tools per Wrapper zu nutzen. (veraltet)
History
Updated by dvs over 2 years ago
- Assignee set to zooey
- % Done changed from 0 to 10
Das Filter-File ist in der neuen Version mit "-ef file" statt mit "-ff file" anzugeben. Ein Problem scheint auch noch mit dem Regex zu bestehen: Beim Setzen der Option "-regex" steigt mksquashfs mit "because Invalid regular expression" aus.
Es wäre zu überlegen, wie man das Matching der passenden Version von Distro zu bereitgestelltem SquashFS bewerkstelligen sollte - analog zu hwinfo in ConfigureDistro!?
Updated by dvs over 2 years ago
Auf jeden Fall ist das aktuelle Kernel-Modul (z.B. im Ubuntu 9.04) - SQFS v3.3 abwärtskompatibel zu früheren Versionen. Jedoch kann man wohl nicht mit dem mksquashfs v3.3 ältere Container produzieren ...
Updated by dvs over 2 years ago
- Assignee changed from zooey to mj0
- % Done changed from 10 to 20
Es gibt nun eine uclib-Version des Tools in der älteren Variante, die sollte mit dem Wrapper in den Exporter eingebaut werden.
Updated by dvs over 2 years ago
Das bisherige Regex der Form:
- ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/tmp/[^/]+$ - ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/spool/[^/]+$ - ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/run/[^/]+$ - ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/log/[^/]+$ - ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/lib/xdm$ - ...
Klappt mit der 3.3er Version nicht mehr ...
Updated by dvs over 1 year ago
- Due date set to 08/31/2010
- Assignee changed from mj0 to ry
- Estimated time changed from 2.00 to 15.00
Das mksquashfs wurde bisher bei OpenSLX mitgeliefert. Dieses ist eine alte Version, die noch neben der aktuellen mit erhalten bleiben sollte. In Zukunft sollte es aber auch möglich sein Container für die 3.3 zu erzeugen, da dieses für das WAN-Boot eine Rolle spielen wird. Hierzu ist erstmal zu untersuchen, wie sich die Funktionalität der Include/Excludes (s.o.) geändert hat. Im nächsten Schritt ist es dann in die entsprechende Funktion von slxos-export zu übernehmen ...
Updated by ry over 1 year ago
Im Unterschied zur alten, mit OpenSLX gelieferten mksquashfs-Version, muss die neue mksquashfs 3.3 mit folgendem Syntax aufgerufen werden:
mksquashfs source target -ef filter -regex -info ,
wobei:
- -ef für entferne Datei/Verzeichnis steht;
- -regex erlaubt das Benutzen von POSIX Regular Expressions in der Filter-Datei;
- -info liefert die Namen der ge-squashten Dateien.
In der Filter-Datei muss ein Dateipfad pro Zeile stehen. Ist die Filter-Datei leer hängt sich mksquashfs ab, es sei denn die -ef Option weggelasssen wird.
Die neue Filter-Datei muss im Vergleich zur alten, nur die mit Minus-Zeichen angegebenen Zeilen enthalten. Laut dem alten Syntax wurde es in der Filter-Datei
am Anfang jeder Zeile angegeben mit - oder +, ob der Pfad zu einer Datei führt, die beim squashen geskippt oder bzw. beibehalten werden sollte.
Dazu noch, muss der regex-Syntax verändert werden, wobei die alte Form:
- ^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/tmp/[^/]+$
zu
^/var/opt/openslx/stage1/ubuntu-9.04-clone/var/tmp/[^\]+$
verändert muss.
Updated by ry over 1 year ago
verändert werden muss.
Updated by dvs over 1 year ago
Das klingt doch schon sehr gut! Dann mal ein Großtest mit dem neuen mksquashfs machen und per Mount überprüfen. Wobei das "-info" vermutlich schon sagt, ob die jeweilige Datei bzw. das Verzeichnis weggelassen wurden.
Im nächsten Schritt die Generierung der neuen Exclude-Liste im Perlcode (Verzweigung je nach Version in installer/OpenSLX/OSExport/FileSystem/SquashFS.pm) machen!
Updated by dvs over 1 year ago
- % Done changed from 20 to 30
Für jede Variante des mksquashfs sollte die Filterliste neu erstellt und nicht aus einer anderen erzeugt werden.
Updated by schmelzs over 1 year ago
- Subject changed from SquashFS (neue Version / uClib) to SquashFS (neue Version)
Ticket-Beschreibung angepasst..
Updated by schmelzs over 1 year ago
- % Done changed from 30 to 70
Klappt weitestgehend. Da ab mksquashfs 3.3 keine Möglichkeit mehr besteht mit der Angabe von includes excludes zu überschreiben, müssen entweder die (export)Filter aufgeräumt werden oder die zu allgemeine excludes per script so umgeschrieben werden, dass die definierten includes nicht ausgeschlossen werden.