SquashFS是一套基于Linux内核使用的压缩只读文件系统。该文件系统能够压缩系统内的文档,inode以及目录,文件最大支持2^64字节。常用到嵌入式linux系统中,SquashFS可以将整个文件系统压缩在一起,存放在某个设备,某个分区或者普通的文件中。如果将其压缩到一个设备中,那么可以将其直接 mount 起来使用,而如果它仅仅是个文件的话,可以将其当为一个 loopback 设备使用。
以fedroa19 livecd为例
unsquashfs squashfs.img
将squashfs.img解压,解压后得到squashfs-root。目录结构:squashfs-root/LiveOS/ext3fs.img。mount –o loop,rw ext3fs.img $HOME/rootfs
,得到liveOS的内容。mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /home/fedora/fedora.iso -V "fedora-19" -no-emul-boot -boot-load-size 4 -boot-info-table .
-o用来指定iso输出文件,-V指定iso的LABEL,此处LABEL必须为之前查到LABEL。如不一致可能会造成livecd不能启动。