On some devices which have easy direct access to its storage devices like x86 and single board computers, it is better to have a separate partition for /overlay when running on squashfs /rom. Because they usually don’t have limitations for storage space. This can help combine the ease of squashfs and easy to manage.
My suggestion is to have a fixed partition like 64MiB to only store the squashfs /rom, and plus an additional ext4/f2fs partition behind to store /overlay.
This can also reduce the risk of losing data when using sysupgrade, which reduces time to deal with those serial of problems(restoring config/data etc.), as this will keep the /overlay partition in position with the same image building config.
I have written a script to deal with this situation, but it need block-mount to be included in the image and specific /etc/config/fstab config in the repo used. Image builder is necessary for this requirements (firmware-selector does not allow custom files).
This test well with my x86_64, RPi 4B, NanoPi R2S, ppl interested in can help me test out more single board computers. Include correct mounting and sysupgrade with -c and -o option
I have tested with my x86_64, RPi 4B, NanoPi R2S, it may work on other single board computers. Do not use for devices which have limited storage like retail routers.