我正在研究嵌入式Linux。我试图通过将 rootfs 设置为只读并将 fs 文件从 sdcard 挂载到根目录来保护它。
我需要合并两个 fs。 任何写入都可以重定向到 sdcard 上的 fs 文件。 仍然可以从只读 rootfs 读取。
我尝试了以下方法:
$ cd/media/sdcard
$挂载用户文件系统/
$ cd/
$ echo a > a.txt
但是我收到错误: -sh:a.txt:只读文件系统
任何人都可以帮助我实现所需的功能吗?
最佳答案
为了完成罗斯的回答,这就是我为/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\
"
关于filesystems - 如何在只读 rootfs 上创建可加载文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55281079/