SquashFS
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[1] and LZO compression,[2] Linux kernel 2.6.38 added support for LZMA2 compression (which is used by xz),[3] and Linux kernel 3.19 added support for LZ4 compression.[4]
Linux kernel 2.6.35 added support for extended file attributes.[5]
Uses
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[6] and DD-WRT router firmware. It is also used in Chromecast [7] and for the system partitions of Android Nougat.[8] 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.
The on-disk format of SquashFS has stabilized enough that it has been merged into the 2.6.29 version of the Linux kernel.[9] In that process, the backward-compatibility code for older formats was removed.
SquashFS is also used by Linux Terminal Server Project and Splashtop. The tools unsquashfs and mksquashfs have been ported to Windows NT[10] - Windows 8.1.[11] 7-Zip also supports SquashFS.[12]
See also
References
- ↑ "Official Squashfs LZMA". SquashFS-LZMA.org. Retrieved 2012-11-08.
- ↑ "Linux 2 6 34 - Linux Kernel Newbies". KernelNewbies.org. Retrieved 2012-11-08.
- ↑ "Linux 2 6 38 - Linux Kernel Newbies". KernelNewbies.org. Retrieved 2012-11-08.
- ↑ Merge of LZ4 Squashfs support to Linus Torvalds tree.
- ↑ "Linux 2 6 35 - Linux Kernel Newbies". KernelNewbies.org. Retrieved 2012-11-08.
- ↑ "The OpenWrt Flash Layout - OpenWrt Wiki". Wiki.OpenWRT.org. 2012-08-25. Retrieved 2012-11-08.
- ↑ http://blog.gtvhacker.com/2013/chromecast-exploiting-the-newest-device-by-google/
- ↑ http://arstechnica.com/gadgets/2016/05/android-n-borrows-chrome-os-code-for-seamless-update-installation/
- ↑ "Btrfs and Squashfs merged into Linux kernel - The H Open: News and Features". Heise-Online.co.uk. 2009-01-10. Retrieved 2012-11-08.
- ↑ "Squashfs tools for Windows; Forum Thread". Retrieved 2012-12-16.
- ↑ "SquashFS Tools (Linux/Windows)". Retrieved 2015-05-27.
- ↑ http://www.7-zip.org/