Developer(s) | Phillip Lougher, Robert Lougher |
---|---|
Introduced | 2009 with Linux 2.6.29 |
Limits | |
Max. volume size | 16 EiB |
Max. file size | 16 EiB |
Features | |
Transparent compression | gzip LZMA LZO LZMA2 LZ4 |
Other | |
Supported operating systems | Linux |
Website | squashfs |
SquashFS is a compressed read-only file system for Linux. SquashFS compresses files, inodes and directories, and supports block sizes up to 1 MB for greater compression. SquashFS is also the name of free software, licensed under the GPL, for accessing SquashFS filesystems.
SquashFS is intended for general read-only file-system use and in constrained block-device memory systems (e.g. embedded systems) where low overhead is needed. The original version of SquashFS used gzip compression, although Linux kernel 2.6.34 added support for LZMA and LZO compression, Linux kernel 2.6.38 added support for LZMA2 compression (which is used by xz), and Linux kernel 3.19 added support for LZ4 compression.
Linux kernel 2.6.35 added support for extended file attributes.
SquashFS is used by the Live CD versions of Arch Linux, Debian, Fedora, Gentoo Linux, Linux Mint, Salix, Ubuntu and on embedded distributions such as the OpenWrt and DD-WRT router firmware. It is also used in Chromecast and for the system partitions of Android Nougat. It is often combined with a union mount filesystem, such as UnionFS, OverlayFS, or aufs, to provide a read-write environment for live Linux distributions. This takes advantage of both the SquashFS's high speed compression abilities and the ability to alter the distribution while running it from a live CD. Distributions such as Debian Live, Mandriva One, Puppy Linux, Salix Live and Slax use this combination.