backslashxx

mountify

204guide

Globally mounted modules via OverlayFS.

★1,423 stars
•Root Management•by backslashxx•Unlicense•Updated Aug 25, 2026
Platforms:
✓ Magisk✓ KernelSU✓ APatch

Overview

Developed by backslashxx and KOWX712, Mountify is an advanced global filesystem mounter operating as a KernelSU metamodule, APatch module, or Magisk module.

Modern enterprise and banking integrity suites frequently detect root by inspecting /proc/mounts and counting the quantity of active filesystem bind mounts (such as those generated by traditional Magisk magic mounts). Mountify solves this by taking over the mounting responsibilities for all installed modules. It aggregates their file modifications into a single unified Linux OverlayFS layer that mimics a standard OEM vendor directory (e.g., /mnt/vendor/...), sharply reducing mount table entries.


Technical Architecture & How It Works

Unified OverlayFS Stacking & Operating Modes

Mountify supports two distinct mounting engines configured in /data/adb/mountify/config.sh:

  1. tmpfs-Backed Mode (Default):
    • For every module, Mountify flags skip_mount, aggregates files into a unified tmpfs directory (/mnt/vendor/fake_folder_name), and replicates exact SELinux contexts for every node.
    • It overlays the consolidated trees (system/bin, system/framework, etc.) across system partitions in single atomic operations.
  2. ext4 Sparse Mode (For Heavy Modules):
    • Used for exceptionally large modules (such as Adreno GPU drivers) that exceed tmpfs memory capacity. Mountify builds an ext4 sparse loop image on tmpfs, mounts it, copies files, and creates an OverlayFS upperdir.
  3. Metamodule Interception: When running under KernelSU, metamodule=true in module.prop allows Mountify to intercept module initialization during early boot, mounting before standard zygote initialization.
  4. Process Unmounting Integration: When paired with a Zygisk unmount provider (such as NeoZygisk, ReZygisk, or Zygisk Next), the single unified mount can be cleanly unmounted from DenyList application namespaces using a single system call.

Installation & Setup

1. Kernel Requirements Check

Verify that your kernel provides OverlayFS support:

  • CONFIG_OVERLAY_FS=y must be compiled into the kernel.
  • CONFIG_TMPFS_XATTR=y is highly recommended for proper SELinux attribute preservation.

2. Flash Module

  1. Download the latest mountify-v*.zip release from GitHub.
  2. Flash the module in KernelSU, APatch, or Magisk.
  3. Reboot your device.

Configuration & Practical Usage

Configuration can be performed via the integrated WebUI or directly in /data/adb/mountify/config.sh:

  • Selective Module Mounting: By default, Mountify mounts all installed modules (mountify_mounts=2). To mount only specific modules, set:
    mountify_mounts=1
    Then list your target module IDs in /data/adb/mountify/modules.txt:
    Adreno_Gpu_Driver
    ViPER4Android-RE-Fork
  • Custom Fake Mount Name: Disguise the temporary mount directory by setting:
    FAKE_MOUNT_NAME="my_vendor_mount"
  • Skipping Modules: To instruct Mountify to ignore a specific module, create:
    • On KernelSU / APatch: /data/adb/modules/<module_name>/skip_mount
    • On Magisk: /data/adb/modules/<module_name>/skip_mountify

Troubleshooting & Common Issues

  • Anti-Bootloop Protection: Mountify includes built-in bootloop safety routines. If an unstable module causes consecutive crashes, Mountify disables itself. To deliberately disable safety checks (for module development), touch /data/adb/mountify/explicit_I_want_a_bootloop.
  • F2FS Native Casefolding Incompatibility: Using an F2FS /data partition as an overlay source with native Android casefolding enabled causes kernel-level ovl_dentry_weird failures. Mountify automatically utilizes tmpfs backing to bypass this filesystem limitation.

Frequently Asked Questions

Why does Mountify fail when used with the De-Bloater module?

Standard OverlayFS whiteouts require specific char device nodes (mknod c 0 0) to mask underlying system files. The De-Bloater module replaces system files with zero-byte or dummy text files rather than kernel whiteouts, preventing OverlayFS from concealing system APKs properly. System App Nuker should be used instead.

How do I prevent Mountify from mounting a specific module?

On KernelSU or APatch metamodule mode, place a file named 'skip_mount' inside the target module directory (/data/adb/modules//skip_mount). On Magisk, create a file named 'skip_mountify' inside that module folder.