mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 15:43:02 +02:00
Before this change, the following would happen in /lib/infix/mnt if a factory-reset was performed: 1. Copy the contents of /var from Squash into /mnt/var and bind mount /mnt/var over /var 2. Check for factory-reset 3. Clear /mnt/cfg/* and /mnt/var/* 4. Mount overlays This ordering leaves the system with a completely empty /var on the boot when a factory-reset is executed. Finit will fixup some of this via its tmpfiles scripts, but we want the ability to ship files under /var as part of the Squash and have these be available after the bind mount, just like what happens at every other boot, when we don't perform a factory-reset. We solve this by delaying the bind mount (1) until after the reset has been performed, together with all the overlays (4). While we're here, make the fallback case, where no persistent /var is available, use a bind mount as well. This should allow containers to be tested on such setups, and it's one less flavor to test. New order: 1. Check for factory-reset 2. Clear /mnt/cfg/* and /mnt/var/* 3. Mount overlays 4. Copy the contents of /var from Squash into /mnt/var and bind mount /mnt/var over /var Now the only difference between a regular boot and a "factory-reset-boot" is whether (2) executed or not.