当前位置: 首页 > 工具软件 > SquashFS > 使用案例 >

Lesson 17 squashfs文件系统的制作与使用

解高昂
2023-12-01

Lesson 17 squashfs文件系统的制作与使用

如何来制作一个squashfs件系统的镜像?

一、工具安装
sudo apt-get install squashfs-tools

命令:dpkg -L squashfs-tools|grep bin
	mksquashfs
	unsquashfs

二、镜像制作
mksquashfs source1 source2 … dest [options] [-e list of exclude dirs/files]
主要选项:
-comp 指定压缩算法:gzip (default)/lzo/xz
-b <block_size> 设置块大小,单位 Bytes,默认 131072 bytes (1MB)
-no-exports 不支持NFS文件系统导出
-no-sparse 不检测稀疏文件
-no-xattrs 不存储扩展文件属性(XATTR)
-xattrs 存储扩展文件属性(default)
-noI 不压缩Inode节点表
-noD 不压缩数据块
-noF 不压缩片段块
-noX 不压缩扩展文件属性
-no-fragments 不使用片段管理
-always-use-fragments 对比块大小大的文件也是用片段块
-no-duplicates 不对文件重复进行检查
-all-root 修改所有的文件拥有者为root
-force-uid uid 设置所有文件的uid为指定的uid
-force-gid gid 设置所有文件的gid为指定的gid
-nopad 不对文件系统进行4K字节对齐
-keep-as-directory 如果指定的源中有目录,在文件系统中创建根目录包含该目录,而不是包含目录内容

文件系统内容:mini_busybox/
	mksquashfs mini_busybox rootfs.squashfs -no-exports -no-xattrs -all-root

三、镜像使用
内容提取:
unsquashfs [options] filesystem [directories or files to extract]
主要选项:
-d[est] 解压到指定目录,默认为"squashfs-root"
-n[o-progress] 不显示进度条
-no[-xattrs] 不提取xattr属性,默认提取
-l[s] 列出文件系统内容,不进行解压缩提取

		unsquashfs rootfs.squashfs

烧录挂载:
	sudo losetup /dev/loop0 rootfs.squashfs
	sudo mount /dev/loop0 /mnt
	sudo losetup -a
	
卸载解依附:
	sudo umount /dev/loop0
	sudo losetup -d /dev/loop0
 类似资料: