diff options
author | Phillip Lougher <phillip@squashfs.org.uk> | 2014-08-08 21:56:15 +0100 |
---|---|---|
committer | Mohamad Ayyash <mkayyash@google.com> | 2015-02-23 12:36:40 -0800 |
commit | 06034ad71be9d67fac524ac681c7a8017485da70 (patch) | |
tree | 711a9900a4186417a4c118af32757948c257816a | |
parent | 191828311191c2fabe652eb0494e83d41a8a4807 (diff) | |
download | squashfs-tools-06034ad71be9d67fac524ac681c7a8017485da70.tar.gz |
Release files - Squashfs4.0
4.0 5 APR 2009 Major filesystems improvements
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
-rw-r--r-- | CHANGES | 25 | ||||
-rw-r--r-- | INSTALL | 37 | ||||
-rw-r--r-- | RELEASE-README | 22 | ||||
-rw-r--r-- | RELEASE-READMEs/README-4.0 | 48 |
4 files changed, 83 insertions, 49 deletions
@@ -1,5 +1,30 @@ SQUASHFS CHANGE LOG +4.0 5 APR 2009 Major filesystems improvements + + 1. Kernel code improvements: + + 1.1 Fixed little endian layout adopted. All swapping macros + removed, and in-line swapping added for big-endian + architectures. + 1.2 Kernel code substantially improved and restructured. + 1.3 Kernel code split into separate files along functional lines. + 1.4 Vmalloc usage removed, and code changed to use separately + allocated 4K buffers + + 2. Unsquashfs improvements: + + 2.1 Support for 4.0 filesystems added. + 2.2 Swapping macros rewritten. + 2.3 Unsquashfs code restructured and split into separate files. + + 3. Mksquashfs improvements: + + 3.1 Swapping macros rewritten. Fixed little-endian layout allows + code to be optimised and only added at compile time for + big endian systems. + 3.2 Support for pseudo files added. + 3.4 26 AUG 2008 Performance improvements to Unsquashfs, Mksquashfs and the kernel code. Plus many small bug fixes. @@ -1,43 +1,12 @@ INSTALLING SQUASHFS -The squashfs3.4.tar.gz file contains the kernel-patches directory containing -the squashfs patches, and the squashfs-tools directory containing mksquashfs -and unsquashfs. +The squashfs4.0.tar.gz file contains the squashfs-tools directory containing +mksquashfs and unsquashfs. 1. Patching the kernel ---------------------- -There are twelve kernel patch directories depending on your linux kernel -version. If your kernel version isn't there then try the patch for the nearest -kernel. - -To patch your kernel, cd into the top level directory, and run the "patch" -command, e.g. assuming linux-2.6.22 - -%cd /usr/src/linux-2.6.22 -%patch -p1 < location-of-squashfs/kernel-patches/linux-2.6.22/squashfs3.4-patch - -Where "location-of-squashfs" is the path to the squashfs3.4 source directory. - -The squashfs patches patch the relevant kernel files to add configure support, -initrd support, include files, and the squashfs directory under linux/fs/. -Once patched, the kernel must be reconfigured, with squashfs support turned on -(either Y/M) to ensure that inflate support is built into the kernel. The -squashfs kernel option can be found in the miscellaneous filesystems submenu -near the bottom of the filesystems submenu. - -There are a set of options which are intended for use by embedded systems with -low memory. At the "Additional option for memory-constrained systems" prompt, -please say NO unless you're using an embedded system! Saying Y here allows you -to specify cache sizes. - -The "Number of fragments cached" prompt allows the number of fragments cached -to be controlled. By default SquashFS caches the last 3 fragments read from -the filesystem. Increasing this amount may mean SquashFS has to re-read -fragments less often from disk, at the expense of extra system memory. -Decreasing this amount will mean SquashFS uses less memory at the expense of -extra reads from disk. Note there must be at least one cached fragment. -Anything much more than three will probably not make much difference. +This release is for 2.6.29 only. Kernel patching is not necessary. 2. Building squashfs tools -------------------------- diff --git a/RELEASE-README b/RELEASE-README index 5766ca9..6113537 100644 --- a/RELEASE-README +++ b/RELEASE-README @@ -1,11 +1,11 @@ - SQUASHFS 3.4 - A squashed read-only filesystem for Linux + SQUASHFS 4.0 - A squashed read-only filesystem for Linux - Copyright 2002-2008 Phillip Lougher <phillip@lougher.demon.co.uk> + Copyright 2002-2009 Phillip Lougher <phillip@lougher.demon.co.uk> Released under the GPL licence (version 2 or later). -Welcome to Squashfs version 3.4. Please read the CHANGES file for details of -changes. +Welcome to Squashfs version 4.0. Please read the README-4.0 and CHANGES files +for details of changes. Squashfs is a highly compressed read-only filesystem for Linux. It uses zlib compression to compress both files, inodes and directories. @@ -72,7 +72,7 @@ the directory "/mnt". As squashfs is a read-only filesystem, the mksquashfs program must be used to create populated squashfs filesystems. -SYNTAX:mksquashfs source1 source2 ... dest [options] [-e list of exclude +SYNTAX:./mksquashfs source1 source2 ... dest [options] [-e list of exclude dirs/files] Options are @@ -106,10 +106,7 @@ Options are -all-root make all files owned by root -force-uid uid set all file uids to uid -force-gid gid set all file gids to gid --le create a little endian filesystem --be create a big endian filesystem -nopad do not pad filesystem to a multiple of 4K --check_data add checkdata for greater filesystem checks -root-owned alternative name for -all-root -noInodeCompression alternative name for -noI -noDataCompression alternative name for -noD @@ -122,6 +119,8 @@ Options are exclude dirs/files -regex Allow POSIX regular expressions to be used in exclude dirs/files +-p <pseudo-definition> Add pseudo file definition +-pf <pseudo-file> Add list of pseudo file definitions Source1 source2 ... are the source directories/files containing the files/directories that will form the squashfs filesystem. If a single @@ -417,13 +416,6 @@ added to the filesystem. The original uncompressed size of each file is printed, along with DUPLICATE if the file is a duplicate of a file in the filesystem. -The -le and -be options can be used to force mksquashfs to generate a little -endian or big endian filesystem. Normally mksquashfs will generate a -filesystem in the host byte order. Squashfs, for portability, will -mount different ordered filesystems (i.e. it can mount big endian filesystems -running on a little endian machine), but these options can be used for -greater optimisation. - The -nopad option informs mksquashfs to not pad the filesystem to a 4K multiple. This is performed by default to enable the output filesystem file to be mounted by loopback, which requires files to be a 4K multiple. If the filesystem is diff --git a/RELEASE-READMEs/README-4.0 b/RELEASE-READMEs/README-4.0 new file mode 100644 index 0000000..8cc9514 --- /dev/null +++ b/RELEASE-READMEs/README-4.0 @@ -0,0 +1,48 @@ + SQUASHFS 4.0 - A squashed read-only filesystem for Linux + + Copyright 2002-2009 Phillip Lougher <phillip@lougher.demon.co.uk> + + Released under the GPL licence (version 2 or later). + +Welcome to Squashfs 4.0. This is an initial tools only release to +support users of the 2.6.29 kernel, following the mainlining of Squashfs +earlier this year. + +Later releases will probably contain kernel patches supporting 4.0 +layouts for earlier kernels. + +New Mksquashfs options +---------------------- + +Mksquashfs now supports pseudo files, these allow fake directories, character +and block devices to be specified and added to the Squashfs filesystem being +built, rather than requiring them to be present in the source directories. +This, for example, allows device nodes to be added to the filesystem without +requiring root access. + +Two options are supported, -p allows one pseudo file to be specified on the +command line, and -pf allows a pseudo file to be specified containing a +list of pseduo definitions, one per line. + +Pseudo device nodes are specified using 7 arguments + +Filename type mode uid gid major minor + +Where type is either + b - for block devices, and + c - for character devices + +mode is the octal mode specifier, similar to that expected by chmod. + +Uid and gid can be either specified as a decimal number, or by name. + +For example: + +/dev/chr_dev c 666 root root 100 1 +/dev/blk_dev b 444 0 0 200 200 + +Directories are specified using 5 arguments + +Filename type mode uid gid + +Where type is d. |