squashfs目前最新版本4.3,从这里下载:https://sourceforge.net/projects/squashfs/ 下载后解压。
https://sourceforge.net/projects/lzmautils/files/ 下载xz-5.2.4,解压后,建立一个bin文件夹,然后:
./configure –disable-shared –prefix=/你的绝对路径/xz-5.2.4/bin
make
make install
把编译出来的include、lib两个文件夹复制到squashfs4.3\squashfs-tools目录下面
cd squashfs-tools
修改Makefile 注释掉#GZIP_SUPPORT = 1 去掉注释XZ_SUPPORT = 1 修改COMP_DEFAULT = xz
INCLUDEDIR = -I. -Iinclude #添加-Iinclude
修改下面这一段 ifeq ($(XZ_SUPPORT),1) CFLAGS += -DXZ_SUPPORT MKSQUASHFS_OBJS += xz_wrapper.o UNSQUASHFS_OBJS += xz_wrapper.o LIBS += -llzma -L./lib #添加-L./lib COMPRESSORS += xz endif
make
成功! for example:mksquashfs source1 dest.sqfs -comp xz -b 262144
分析文件系统镜像
unsquashfs -s rootfs_glibc_master_squashfs.img
Found a valid SQUASHFS 4:0 superblock onrootfs_glibc_master_squashfs.img.
Creation or last append time Sun Nov 5 11:17:38 2017
Filesystem size 9294.89 Kbytes (9.08 Mbytes)
Compression xz //压缩算法
Block size 65536 // 制作镜像时需要用到的参数
Filesystem is exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always-use-fragments option is not specified
Xattrs are compressed
Duplicates are removed
Number of fragments 87
Number of inodes 1271
Number of ids 2
制作文件系统镜像 mksquashfs /opt/Hisi/Hi3519/Hi3519V101_SDK_V1.0.2.0 test.sqhfs -b 65536 -comp xz
参考: http://www.cnitblog.com/gouzhuang/archive/2011/10/17/squashfs-lzma.html https://www.squashfs-lzma.org/