SquashFS 是一种高压缩率的只读文件系统,广泛用于嵌入式系统、Linux 发行版以及其他需要节省存储空间的场景。它特别适合用于启动分区、只读根文件系统(rootfs)等应用,因为它通过压缩技术极大地节省了存储空间。在本博客中,我们将详细介绍如何在 RK3568 等嵌入式设备上使用 SquashFS 作为启动分区的文件系统,并讨论其优缺点及相关配置步骤。
1. 什么是 SquashFS?
SquashFS 是一个高压缩的只读文件系统,它将文件和目录打包成一个压缩的文件系统映像。这个映像文件可以挂载为根文件系统或其他文件系统,常用于嵌入式设备、LiveCD 等需要减小文件系统占用空间的场景。
- 只读文件系统:SquashFS 是一个只读文件系统,这意味着它不能直接修改文件内容。在实际应用中,通常会将 SquashFS 文件系统放置在设备的启动分区或系统分区中,并通过其他机制(如 overlayfs 或写时复制(copy-on-write, COW))实现对文件系统的写操作。
- 高压缩率:SquashFS 支持多种压缩算法(如 gzip、LZ4、XZ 等),能够在保证读取性能的同时,显著减小存储空间的占用。
- 高效性能