我正在嵌入式Linux上工作。我试图通过使其只读并在根上从sdcard挂载fs文件来保护我的rootfs。
我需要将两个fs合并。 任何写操作都可以重定向到fs文件到sdcard上。 仍然可以从只读rootfs进行读取。
我尝试了以下操作:
$ cd / media / sdcard
$ mount userfs /
$ cd /
$ echo a> a.txt
但是我收到错误消息: -sh:a.txt:只读文件系统
任何人都可以帮助我实现所需的功能吗?
答案 0 :(得分:1)
是的,overlayfs正是您想要的。
答案 1 :(得分:0)
要完成Ross的回答,这就是我为/ var / log添加overlayfs的方式:
add_overlayfs_mount() {
mkdir -p ${IMAGE_ROOTFS}/data/overlay/log
mkdir -p ${IMAGE_ROOTFS}/data/work/log
echo '/dev/sda4 /data ext4 defaults 0 0' >> ${IMAGE_ROOTFS}/etc/fstab
echo 'ofslog /var/log overlay defaults,x-systemd.requires=data,lowerdir=/var/log,upperdir=/data/overlay/log,workdir=/data/work/log 0 2' >> ${IMAGE_ROOTFS}/etc/fstab
}
ROOTFS_POSTPROCESS_COMMAND += "add_overlayfs_mount ; "
在某些情况下,您也可以使用VOLATILE_BINDS:
VOLATILE_BINDS_append = " \
/data/etc/hostname /etc/hostname \n\
"