是否可以在启动后立即安装覆盖层?

是否可以在启动后立即安装覆盖层?

背景:

我有一个带有闪存和 SD 存储的嵌入式系统。

目前我仅使用闪存来启动(uBoot、内核、initramfs)。

根文件系统 ( /) 位于 SD 上 (ext3/dev/mmcblk0p2)。

当电源突然断电时,我(有时)会遇到 SD 故障(不幸的是,我无法阻止这种情况)。

我想将根文件系统分为两个覆盖层,以便系统的大部分是“较低”的只读/只读,存储在闪存中(可能是替换initramfs),而应用程序相关的“上部”覆盖位于ext3/4SD 上的另一个读/写分区上。

完全启动所需的所有部件都应位于“lower”上,以便在“upper”(暂时)丢失时系统可以正常工作。

/tmp/var并且其他需要读/写的地方已经打开tmpfs,因此系统可以以只读/只读方式启动/

如果出现故障,“lower”可以尝试恢复,并作为最后的手段完全mkfs.ext4 /dev/mmcblk0p3重新初始化它。

问题:

如何挂载overlay分区/

我阅读了文档,但我有点困惑,因为所有示例似乎都适用于不同于/;的目录。我可以做类似的事情吗:

mount /dev/mmcblk0p3 /ovr
mount -t overlay -o lowerdir=/,upperdir=/ovr,workdir=/ovr overlayfs-root /

启动后早期(最好是在 中/etc/inittab,因为我正在使用 Busybox init)?

答案1

是的,请参阅:https://askubuntu.com/questions/109413/how-do-i-use-overlayfs

简而言之,/在挂载overlayfs之前,您必须挂载到其他地方,或者将其绑定挂载到那里。

相关内容