@anticapitalista unless you had that remaster script from Refracta, our tool has nothing to do with that, I never tried Refracta or tried their tool and the methods we are using in Snapshot were developed by BitJam and me. My "MX-Tools" that was renamed to "MX Snapshot" was originally just a way to GUIfy some tools (hence the "MX Tools" name) and specifically your remastering script ('remaster.sh") and it evolved from that into a snapshotting tool.
Here's for example a link to an 15 years old version of the remaster.sh (unfortunately I don't think we have the development history of that in github)
https://github.com/MEPIS-Community/remastering-script/
IIRC, MX-Snapshot is based (wholly?) on the antiX tool.
No, it's not quote like that, and not "wholly", it was written by me with the help of BitJam (antiX developer), but it wasn't an antiX tool, it has a long history, the idea came from a "remastering script" that antiX had (a bash script that would unpack an ISO, copy it over and allow you to chroot into it, modify it and pack it back). Personally I didn't like that it took ages to unpack and copy over not to mention that it need all that space on the harddrive so I tried to improve the script by mounting it and doing the copy from there without copy it over to the disk.
Initially the first improvement I made was to use "rsync" instead of "cp" so if reopening the same ISO would not need to copy the entire ISO again, only the changed files (here's how the main copy function looked in 2015:
https://github.com/AdrianTM/mx-snapshot ... #L271-L292 it was simply copying stuff from the unmounted ISO to a new place where we'd run mksquashfs to make the squashfs and then package it with genisoimage.
Then I decided to use "mount" instead of "rsync" to mount to "work dir" to the "new-squashfs" folder (that's probably an idea I borrowed from BitJam's build-iso script): here's the commit from 2015:
https://github.com/AdrianTM/mx-snapshot ... 9f3e450a5f this saved the time and space of copying all the files with rsync. It also wiped my disk in the process a couple of times till I got the mounting/unmounting right.
Eventually we discovered that we can use mount binds to mount files over to reset some files to the original Live ISO files or to our version of the files, that allowed not only to make changes to an unpacked ISO, but that allowed us to "hide" or change files from the running system, once we made that work because it was so much better than remastering ISO (and since remaster.sh was the tool for that) I dropped the option to remaster an ISO from the GUI tool.
Without the help of BitJam and anticapitalista this tool would not have been possible, for example, I had no idea and even now I'm not sure how iso-templates is supposed to look. BitJam also wrote a tight bash utility "installed-to-live" that does those bind mounts that we call from our GUI tool.