aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhillip Lougher <phillip@squashfs.org.uk>2014-08-08 21:56:15 +0100
committerMohamad Ayyash <mkayyash@google.com>2015-02-23 12:36:40 -0800
commit06034ad71be9d67fac524ac681c7a8017485da70 (patch)
tree711a9900a4186417a4c118af32757948c257816a
parent191828311191c2fabe652eb0494e83d41a8a4807 (diff)
downloadsquashfs-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--CHANGES25
-rw-r--r--INSTALL37
-rw-r--r--RELEASE-README22
-rw-r--r--RELEASE-READMEs/README-4.048
4 files changed, 83 insertions, 49 deletions
diff --git a/CHANGES b/CHANGES
index 5ad3331..42f91f5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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.
diff --git a/INSTALL b/INSTALL
index 729379f..725d619 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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.