【问题标题】:How to make loadable file system over the read only rootfs?如何在只读的 rootfs 上创建可加载的文件系统?
【发布时间】:2019-08-12 08:18:31
【问题描述】:

我正在研究嵌入式 linux。我试图保护我的 rootfs,将其设为只读并从 sdcard 挂载 fs 文件到 root。

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

我尝试了以下方法:

$ cd /media/sdcard

$ mount userfs /

$ cd /

$ echo a > a.txt

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

谁能帮我实现所需的功能?

【问题讨论】:

标签: filesystems embedded-linux yocto mount


【解决方案1】:

是的,overlayfs 正是你想要的。

【讨论】:

  • 你能推荐一些关于如何设置overlayfs、可能的宙斯和更高版本的最新Yocto文档吗?恕我直言,在 yocto 中没有太多关于 overlayfs 的最新阅读材料。
【解决方案2】:

为了完成罗斯的回答,这就是我为 /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\
"

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2016-08-04
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2018-04-10
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多