Mountify combines files from enabled systemless modules into a global OverlayFS mount, with automatic and manual selection modes for Magisk, KernelSU, and APatch environments.
One Overlay for Module Files
Version 2.0.4 can operate as a KernelSU metamodule or as a conventional module on other supported root implementations.
Global OverlayFS
Collects module content in a backing directory and overlays the resulting paths onto matching system locations.
Controlled Selection
Mount every enabled module that has a system directory, or maintain an explicit list of module IDs through manual mode.
WebUI Configuration
Provides a WebUI for common settings while retaining a text configuration for advanced deployment and unmount behavior.
Kernel and Platform Requirements
The kernel must expose OverlayFS through CONFIG_OVERLAY_FS=y. Support for CONFIG_TMPFS_XATTR=y is strongly recommended because the preferred mode relies on trusted extended attributes in tmpfs. When that capability is unavailable, the installer can test an ext4 sparse-image fallback, which also requires mkfs.ext4 and resize2fs on the device.
Mount Methods
| Mode | Operation | Practical consideration |
|---|---|---|
| tmpfs | Copies selected module trees to a temporary backing folder, mirrors SELinux contexts, and builds the overlay from that content. | Preferred when trusted xattrs are available; it avoids the ext4 image nodes produced by the fallback. |
| ext4 sparse | Creates and resizes a sparse ext4 image on tmpfs, copies module content into it, then uses it as the overlay backing store. | Useful for workloads such as large driver packages, but its filesystem nodes can be observable and require more storage. |
Configuration Workflow
Common settings are available from the module WebUI. The underlying configuration is stored at /data/adb/mountify/config.sh. Default mode mountify_mounts=2 includes every enabled module with a system directory. Set the value to 1 and list one module ID per line in /data/adb/mountify/modules.txt for an allowlist workflow.
FAKE_MOUNT_NAMEchanges the backing mount name.mountify_stop_start=1restarts Android services when a module requires it.use_ext4_sparse=1forces the fallback;sparse_sizecontrols its capacity in MiB.- KernelSU and APatch metamodule deployments respect
skip_mount; Magisk modules can useskip_mountify.
Namespace and Unmount Coordination
Applications that need a clean mount namespace require a compatible Zygisk solution, such as NeoZygisk, ReZygisk, Zygisk Assistant, or a correctly configured Zygisk Next policy. Set MOUNT_DEVICE_NAME to the active root implementation. Mountify also contains optional in-kernel unmount methods, but they are a secondary compatibility path and should only be enabled when the standard namespace workflow is insufficient.
Safety Notes
Mountify performs compatibility checks for known unsafe manager and kernel combinations. Bypassing those checks, forcing the experimental LKM option, selecting an undersized sparse image, or combining incompatible mount modules can cause an incomplete system view or a boot loop. Keep a recovery path and change one advanced option at a time.