Как сделать загружаемую файловую систему поверх только для чтения rootfs? - PullRequest
1 голос
/ 21 марта 2019

Я работаю над встроенным Linux. Я пытаюсь защитить свои rootfs, сделав его доступным только для чтения, и монтируя файл fs с sdcard через корень.

Мне нужно объединить оба фс. Любые записи могут быть перенаправлены в файл fs на SDCard. Чтение с прав доступа только для чтения все еще возможно.

Я попробовал следующее:

$ cd / media / sdcard

$ mount userfs /

$ кд /

$ echo a> a.txt

Но я получаю сообщение об ошибке: -sh: a.txt: файловая система только для чтения

Может ли кто-нибудь помочь мне реализовать необходимую функциональность?

Ответы [ 2 ]

1 голос
/ 21 марта 2019

Да, overlayfs - это точно , что вы хотите.

0 голосов
/ 22 марта 2019

Чтобы завершить ответ Росса, я добавил оверлеи для / 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 ; "

Вы также можете использовать VOLATILE_BINDS в некоторых ситуациях:

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