使用只读文件系统的Buildroot:允许在/ etc上写入

问题描述 投票:0回答:1

我正在准备一个基于Orange PI Zero的Buildroot IoT项目,所以我将把它变成一个只读系统。无论如何,当用户为他的WiFi网络配置wpa_supplicant.conf时,我需要持续写入/ etc来更新wpa_supplicant.conf。如果用户想要,我还需要使用一些配置参数更新自定义文本文件。

每当我需要更新单个文件时,我想避免在r / w中重新安装整个文件系统。

这是实现这一目标的最佳方法?

embedded-linux iot buildroot orange-pi
1个回答
1
投票

您可以在/ etc之上设置可写覆盖,以便进行更改。选项可以是内核中的overlayfs,也可以是使用fuse的unionfs。由于init / initscripts已经使用/ etc,因此您可能需要在init之前创建一个包装器脚本来设置此覆盖层。 - E.G.就像是:

mount -t proc proc /proc
mount /mnt/data
mount -o bind /etc/ /mnt/rom-etc
unionfs -o cow,allow_other,use_ino,nonempty \
        mnt/data=RW:/mnt/rom-etc=RO /etc/
exec /sbin/init $*
© www.soinside.com 2019 - 2024. All rights reserved.