本文を読み飛ばす

apply overlayfs several directories.

how to reduce the access to SD card in Raspberry-Pi OS.

the one method for it, use the overlay filesystem to several paths in SD card.

here is the script sample to mount the overlayfs onto SD card root file system::

mount-overlay-usr-src: /usr/src/f_overlay
mount-overlay-var-log: /var/log/f_overlay

/usr/src/f_overlay: d:=/mnt/storage1/usr-src
/usr/src/f_overlay: l:=lowerdir=/usr/src
/usr/src/f_overlay: u:=$d/usr-src-upper
/usr/src/f_overlay: w:=$d/usr-src-temp
/usr/src/f_overlay:
    mkdir -p $u $w
    mount -t overlay overlay -o $l,upperdir=$u,workdir=$w $(dir $@)
    touch $@

/var/log/f_overlay: d:=/mnt/storage1/var-log
/var/log/f_overlay: l:=lowerdir=/var/log
/var/log/f_overlay: u:=$d/var-log-upper
/var/log/f_overlay: w:=$d/var-log-temp
/var/log/f_overlay:
    mkdir -p $t $w
    mount -t overlay overlay -o $l,upperdir=$u,workdir=$w $(dir $@)
    touch $@

write down above text to Makefile then run them by::

$ make mount-overlay-usr-src
$ make mount-overlay-var-log

make it to the systemd unit file for persistence mount.

create /etc/systemd/system/mount-overlay.service::

$ cat > /etc/systemd/system/mount-overlay.service <<EOF
[Unit]
Description = mount overlay filesystem to reduce SD card access.
After = mnt-storage1.mount

[Mount]
ExecStart = make -C /path/to/script mount-overlay-var-log
ExecStop = umount -f /var/log

[Install]
WantedBy = default.target
EOF

$ systemctl daemon-reload
$ systemctl start mount-overlay
$ systemctl enable mount-overlay

コメント

Comments powered by Disqus
宣伝: