我正在准备一个基于Orange PI Zero的Buildroot IoT项目,所以我将把它变成一个只读系统。无论如何,当用户为他的WiFi网络配置wpa_supplicant.conf时,我需要持续写入/ etc来更新wpa_supplicant.conf。如果用户想要,我还需要使用一些配置参数更新自定义文本文件。
我希望每次需要更新单个文件时都避免在r / w中重新安装整个文件系统。
实现这一目标的最佳方法是什么?
答案 0 :(得分: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 $*