Skip to content

build(esp32): NightDriverStrip partitions CSV rejected by esp32-core-3.3.9 gen_esp32part.py (nvs 0x2000 < 0x3000) #960

Description

@zackees

Context

With #955 fixed (project-relative partitions CSV resolution, PR #958), NightDriverStrip demo's config/partitions_custom_noota.csv is now correctly found and passed to gen_esp32part.py. But the generator that ships with the resolved framework (esp32-core-3.3.9) rejects the CSV content:

WARN gen_esp32part.py failed: Partition nvs invalid: 'nvs' partition of type 1 and subtype 2 of this size (0x2000) must be flagged as 'readonly' (the size of read/write NVS has to be at least 0x3000)

NightDriverStrip's CSV declares nvs, data, nvs, 0x00b000, 0x002000 (8 KB). A newer esp-idf rule requires read/write NVS to be ≥ 0x3000 (12 KB). The workload's CSV predates that rule.

Consequences: partitions.bin is not produced, so the ESP32 fast-path fingerprint still can't persist for this project (blocks the whole-build short-circuit that would take #951's 2.1 s no-op rebuild down to ~0.5 s).

Open question — framework version parity

NightDriverStrip pins platformio/espressif32 @ ^6.12.0. fbuild resolved esp32-core-3.3.9. Worth confirming whether PlatformIO's espressif32@6.12.0 resolves the same arduino-esp32 core / gen_esp32part.py version — if PlatformIO builds this CSV fine, fbuild may be resolving a newer core than the pin implies (an A/B parity divergence), which is the real fbuild-side bug. If PlatformIO's 6.12.0 also rejects it, this is purely a stale workload CSV and belongs upstream in NightDriverStrip.

Acceptance criteria

  • Determine which esp32 core espressif32@6.12.0 resolves under PlatformIO vs fbuild.
  • If divergent: fix fbuild's platform→core resolution to match the pin.
  • If matched: document that the workload CSV needs the nvs partition widened to 0x3000 (upstream / harness-local patch), out of fbuild scope.

Decisions

Part of #942. Follow-up to #955 / PR #958.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions