Skip to content

web: the gk7205v200 family loads its -nor U-Boot, not the 2016.11 universal - #159

Merged
widgetii merged 1 commit into
masterfrom
web/goke-nor-uboot
Oct 21, 2026
Merged

widgetii merged 1 commit into
masterfrom
web/goke-nor-uboot

Conversation

@widgetii

Copy link
Copy Markdown
Member

The CLI has taken u-boot-<soc>-nor.bin (OpenIPC/u-boot, 2022.10) for gk7202v300, gk7205v200, gk7205v300 and gk7605v100 since they joined PER_FLASH_TYPE_UBOOT. The Web UI still loaded their -universal image, the 2016.11 build.

That U-Boot does not scan the flash. Once its environment is wiped it falls back to the 8 MB slots, which is how a 16 MB ultimate camera ended in VFS: Unable to mount root fs in OpenIPC/firmware#2646. The -universal images are to be retired from latest.

The four SoCs join the Web UI's -nor list. That list also turns on SPL boundary detection for them, as defib burn always does: the four published -nor images end their SPL at 0x4800, inside the profiles' 0x6000. The release-asset fixtures that used gk7205v300's -universal image as a plain example now name its -nor one.

node --test web/protocol.test.js web/profile-parity.test.js: 93 passed.

…versal

The CLI has taken u-boot-<soc>-nor.bin (OpenIPC/u-boot, 2022.10) for
gk7202v300, gk7205v200, gk7205v300 and gk7605v100 since they joined
PER_FLASH_TYPE_UBOOT; the Web UI still loaded their -universal image,
the 2016.11 build. That U-Boot does not scan the flash: once its
environment is wiped it falls back to the 8 MB slots, which is how a
16 MB ultimate camera ended in "VFS: Unable to mount root fs" in
OpenIPC/firmware#2646. The -universal images are to be retired.

They join the Web UI's -nor list, which also turns on SPL boundary
detection for them, as `defib burn` always does: the four published
-nor images end their SPL at 0x4800, inside the profiles' 0x6000. The
release-asset fixtures that used gk7205v300's -universal image as a
plain example now name its -nor one.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Load NOR U-Boot for the gk7205v200 family in the Web UI

🐞 Bug fix 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Select NOR U-Boot for four Goke SoCs, avoiding older universal builds that can fail after
 environment loss.
• Apply SPL boundary detection to their NOR images so recovery uploads the correct SPL length.
• Update release-asset fixtures and assertions to reflect NOR selection.
Diagram

graph TD
  UI["Web recovery"] --> Alias["Chip aliases"] --> Policy["Asset policy"] --> Index["Release assets"]
  Alias --> SPL["SPL detection"] --> Device["Device upload"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Generate a shared asset-policy manifest
  • ➕ Prevents the CLI and Web UI SoC lists from drifting.
  • ➖ Adds a generation step and deployment artifact to a static Web UI for a small policy change.

Recommendation: Use the existing Web UI policy list for this targeted fix; it already governs both asset selection and SPL detection. A parity test against the CLI list would be a useful follow-up if the lists continue to evolve independently.

Files changed (2) +17 / -12

Bug fix (1) +8 / -5
protocol.jsSelect NOR U-Boot for four additional Goke SoCs +8/-5

Select NOR U-Boot for four additional Goke SoCs

• Adds gk7202v300, gk7205v200, gk7205v300, and gk7605v100 to the Web UI's NOR asset list. Because the upload path uses that list too, these chips now receive SPL boundary detection. The comment explains why their older universal builds are unsuitable.

web/protocol.js

Tests (1) +9 / -7
protocol.test.jsAlign release-asset tests with Goke NOR selection +9/-7

Align release-asset tests with Goke NOR selection

• Changes the gk7205v300 release fixture and assertions to expect its NOR asset, including its resolved URL and preference over a stale universal asset. Adds a universal-image assertion for an unaffected chip.

web/protocol.test.js

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can start a comment with 'qodo' or '@qodo' to chat about any finding

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@widgetii
widgetii merged commit e1e916d into master Oct 21, 2026
13 checks passed
@widgetii
widgetii deleted the web/goke-nor-uboot branch October 21, 2026 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant