Phase 00 — Tooling Setup

Phase 00 — Tooling Setup

Status: ✅ Complete (2026-03-16). Prerequisite for: all other phases.

Install, configure, and validate every software tool needed for the project. The setup script tools/setup-env.sh is idempotent, validates each tool, and writes a sentinel file on success.


Tool Inventory

ToolPathNotes
edl (bkerler)tools/opt/edl/edl.pyRun via tools/edl-run wrapper
decryptBooxUpdateUpxtools/opt/decryptBooxUpdateUpx/DeBooxUpx.pyRun via tools/deboox-run
payload-dumper-gotools/opt/payload-dumper-go/payload-dumper-goExtracts partitions from A/B OTA payload.bin
magiskbootextracted from Magisk APKPrimary boot image pack/unpack tool
simg2img / img2simg/usr/bin/simg2imgVia android-tools pacman package
ADB/usr/bin/adbVersion 1.0.41 confirmed
fastboot/usr/bin/fastbootVersion 35.0.2 confirmed
Android Image Kitchen — Not Used

AIK was cloned but the upstream master branch is now Windows-only. Use magiskboot from Magisk instead for all boot image operations.


udev Rules

# /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9008", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"

Key Gotchas

  • adb version (no dashes) starts the daemon and hangs in scripts — use adb --version.
  • simg2img with no args reads stdin and hangs — check with command -v simg2img.
  • Python 3.14 on Arch has no pip — use python3 -m venv.
  • AIK master branch is Windows-only — use magiskboot instead.
  • plugdev group — run newgrp plugdev to activate without logout.

More posts