Phase 03c — A/B Partition Migration
Status: 🔴 Not started. Risk level: High — repartitioning eMMC is destructive and permanent. Full EDL backup required before any GPT change.
Migrate the Note Air 1 from single-slot static partitions to a hybrid A/B layout for safer ROM porting iteration.
Target Layout
| Configuration | Boot | Recovery | TWRP stays put? | Slot fallback? |
|---|---|---|---|---|
| Current NA1 (single-slot) | boot | recovery | Yes, but no rollback | No |
| Standard A/B (recovery-as-boot) | boot_a/boot_b | Inside boot_<slot> | No — wiped by ROM flash | Yes |
| This phase target | boot_a/boot_b | recovery (no suffix) | Yes | Yes |
TWRP lives permanently in the non-slotted recovery partition. Flashing a new ROM never touches it. Rolling back is always possible without ADB.
What Changes
| System | What changes |
|---|---|
| GPT (eMMC) | Rename boot→boot_a/b, system→system_a/b, vendor→vendor_a/b; _b clones funded from userdata; recovery kept unsuffixed |
| Custom ABL | Add A/B slot selection via GPT attribute flags; add recovery trigger path loading “recovery” by name |
| TWRP device tree | Set BOARD_USES_RECOVERY_AS_BOOT := false; confirm “recovery” as target partition name |
Current Partition Sizes (reference)
| Partition | Size | Action |
|---|---|---|
| boot | 64 MB | → boot_a; add boot_b (64 MB from userdata) |
| recovery | 64 MB | Keep as-is (not slotted) |
| system | 3072 MB | → system_a; add system_b (3072 MB from userdata) |
| vendor | 832 MB | → vendor_a; add vendor_b (832 MB from userdata) |
| userdata | remainder | Shrinks by ~4 GB to fund _b slots |
Pre-action gate: Before any GPT write, confirm escape route: EDL 9008 access must be available (hardware cable). If the GPT write corrupts the partition table, only EDL can recover. Do not proceed with software-only EDL access.