To increase flash lifetime and avoid problems with unexpected power cuts, I run all of my embedded Linux systems from a readonly root filesystem. This is a moving target: Depending on the software in use as well as the version and configuration of systemd and userland software, different adjustments may be needed.
I have created a readonly linux reference page containing all tweaks I
know of at the moment, which are mostly tmpfs mounts and /etc/tmpfiles.d
entries. I'll update it when I run by something new.