This is what I think is needed to get systemd to do the overlay work:
Install:
$ pacman -Syu mkinitcpio-systemd-tool
Then edit /etc/mkinitcpio.conf and modify your settings to include:
MODULES=(overlay)
BINARIES=(/usr/lib/systemd/systemd-volatile-root)
FILES=(/etc/os-release /usr/lib/os-release /usr/lib/systemd/system/systemd-volatile-root.service)
Edit HOOKS, by removing “udev” and replacing it with “systemd”:
HOOKS=(base systemd autodetect modconf block filesystems keyboard fsck)
Then change directory to /boot and run:
$ mkinitcpio -P
Finally modify your /boot/cmdline.txt by adding:
systemd.volatile=overlay
Now reboot and you should see something like the following for the root filesystem:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
overlay 925600 71388 854212 8% /
I am currently unsure if changing “rw” to “ro” in the cmdline.txt file makes any difference.
Warning: Play with this on a new SD image. Easy to get stuck in a spot with a broken image.