MTD子系统和cramfs、squashfs、 jffs2

        在Linux系统中,MTD子系统是一种非常重要的子系统。它负责管理Flash存储设备并向用户空间提供接口,MTD是Memory Technology Device的缩写,指的是一类提供类似文件系统的访问接口的非易失性存储设备,例如闪存、EEPROM和NAND Flash等。MTD设备可以通过一组访问接口(如mtdchar、mtdblock和JFFS2等)与内核交互,从而提供高效的文件系统支持和数据存储服务。在Linux系统中,MTD设备被广泛用于嵌入式系统中,如路由器、智能家居、可穿戴设备等。

MTD主要是非易失性存储设备,常见的是flash,和内核交互通过字符设备或者块设备的形式。

JFFS2和cramfs都是基于MTD驱动程序。JFFS2文件系统是第二代日志闪存文件系统,主要应用在NOR flash,并提供耗损均衡技术。缺点是当文件系统变满时,因为垃圾收集的增多导致运行速度会受影响。JFFS2文件系统挂载时会扫描整个flash中的内容,比较耗时,由于NAND FLASH往往比较大,因此JFFS2不适合NAND FLASH。

cramfs

 cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统,在cramfs文件系统中,每-页(4KB)被单独压缩,可以随机页访间,其压缩比高达2:1为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而低系统成本,cramfs文件系统以压缩方式存储,在运行时解压缩,不支持应用程序以XIP方式运行,所有的应用程序要求被拷贝到RAM里去运行。

1、mkcramfs具用来创建CRAMES文件系统
#mkcramfs dirname(文件夹) root.cramfs(生成的镜像)

2、cramfsck工具用来进行CRAMFS文件系统的释放和检查
#cramfsck root.cramfs -x dir(文件夹)

mkcramfs /home/ubuntu/work/rootfs /tmp/rootfs.cramfs

sudo mount -t cramfs -o loop rootfs.cramfs /mnt/mount_dir/

squashfs

squashfs 文件系统是一套基于 Linux 内核使用的压缩只读文件系统,压缩率高。

squashfs 具有如下特点:

优点: 压缩率高,数据(data),节点(inode)和目录(directories)都被压缩,可以节省 flash 空间,最大可以支持 4G 文件系统。

缺点: 无法写操作

# 安装工具
sudo apt-get install squashfs-tools

# 压缩工具
常用的参数:
-comp 算法
-no-fragments 不使用碎片机制
-b 文件切分的数据块大小,必须是4K的倍数
 
mksquashfs /file_dir /file.squashfs

# 挂载命令 挂载后只读不能写
mount -t squashfs /file.squashfs /mnt/mount_dir
umount /mnt/mount_dir

# 解压工具:unsquashfs

常用的参数:
-d 解压的目标目录
-l  查看squashfs文件系统内包含的文件列表,不解压文件系统
 
unsquashfs file.squashfs

mksquashfs roofts/ /tmp/rootfs -noappend -comp xz

命令支持许多参数来自定义生成文件系统的特定设置。以下是一些常用的参数:

1.-no-duplicates 参数用于避免将重复的文件放入生成的文件系统中
2.-b参教指定块的大小,这将影响文件系统的缩比率和性能,较小的块大小可以获得更好的文件系统压缩比率,但可能会影响系统性能。
3-comp压缩参数指定使用的压缩算法,命令支持多种压缩算法,如gzip、zo、xz等
4.-root-owned 参数用于保留文件所有者的信息,在某些情况下,对文件的所有者信息进行保留非常重要.
5.-noappend 参数禁止在文件系统之后添加额外的块,这可以确保生成的文件系统是固定的、与时间无关的

 jffs2

 jffs2:可读写文件系统,可选择压缩方式

jffs2(一种基于Norflash的文件系统,也支持小页的nandflash)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值