如何在只读rootfs上制作可加载文件系统?

时间:2019-03-21 13:03:38

标签: filesystems embedded-linux yocto mount

我正在嵌入式Linux上工作。我试图通过使其只读并在根上从sdcard挂载fs文件来保护我的rootfs。

我需要将两个fs合并。 任何写操作都可以重定向到fs文件到sdcard上。 仍然可以从只读rootfs进行读取。

我尝试了以下操作:

$ cd / media / sdcard

$ mount userfs /

$ cd /

$ echo a> a.txt

但是我收到错误消息: -sh:a.txt:只读文件系统

任何人都可以帮助我实现所需的功能吗?

2 个答案:

答案 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\
"