简体   繁体   中英

How to make loadable file system over the read only rootfs?

I am working on embedded linux. I am trying to protect my rootfs by making it read only and mount fs file from the sdcard over the root.

I need both fs to be merged. Any writes can be redirected to the fs file onto the sdcard. Reading from the read only rootfs still possible.

I tried the following:

$ cd /media/sdcard

$ mount userfs /

$ cd /

$ echo a > a.txt

But I receive error: -sh: a.txt: Read-only file system

Can any one help me to implement the needed functionality ?

是的,overlayfs正是您想要的。

To complete Ross answer, this is how I added overlayfs for /var/log:

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 ; "

You can also use VOLATILE_BINDS in some situations:

VOLATILE_BINDS_append = " \
    /data/etc/hostname /etc/hostname \n\
"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM