MCPcopy Index your code
hub / github.com/KernelSU-Modules-Repo/meta-overlayfs

github.com/KernelSU-Modules-Repo/meta-overlayfs @v1.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.1 ↗ · + Follow
12 symbols 24 edges 4 files 4 documented · 33%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

meta-overlayfs

A reference implementation of the overlayfs mount handler for KernelSU metamodules. This is not intended to be a state-of-the-art implementation, but rather a starting point for developers to understand and build upon.

Installation

adb push meta-overlayfs-v1.0.0.zip /sdcard/
adb shell su -c 'ksud module install /sdcard/meta-overlayfs-v1.0.0.zip'
adb reboot

Or install via KernelSU Manager → Modules.

Note: The metamodule is now installed as a regular module to /data/adb/modules/meta-overlay/, with a symlink created at /data/adb/metamodule pointing to it.

How It Works

Uses dual-directory architecture for ext4 image support:

  • Metadata: /data/adb/modules/ - Contains module.prop, disable, skip_mount markers
  • Content: /data/adb/metamodule/mnt/ - Contains system/, vendor/ etc. directories from ext4 images

Scans metadata directory for enabled modules, then mounts their content directories as overlayfs layers.

Supported Partitions

system, vendor, product, system_ext, odm, oem

Read-Write Layer

Optional upperdir/workdir support via /data/adb/modules/.rw/:

mkdir -p /data/adb/modules/.rw/system/{upperdir,workdir}

Environment Variables

  • MODULE_METADATA_DIR - Metadata location (default: /data/adb/modules/)
  • MODULE_CONTENT_DIR - Content location (default: /data/adb/metamodule/mnt/)
  • RUST_LOG - Log level (debug, info, warn, error)

Architecture

Automatically selects aarch64 or x86_64 binary during installation (~500KB).

Building

./build.sh

Output: target/meta-overlayfs-v1.0.0.zip

License

GPL-3.0

Core symbols most depended-on inside this repo

mount_overlayfs
called by 2
src/mount.rs
bind_mount
called by 2
src/mount.rs
mount_partition
called by 2
src/mount.rs
print_usage
called by 2
src/xcp.rs
mount_overlay_child
called by 1
src/mount.rs
mount_overlay
called by 1
src/mount.rs
umount_dir
called by 1
src/mount.rs
collect_enabled_modules
called by 1
src/mount.rs

Shape

Function 12

Languages

Rust100%

Modules by API surface

src/mount.rs8 symbols
src/xcp.rs3 symbols
src/main.rs1 symbols

For agents

$ claude mcp add meta-overlayfs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact