首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为了安全起见,让ubi卷与ubifs分开是否有意义?

为了安全起见,让ubi卷与ubifs分开是否有意义?
EN

Unix & Linux用户
提问于 2016-10-19 11:57:37
回答 1查看 2.2K关注 0票数 2

在以前的普及时代,在嵌入式系统中通常会在闪存中设置几个(MTD)分区以进行保护。例如,可以将包含只读文件系统的分区挂载为/,并为配置数据单独的可写分区挂载为/home或/data等。

另一方面,UBI的一个主要特点是它提供逻辑的"UBI卷“,同时对整个闪存设备进行磨损平整。引用MTD网站的话:

UBI实现了整个闪存设备的磨损平整(也就是说,您可以连续地写入/擦除UBI卷的一个逻辑擦除块,但是UBI会将其扩展到闪存芯片的所有物理擦除块);

我的问题是:对于单独的UBI卷,例如只读文件系统和配置数据,有意义吗?或者,这是由于整个闪光参与内部磨损平衡的事实而没有意义吗?

EN

回答 1

Unix & Linux用户

发布于 2018-07-13 19:17:20

是的,这当然是有道理的。嵌入式系统通常会在闪存上保存两个或多个单独的可引导映像。这样,它们就可以删除和升级其中一个,如果升级失败,则返回到另一个。如果将根文件系统和配置数据保持在同一个卷上,则升级过程将变得更加复杂,因为您必须管理将配置数据移动到新卷(并在各种故障/回退情况下跟踪哪些数据是“正确的”)。

因此,将静态程序数据与可变配置数据单独保存在一个卷上通常是一个好主意。具体考虑到UBIFS,有几种选择:

  • 将rootfs保存在原始UBI卷上方的squashfs中。您可以使用MTD_UBI_BLOCK内核选项将UBI卷表示为块设备,并从那里挂载squashfs。在这种情况下,您可以直接从UBIFS写入一个新映像,因为UBIFS可以写入原始UBI卷,但只能读取UBIFS上的文件。
  • 将rootfs保持为单独的UBIFS。这需要大量额外的空间,因为在存储文件系统元数据方面,UBIFS比squashfs效率低得多,而且如果rootfs是只读的,则没有真正的好处。
  • 将rootfs作为一个squashfs文件保存在UBIFS卷上,并循环挂载它。这会占用一些额外的空间( rootfs文件本身的元数据),但是具有额外的灵活性,因为您不必担心为引导映像和配置数据预留多少空间。(但是,如果您意外地耗尽了引导映像上的所有空间,这种灵活性可能是一件坏事。)
  • 将rootfs直接保存在MTD上。这失去了磨损水平的好处,完全为根,并降低磨损平整效率的可写卷,因为有较少的擦除块可旋转通过。
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/317444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档