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
| Tool | Path | Notes |
|---|---|---|
| edl (bkerler) | tools/opt/edl/edl.py | Run via tools/edl-run wrapper |
| decryptBooxUpdateUpx | tools/opt/decryptBooxUpdateUpx/DeBooxUpx.py | Run via tools/deboox-run |
| payload-dumper-go | tools/opt/payload-dumper-go/payload-dumper-go | Extracts partitions from A/B OTA payload.bin |
| magiskboot | extracted from Magisk APK | Primary boot image pack/unpack tool |
| simg2img / img2simg | /usr/bin/simg2img | Via android-tools pacman package |
| ADB | /usr/bin/adb | Version 1.0.41 confirmed |
| fastboot | /usr/bin/fastboot | Version 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 — useadb --version.simg2imgwith no args reads stdin and hangs — check withcommand -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 plugdevto activate without logout.