On arm64 SBC A, overlay readonly partition /root-ro onto itself.
mount -t overlay -o lowerdir=/root-ro,upperdir=/userdata/upper,workdir=/userdata/work,rw overlay2 /root-ro
After that, I can write into /root-ro/. You can see: test2.txt has two sources, but it seems the second is chosen.
findmnt --target /root-ro/test2.txt
TARGET SOURCE FSTYPE OPTIONS
/root-ro /dev/mmcblk0p6 ext4 ro,relatime
/root-ro overlay2 overlay rw,relatime,lowerdir=/root-ro,upperdir=/userdata/upper,workdir=/userdata/work
On arm64 SBC B, overlay readonly partition / onto itself.
mount -t overlay -o lowerdir=/,upperdir=/userdata/upper,workdir=/userdata/work,rw overlay2 /
After that, I can NOT write into / (complain "filesystem is READONLY") . You can see: /home/ has two sources, but it seems the first is chosen.
findmnt --target /home
TARGET SOURCE FSTYPE OPTIONS
/ /dev/mmcblk0p6 ext4 ro,relatime
/ overlay2 overlay rw,relatime,lowerdir=/,upperdir=/userdata/upper,workdir=/userdata/work