aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-07-31 17:20:02 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2019-07-31 17:20:02 +0200
commitca31aeea6cfe06b9e9f6476347564affe1596447 (patch)
tree292340006856412d1c8fd1a1f88a2151d5f54a90 /README
parent1d81e68dd152ea73b98aa2d8edb7b3095e4ded6d (diff)
Overhaul README and convert it to markdown
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'README')
-rw-r--r--README84
1 files changed, 0 insertions, 84 deletions
diff --git a/README b/README
deleted file mode 100644
index 4c2bff3..0000000
--- a/README
+++ /dev/null
@@ -1,84 +0,0 @@
-
- About
- *****
-
-SquashFS is a highly compressed, read only file system often used as a root fs
-on embedded devices, live systems or simply as a compressed archive format.
-
-Think of it as a .tar.gz that you can mount (or XZ, LZO, LZ4, ZSTD).
-
-As the name suggests, this is not the original user space tooling for
-SquashFS, which are currently maintained in parallel elsewhere. After a
-long period of silence on the SourceForge site and mailing list, I
-attempted to fork the existing code base with the intention to
-restructure/clean it up and add many features I personally perceived to
-be missing, but I ultimately decided that it would be easier to start
-from scratch than to work with the existing code.
-
-Here are some of the features that primarily distinguish this package from
-the (at the time of writing recent) squashfs-tools 4.3:
-
- - Reproducible SquashFS images, i.e. deterministic packing without
- any local time stamps.
- - Linux `gen_init_cpio` like file listing for micro managing the
- file system contents, permissions, and ownership without having to replicate
- the file system (and especially permissions) locally.
- - Support for SELinux contexts file (see selabel_file(5)) to generate
- SELinux labels.
- - Structured and (hopefully) more readable source code that should be better
- maintainable in the long run.
-
-
-In addition to that, tools have been added to directly convert a tar archive
-into a SquashFS filesystem image and back. This allows for using existing
-tools can work on tar archives seamlessly on SquashFS images.
-
-
-The tools in this package have different names, so they can be installed
-together with the existing tools:
-
- - `gensquashfs` can be used to produce SquashFS images from `gen_init_cpio`
- like file listings or simply pack an input directory.
- - `rdsquashfs` can be used to inspect and unpack SquashFS images.
- - `sqfs2tar` can turn a SquashFS image into a tar ball, written to stdout.
- - `tar2sqfs` can turn a tar ball (read from stdin) into a SquashFS image.
-
- Future plans
- ************
-
-In addition to the above, the following things would be really nice to
-have eventually:
-
- - A tool for merging multiple images into one
- - A tool for splitting an image
- - A diff tool
- - Diff of the directory tree of two images
- - Diff of the file meta data in two images
- - File level diffs
- - Combinations of the above in a still human readable form
- - [IN PROGRESS] A *complete* specification of the on-disk format and all the
- arbitrary checks enforced by the kernel.
- - Patching kernel and user space to support SquashFS on top of UBI
- - Patching kernel and user space to support ACLs
-
- Copyright & License
- *******************
-
-The source code in this package has been written by me, David Oberhollenzer,
-in 2019 and is released under the terms and conditions of the GNU General
-Public License version 3 or later.
-
-To the best of my knowledge, no code has been copied over from the original
-SquashFS tools. The kernel documentation, the kernel headers and this web site
-have been used as main sources for understanding SquashFS:
-
- https://dr-emann.github.io/squashfs/
-
-Some additional information (such as xattr implementation) has been gathered
-from various mailing lists and other web sources.
-
-Compressor implementations are primarily based on the documentation of the
-compression libraries.
-
-The existing unsquashfs tool and kernel implementation were used for trial and
-error testing during development.