Phase 01 — Device Exploration
Status: ✅ Complete — all steps done including root-only Step 7. Blocks: Phase 05 (Build Adaptation).
Key Findings
| Finding | Value | Significance |
|---|
| Treble enabled | ro.treble.enabled=true | GSI path available; separate vendor partition |
| VNDK version | 29 | Android 10 VNDK; GSI must target VNDK 29 |
| Partition scheme | Static single-slot | No super, no _a/_b slots — different from NA2 |
| Storage | eMMC | Use SDM636 eMMC EDL programmer only |
| E-ink driver | onyx_epdc_fb → /sys/bus/platform/devices/sepdc | Built into kernel binary |
| Waveform SPI flash | epd_spi_flash | Waveform EEPROM on SPI bus |
| EMR (Wacom) driver | wacom_ts → /sys/wacom_ts/ | DT node: i2c@c1b6000/wacom@09 |
| Pristine backup | builds/backup-2026-03-16-1532-pristine/ | Full snapshot before any modification |
Steps Completed
- ADB enumeration: device properties, architecture, storage layout
- Treble status confirmed via
ro.treble.enabled + vendor partition check - Full partition table dumped via EDL
printgpt - Pristine backup created via
tools/backup/backup-all.sh - Firmware version and build fingerprint recorded
- E-ink and Wacom driver sysfs nodes identified
- Vendor HAL blobs inventoried with root access (post Phase 02)
Key HAL Blobs
| Blob | Purpose |
|---|
| hwcomposer.sdm660.so | Display composer — calls onyx_epdc_set_mode() kernel export |
| gralloc.sdm660.so | Graphics buffer allocator |
| audio.primary.sdm660.so | Audio HAL |