1*79398b25SAndroid Build Coastguard Worker SQUASHFS 3.3 - A squashed read-only filesystem for Linux 2*79398b25SAndroid Build Coastguard Worker 3*79398b25SAndroid Build Coastguard Worker Copyright 2002-2007 Phillip Lougher <[email protected]> 4*79398b25SAndroid Build Coastguard Worker 5*79398b25SAndroid Build Coastguard Worker Released under the GPL licence (version 2 or later). 6*79398b25SAndroid Build Coastguard Worker 7*79398b25SAndroid Build Coastguard WorkerWelcome to another release of Squashfs. This is the 22nd release in just 8*79398b25SAndroid Build Coastguard Workerover five years of work. Squashfs 3.3 has lots of nice improvements, 9*79398b25SAndroid Build Coastguard Workerboth to the filesystem itself (bigger blocks, and sparse files), but 10*79398b25SAndroid Build Coastguard Workeralso to the Squashfs-tools Mksquashfs and Unsquashfs. As usual the 11*79398b25SAndroid Build Coastguard WorkerCHANGES file has a detailed list of all the improvements. 12*79398b25SAndroid Build Coastguard Worker 13*79398b25SAndroid Build Coastguard WorkerFollowing is a description of the changes to the Squashfs tools, usage 14*79398b25SAndroid Build Coastguard Workerguides to the new options, and a summary of the new options. 15*79398b25SAndroid Build Coastguard Worker 16*79398b25SAndroid Build Coastguard Worker1. MKSQUASHFS - EXTENDED EXCLUDE FILE HANDLING 17*79398b25SAndroid Build Coastguard Worker---------------------------------------------- 18*79398b25SAndroid Build Coastguard Worker 19*79398b25SAndroid Build Coastguard Worker1. Extended wildcard pattern matching now supported in exclude files 20*79398b25SAndroid Build Coastguard Worker 21*79398b25SAndroid Build Coastguard Worker Enabled by specifying -wildcards option 22*79398b25SAndroid Build Coastguard Worker 23*79398b25SAndroid Build Coastguard Worker Supports both anchored and non-anchored exclude files. 24*79398b25SAndroid Build Coastguard Worker 25*79398b25SAndroid Build Coastguard Worker1.1 Anchored excludes 26*79398b25SAndroid Build Coastguard Worker 27*79398b25SAndroid Build Coastguard Worker Similar to existing exclude files except with wildcards. Exclude 28*79398b25SAndroid Build Coastguard Worker file matches from root of source directories. 29*79398b25SAndroid Build Coastguard Worker 30*79398b25SAndroid Build Coastguard Worker Examples: 31*79398b25SAndroid Build Coastguard Worker 32*79398b25SAndroid Build Coastguard Worker 1. mksquashfs example image.sqsh -wildcards -e 'test/*.gz' 33*79398b25SAndroid Build Coastguard Worker 34*79398b25SAndroid Build Coastguard Worker Exclude all files matching "*.gz" in the top level directory "test". 35*79398b25SAndroid Build Coastguard Worker 36*79398b25SAndroid Build Coastguard Worker 2. mksquashfs example image.sqsh -wildcards -e '*/[Tt]est/example*' 37*79398b25SAndroid Build Coastguard Worker 38*79398b25SAndroid Build Coastguard Worker Exclude all files beginning with "example" inside directories called 39*79398b25SAndroid Build Coastguard Worker "Test" or "test", that occur inside any top level directory. 40*79398b25SAndroid Build Coastguard Worker 41*79398b25SAndroid Build Coastguard Worker Using extended wildcards, negative matching is also possible. 42*79398b25SAndroid Build Coastguard Worker 43*79398b25SAndroid Build Coastguard Worker 3. mksquashfs example image.sqsh -wildcards -e 'test/!(*data*).gz' 44*79398b25SAndroid Build Coastguard Worker 45*79398b25SAndroid Build Coastguard Worker Exclude all files matching "*.gz" in top level directory "test", 46*79398b25SAndroid Build Coastguard Worker except those with "data" in the name. 47*79398b25SAndroid Build Coastguard Worker 48*79398b25SAndroid Build Coastguard Worker1.2 Non-anchored excludes 49*79398b25SAndroid Build Coastguard Worker 50*79398b25SAndroid Build Coastguard Worker By default excludes match from the top level directory, but it is 51*79398b25SAndroid Build Coastguard Worker often useful to exclude a file matching anywhere in the source directories. 52*79398b25SAndroid Build Coastguard Worker For this non-anchored excludes can be used, specified by pre-fixing the 53*79398b25SAndroid Build Coastguard Worker exclude with "...". 54*79398b25SAndroid Build Coastguard Worker 55*79398b25SAndroid Build Coastguard Worker Examples: 56*79398b25SAndroid Build Coastguard Worker 57*79398b25SAndroid Build Coastguard Worker 1. mksquashfs example image.sqsh -wildcards -e '... *.gz' 58*79398b25SAndroid Build Coastguard Worker 59*79398b25SAndroid Build Coastguard Worker Exclude files matching "*.gz" anywhere in the source directories. 60*79398b25SAndroid Build Coastguard Worker For example this will match "example.gz", "test/example.gz", and 61*79398b25SAndroid Build Coastguard Worker "test/test/example.gz". 62*79398b25SAndroid Build Coastguard Worker 63*79398b25SAndroid Build Coastguard Worker 2. mksquashfs example image.sqsh -wildcards -e '... [Tt]est/*.gz' 64*79398b25SAndroid Build Coastguard Worker 65*79398b25SAndroid Build Coastguard Worker Exclude files matching "*.gz" inside directories called "Test" or 66*79398b25SAndroid Build Coastguard Worker "test" that occur anywhere in the source directories. 67*79398b25SAndroid Build Coastguard Worker 68*79398b25SAndroid Build Coastguard Worker Again, using extended wildcards, negative matching is also possible. 69*79398b25SAndroid Build Coastguard Worker 70*79398b25SAndroid Build Coastguard Worker 3. mksquashfs example image.sqsh -wildcards -e '... !(*data*).gz' 71*79398b25SAndroid Build Coastguard Worker 72*79398b25SAndroid Build Coastguard Worker Exclude all files matching "*.gz" anywhere in the source directories, 73*79398b25SAndroid Build Coastguard Worker except those with "data" in the name. 74*79398b25SAndroid Build Coastguard Worker 75*79398b25SAndroid Build Coastguard Worker2. Regular expression pattern matching now supported in exclude files 76*79398b25SAndroid Build Coastguard Worker 77*79398b25SAndroid Build Coastguard Worker Enabled by specifying -regex option. Identical behaviour to wild 78*79398b25SAndroid Build Coastguard Workercard pattern matching, except patterns are considered to be regular 79*79398b25SAndroid Build Coastguard Workerexpressions. 80*79398b25SAndroid Build Coastguard Worker 81*79398b25SAndroid Build Coastguard Worker Supports both anchored and non-anchored exclude files. 82*79398b25SAndroid Build Coastguard Worker 83*79398b25SAndroid Build Coastguard Worker 84*79398b25SAndroid Build Coastguard Worker2. MKSQUASHFS - NEW RECOVERY FILE FEATURE 85*79398b25SAndroid Build Coastguard Worker----------------------------------------- 86*79398b25SAndroid Build Coastguard Worker 87*79398b25SAndroid Build Coastguard WorkerRecovery files are now created when appending to existing Squashfs 88*79398b25SAndroid Build Coastguard Workerfilesystems. This allows the original filesystem to be recovered 89*79398b25SAndroid Build Coastguard Workerif Mksquashfs aborts unexpectedly (i.e. power failure). 90*79398b25SAndroid Build Coastguard Worker 91*79398b25SAndroid Build Coastguard WorkerThe recovery files are called squashfs_recovery_xxx_yyy, where 92*79398b25SAndroid Build Coastguard Worker"xxx" is the name of the filesystem being appended to, and "yyy" is a 93*79398b25SAndroid Build Coastguard Workernumber to guarantee filename uniqueness (the PID of the parent Mksquashfs 94*79398b25SAndroid Build Coastguard Workerprocess). 95*79398b25SAndroid Build Coastguard Worker 96*79398b25SAndroid Build Coastguard WorkerNormally if Mksquashfs exits correctly the recovery file is deleted to 97*79398b25SAndroid Build Coastguard Workeravoid cluttering the filesystem. If Mksquashfs aborts, the "-recover" 98*79398b25SAndroid Build Coastguard Workeroption can be used to recover the filesystem, giving the previously 99*79398b25SAndroid Build Coastguard Workercreated recovery file as a parameter, i.e. 100*79398b25SAndroid Build Coastguard Worker 101*79398b25SAndroid Build Coastguard Workermksquashfs dummy image.sqsh -recover squashfs_recovery_image.sqsh_1234 102*79398b25SAndroid Build Coastguard Worker 103*79398b25SAndroid Build Coastguard WorkerThe writing of the recovery file can be disabled by specifying the 104*79398b25SAndroid Build Coastguard Worker"-no-recovery" option. 105*79398b25SAndroid Build Coastguard Worker 106*79398b25SAndroid Build Coastguard Worker 107*79398b25SAndroid Build Coastguard Worker3. UNSQUASHFS - EXTENDED EXTRACT FILE HANDLING 108*79398b25SAndroid Build Coastguard Worker---------------------------------------------- 109*79398b25SAndroid Build Coastguard Worker 110*79398b25SAndroid Build Coastguard Worker1. Multiple extract files can now be specified on the command line, and the 111*79398b25SAndroid Build Coastguard Workerfiles/directories to be extracted can now also be given in a file. 112*79398b25SAndroid Build Coastguard Worker 113*79398b25SAndroid Build Coastguard WorkerTo specify a file containing the extract files use the "-e[f]" option. 114*79398b25SAndroid Build Coastguard Worker 115*79398b25SAndroid Build Coastguard Worker2. Extended wildcard pattern matching now supported in extract files 116*79398b25SAndroid Build Coastguard Worker 117*79398b25SAndroid Build Coastguard Worker Enabled by default. Similar to existing extract files except with 118*79398b25SAndroid Build Coastguard Workerwildcards. 119*79398b25SAndroid Build Coastguard Worker 120*79398b25SAndroid Build Coastguard Worker Examples: 121*79398b25SAndroid Build Coastguard Worker 122*79398b25SAndroid Build Coastguard Worker 1. unsquashfs image.sqsh 'test/*.gz' 123*79398b25SAndroid Build Coastguard Worker 124*79398b25SAndroid Build Coastguard Worker Extract all files matching "*.gz" in the top level directory "test". 125*79398b25SAndroid Build Coastguard Worker 126*79398b25SAndroid Build Coastguard Worker 2. unsquashfs image.sqsh '[Tt]est/example*' 127*79398b25SAndroid Build Coastguard Worker 128*79398b25SAndroid Build Coastguard Worker Extract all files beginning with "example" inside top level directories 129*79398b25SAndroid Build Coastguard Worker called "Test" or "test". 130*79398b25SAndroid Build Coastguard Worker 131*79398b25SAndroid Build Coastguard Worker Using extended wildcards, negative matching is also possible. 132*79398b25SAndroid Build Coastguard Worker 133*79398b25SAndroid Build Coastguard Worker 3. unsquashfs image.sqsh 'test/!(*data*).gz' 134*79398b25SAndroid Build Coastguard Worker 135*79398b25SAndroid Build Coastguard Worker Extract all files matching "*.gz" in top level directory "test", 136*79398b25SAndroid Build Coastguard Worker except those with "data" in the name. 137*79398b25SAndroid Build Coastguard Worker 138*79398b25SAndroid Build Coastguard Worker3. Regular expression pattern matching now supported in extract files 139*79398b25SAndroid Build Coastguard Worker 140*79398b25SAndroid Build Coastguard Worker Enabled by specifying -r[egex] option. Identical behaviour to wild 141*79398b25SAndroid Build Coastguard Workercard pattern matching, except patterns are considered to be regular 142*79398b25SAndroid Build Coastguard Workerexpressions. 143*79398b25SAndroid Build Coastguard Worker 144*79398b25SAndroid Build Coastguard Worker4. UNSQUASHFS - EXTENDED FILENAME PRINTING 145*79398b25SAndroid Build Coastguard Worker------------------------------------------ 146*79398b25SAndroid Build Coastguard Worker 147*79398b25SAndroid Build Coastguard WorkerFilename printing has been enhanced and Unquashfs can now display filenames 148*79398b25SAndroid Build Coastguard Workerwith file attributes ('ls -l' style output). 149*79398b25SAndroid Build Coastguard Worker 150*79398b25SAndroid Build Coastguard WorkerNew options: 151*79398b25SAndroid Build Coastguard Worker 152*79398b25SAndroid Build Coastguard Worker -ll[s] 153*79398b25SAndroid Build Coastguard Worker 154*79398b25SAndroid Build Coastguard Worker list filesystem with file attributes, but don't unsquash 155*79398b25SAndroid Build Coastguard Worker 156*79398b25SAndroid Build Coastguard Worker -li[nfo] 157*79398b25SAndroid Build Coastguard Worker 158*79398b25SAndroid Build Coastguard Worker print files as they are unsquashed with file attributes 159*79398b25SAndroid Build Coastguard Worker 160*79398b25SAndroid Build Coastguard Worker 161*79398b25SAndroid Build Coastguard Worker5. UNSQUASHFS - MISCELLANEOUS OPTIONS 162*79398b25SAndroid Build Coastguard Worker------------------------------------- 163*79398b25SAndroid Build Coastguard Worker 164*79398b25SAndroid Build Coastguard Worker -s[tat] 165*79398b25SAndroid Build Coastguard Worker 166*79398b25SAndroid Build Coastguard Worker Display the filesystem superblock information. This is useful to 167*79398b25SAndroid Build Coastguard Worker discover the filesystem version, byte ordering, whether it has an 168*79398b25SAndroid Build Coastguard Worker NFS export table, and what options were used to compress 169*79398b25SAndroid Build Coastguard Worker the filesystem. 170