Küçük boyutlu ve gömülü Linux sistemler oluşturulurken, depolama biriminin (disket, flash, disk vb.) her byte'ı çok önemli olduğundan mümkün olan her yerde sıkıştırma kullanılır. Ayrıca sıkıştırılmış dosya sistemleri arşivleme amacıyla da sıklıkla kullanılırlar. Kişisel arşivlerin yanı sıra büyük kamusal arşivlerde de olmazsa olmazlardan biri sıkıştırılmış dosya sistemleridir.
SquashFS bütün bunları başka bir seviyede ele alır. SquashFS isterseniz tek tek dizinleri, isterseniz bütün dosya sistemini sıkıştırmanıza izin veren; onları başka aygıtlara/disk bölümlerine ya da sıradan dosyalara yazabildiğiniz ve (eğer aygıt ise) doğrudan bağlayabildiğiniz veya (eğer bir dosya ise) loopback aygıtını kullanarak bağlayabildiğiniz salt-okunur bir dosya sistemidir. Sistem tasarımının modüler ve kompakt olması harikadır. Arşivleme amacıyla kullanıldığında bir tarball arşivinden daha fazla esneklik ve performans sunar.
SquashFS Linux çekirdeğine (çekirdeğin SquashFS okuması için desteği sağlayan) bir yama, (bir dosyaya ya da blok aygıtına) sıkıştırılmış dosya sistemini yaratan mksquashfs ve bu sıkıştırılmış dosya sisteminden dosyaların çıkartılmasına imkan tanıyan unsquashfs aracları ile birlikte dağıtılmaktadır.
Son SquashFS sürümü 3.x, bir önceki ise 2.x serisidir. Bu belgede gerektiğinde verilen notlarla her iki sürüm için de açıklamalar yapılmıştır. Örneğin eğer sürüm ağaçlarında bir özellik veya parametre farklı ise bu durum şöyle gösterilmiştir: new value (3.x) veya old value (2.x).
Bundan sonra yapılacakların daha iyi açık anlaşılması için SquashFS'in çalışabilmesi için temel olarak hangi aşamalardan geçilmesi gerektiğini özetleyelim: