post-fs-data: Mount cacerts ourselves and unmount shadowed mount points #88
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During early boot, Magisk first runs all
post-fs-data.sh
scripts and then it mounts each module's<module dir>/system
overrides. This breaks support for using custom CA certs via the system-ca-certs module if it just so happens that filesystem ordering causes Custota to be loaded before system-ca-certs. Custota's gathering of the system certs would run before system-ca-certs, but Magisk's mounting of the resulting files would run after.To make things easier to troubleshoot, both modules now use the module ID as the arbitrary string for the source device for the mount instead of just
tmpfs
.This commit additionally fixes another issue with the upcoming version of Magisk. Magisk appears to "clean up" shadowed mount points now instead of just keeping them around and relying on Linux's last mount point wins behavior. However, it seems to keep the first mount around instead of the last mount, breaking the usual assumptions. To avoid this, both modules will now unmount all previous mounts on the cacerts directories before creating the new bind mounts.
Fixes: #87