Skip to content

Toolchain Management & Rootfs Model

fparted does not bundle volatile binaries inside the APK. Instead, it relies on standalone, cryptographically verified Bionic rootfs bundles compiled specifically for the application prefix by Repo A (codex-clamps/fparted-toolchain).


📦 Prefix & Path Specification

All toolchain components are built from source targeting the exact package data directory:

Application ID:      vn.shadichy.parted
Data Directory:      /data/data/vn.shadichy.parted
Rootfs Prefix:       /data/data/vn.shadichy.parted/files
Binaries Directory:  /data/data/vn.shadichy.parted/files/usr/bin
Libraries Directory: /data/data/vn.shadichy.parted/files/usr/lib

[!CAUTION] The app detects incompatible storage configurations (such as secondary Android users, work profiles, or adoptable storage installations where the path is not /data/data/vn.shadichy.parted/files) and refuses execution to prevent linking crashes.


🏗️ Supported Architectures & ABIs

Android ABI Termux / Native Architecture Status
arm64-v8a aarch64 Supported (Primary 64-bit ARM)
armeabi-v7a arm Supported (32-bit ARM)
x86_64 x86_64 Supported (64-bit x86 / Emulators / PC Android)
x86 (32-bit) i686 Deliberately Unsupported (No 32-bit x86 Flutter engine artifact)

🔒 Verification & Activation Pipeline

1. Release Manifest Download ──► 2. Ed25519 Signature Verification
3. ABI Asset Selection ◄─────────────────┘
4. Download to Cache (.partial) ──► 5. Size & SHA-256 Check
6. Safe Staging Extraction ◄──────────────────┘
   (Zip-Slip & Symlink Check)
7. File-by-File Hash Check ──► 8. Executable Permissions chmod (0755)
9. Atomic Rename & Journal ◄──────────────────┘
10. installed-toolchain-manifest.json fsync

Safety Protections During Extraction

  1. Zip-Slip Prevention: Resolves normalized relative paths; any entry attempting directory traversal (../) or absolute root targeting is rejected.
  2. Symlink Boundary Checks: Symlink targets are validated so they cannot point outside the staging root directory.
  3. No Directory Wiping: The installer never calls recursive deletion on filesDir to preserve user configuration, preferences, and logs (files/home).
  4. Install Journal: All top-level directory swaps (files/usr, etc.) are recorded in an install journal to support crash recovery and rollback.