Skip to content

nor-split, sysupgrade, install pages: catch up with the split layout's last rounds - #631

Merged
widgetii merged 2 commits into
masterfrom
wiki-review
Oct 27, 2026
Merged

widgetii merged 2 commits into
masterfrom
wiki-review

Conversation

@widgetii

Copy link
Copy Markdown
Member

A review of the wiki against this week's changes. The split-layout tables were already updated round by round; this fills in what they don't cover.

  • nor-split-layout.md:
    • The 3.0 and 3.4 kernels without a device tree (Hi3516CV100 family, Hi3520DV200, GK7102/GK7102S) find the layout from the images themselves, with the boot partition named boot. Their log line is shown, since it names the offsets.
    • The note about the plain fixed-slot package now covers every SoC that ships both packages, not only the GK7205V200 family.
    • A known-issue note: from 2026-10-21 to 10-24, split upgrades lost the settings (fixed in sysupgrade: carry the settings on the split NOR layout after the hand-off firmware#2677).
    • A note that split upgrades work on 3.x kernels without sysfs partition offsets since #2683.
    • A new Recovery from U-Boot section: fwupd takes firmware.bin.<soc> and falls back to the fixed-slot pair, and a split kernel that fails its CRC starts recovery by itself.
  • sysupgrade.md: points a camera that came back on defaults in that window to the note.
  • install-goke.md: said the split layout needs the OpenIPC U-Boot. As nor-split-layout.md already says, any U-Boot that loads the kernel from 0x50000 boots it; the OpenIPC one adds the scan, fwupd and recovery.
  • install-novatek.md: OpenIPC U-Boot builds for NT98562/NT98566 have been published since 2026-10-27, QEMU-only so far. The instructions keep the vendor U-Boot.

…s last rounds

- nor-split-layout: the 3.0 and 3.4 kernels without a device tree (the
  Hi3516CV100 family, Hi3520DV200, GK7102/GK7102S) find the layout from
  the images and log the offsets; the fixed-slot package note covers
  every SoC that ships both packages; the settings sysupgrade lost on
  split upgrades from 2026-10-21 to 10-24 (OpenIPC/firmware#2677) and
  the split upgrade on 3.x kernels without sysfs partition offsets
  (#2683); a "Recovery from U-Boot" section: fwupd takes
  firmware.bin.<soc>, else the fixed-slot pair, and a split kernel that
  fails its CRC starts recovery by itself.
- sysupgrade: points a camera that came back on defaults then to that note.
- install-goke: the split layout does not need the OpenIPC U-Boot; any
  U-Boot that loads the kernel from 0x50000 boots it, as nor-split-layout
  already says.
- install-novatek: OpenIPC U-Boot builds for NT98562 and NT98566 are
  published since 2026-10-27, QEMU only so far.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Document NOR split-layout upgrades, recovery, and bootloader support

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Clarify how older kernels discover split partitions and which fixed-slot packages remain
 available.
• Document settings-loss history, 3.x upgrade support, and U-Boot recovery paths.
• Correct Goke bootloader requirements and note QEMU-only Novatek U-Boot builds.
Diagram

graph TD
  A["Split package"] --> B["sysupgrade"] --> C["Firmware flash"] --> D["OpenIPC U-Boot"] --> E{"CRC valid?"}
  E -- "Valid" --> F["Kernel partitions"]
  E -- "Invalid" --> G["fwupd recovery"] --> C
  G -- "No split image" --> H["Fixed-slot pair"] --> C
Loading
High-Level Assessment

Keep the detailed upgrade and recovery behavior in the NOR split-layout guide, with a link from the general sysupgrade page. This avoids duplicating device-specific recovery instructions across installation pages.

Files changed (4) +60 / -7

Documentation (4) +60 / -7
install-goke.mdCorrect split-layout bootloader requirement +4/-2

Correct split-layout bootloader requirement

• Clarifies that a U-Boot loading the kernel from 0x50000 can boot the split layout, including factory U-Boot with a changed bootcmd. Distinguishes the additional scan, fwupd, and recovery features of OpenIPC U-Boot.

en/install-goke.md

install-novatek.mdNote availability and testing status of Novatek U-Boot +5/-0

Note availability and testing status of Novatek U-Boot

• Lists the published NT98562 and NT98566 OpenIPC U-Boot builds and states that they have only run in QEMU. The installation instructions continue to use vendor U-Boot.

en/install-novatek.md

nor-split-layout.mdExpand split-layout compatibility, upgrade, and recovery guidance +47/-5

Expand split-layout compatibility, upgrade, and recovery guidance

• Explains partition discovery and log output for 3.0 and 3.4 kernels without device trees, and generalizes the fixed-slot package note. Documents the October settings-loss window, 3.x sysupgrade support, and OpenIPC U-Boot's fwupd fallback and CRC-triggered recovery.

en/nor-split-layout.md

sysupgrade.mdLink affected upgrades to the settings-loss explanation +4/-0

Link affected upgrades to the settings-loss explanation

• Alerts users whose split upgrade returned a camera to defaults during the October 21–24 window and links to the detailed note and fix version.

en/sysupgrade.md

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

qodo-free-for-open-source-projects Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (1) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. The guide publishes exact internal log wording 📘 Rule violation ⛨ Security
Description
nor-split-layout.md reproduces exact boot and kernel log lines instead of describing the
observable recovery behavior in ordinary language. The added examples at lines 130 and 287 are
presented as output readers can recognize, so the published wiki exposes implementation-specific log
text from the boot path.
Code

en/nor-split-layout.md[R129-131]

+```
+hi_sfc: split NOR layout, kernel 0x50000-0x220000, rootfs 0x220000-0x710000, rootfs_data from 0x710000
+```
Evidence
The checklist prohibits publishing a verbatim log line quoted as something readers should recognize
or grep for. The diff adds two exact log excerpts: one for partition offsets and one for
CRC-triggered recovery.

Rule 1: Documents behaviour, not the internals behind it
en/nor-split-layout.md[127-131]
en/nor-split-layout.md[283-288]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The page publishes verbatim boot and kernel log lines, which the compliance checklist prohibits for closed components.
## Fix Focus Areas
- en/nor-split-layout.md[127-131]
- en/nor-split-layout.md[283-288]
## Recommended Fix
Remove the exact log excerpts and describe the observable behavior in ordinary language, including where the kernel discovers the offsets and that a failed CRC triggers recovery, without preserving the log wording.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Older bootloaders cannot run recovery ✓ Resolved
Description
The new recovery section treats every published OpenIPC U-Boot for the listed boards as having
fwupd and automatic CRC recovery. Earlier builds for the Hi3516CV100 family, Hi3520DV200, and
GK7102/GK7102S boot split images but lack those recovery features, so operators using them cannot
follow run fwupd or rely on automatic recovery.
Code

en/nor-split-layout.md[R276-279]

+With the OpenIPC U-Boot on any board in the table but GK7206V12A, whose
+OpenIPC U-Boot is not published, `run fwupd` fetches `firmware.bin.<soc>` from
+the TFTP server in `serverip` (after `run srcmmc`, from an SD card) and writes
+it over the whole firmware area. Without that file it installs the fixed-slot pair, `rootfs.squashfs.<soc>`
Evidence
The table explicitly distinguishes earlier builds that only boot split images from later builds
adding the scan, fwupd, and recovery; the new section does not make that distinction.

en/nor-split-layout.md[31-33]
en/nor-split-layout.md[276-284]
en/nor-split-layout.md[342-345]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The recovery instructions include earlier OpenIPC bootloader builds that boot split images but do not provide `fwupd` or automatic recovery.
## Fix Focus Areas
- en/nor-split-layout.md[276-284]
- en/nor-split-layout.md[31-33]
## Recommended Fix
Qualify both manual and automatic recovery by the minimum bootloader builds listed in the table, and tell readers with older builds that they must upgrade the bootloader or use another recovery method.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Split-only cameras have no fallback image ✓ Resolved
Description
The fwupd instructions say a missing firmware.bin. falls back to a fixed-slot kernel and root
filesystem pair. Hi3516EV300, Hi3516CV610/CV608, and Hi3519DV500 are documented as split-only, so an
operator recovering one of those cameras cannot obtain the promised pair from its firmware package.
Code

en/nor-split-layout.md[R279-280]

+it over the whole firmware area. Without that file it installs the fixed-slot pair, `rootfs.squashfs.<soc>`
+and `uImage.<soc>`, as before. On GK7102 and GK7102S a `firmware.bin` too big
Evidence
The recovery paragraph promises a pair, while the package table and later guidance explicitly
identify boards with no fixed-slot package.

en/nor-split-layout.md[21-21]
en/nor-split-layout.md[34-35]
en/nor-split-layout.md[276-281]
en/nor-split-layout.md[359-361]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The documented fixed-slot fallback cannot be supplied for SoCs that ship only split packages.
## Fix Focus Areas
- en/nor-split-layout.md[276-281]
- en/nor-split-layout.md[17-35]
## Recommended Fix
State that fallback to the kernel/rootfs pair is available only where a fixed-slot package exists; for split-only boards, instruct readers to provide the appropriate `firmware.bin.<soc>`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


4. Recovery can erase camera settings ✓ Resolved
Description
The recovery section says fwupd writes over the whole firmware area but does not explicitly warn
that this includes the rootfs_data settings overlay. Both a manual run fwupd and the newly
described automatic CRC-triggered recovery can therefore return a camera to defaults, unlike the
documented settings-preserving sysupgrade path.
Code

en/nor-split-layout.md[R277-279]

+OpenIPC U-Boot is not published, `run fwupd` fetches `firmware.bin.<soc>` from
+the TFTP server in `serverip` (after `run srcmmc`, from an SD card) and writes
+it over the whole firmware area. Without that file it installs the fixed-slot pair, `rootfs.squashfs.<soc>`
Evidence
The layout places settings within the firmware area, and the following manual flashing section
explicitly states that replacing that area erases settings; the new recovery section describes the
same full-area write and an automatic path to it.

en/nor-split-layout.md[41-48]
en/nor-split-layout.md[224-245]
en/nor-split-layout.md[276-288]
en/nor-split-layout.md[290-292]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new manual and automatic recovery guidance omits a direct warning that writing the whole firmware area erases user settings.
## Fix Focus Areas
- en/nor-split-layout.md[274-288]
- en/nor-split-layout.md[290-292]
## Recommended Fix
Add a warning in the recovery section that manual or automatic `fwupd` erases the settings overlay; direct readers to back up settings where possible and use the settings-preserving upgrade path when the camera still boots.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can describe a rule in plain language on the Rules page and Qodo drafts it for you

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread en/nor-split-layout.md Resolved
Comment thread en/nor-split-layout.md Resolved
Comment thread en/nor-split-layout.md Resolved
Comment thread en/nor-split-layout.md Resolved
…, and erases the settings

Review of #631: the recovery section names the U-Boot builds that have
it (from OpenIPC/u-boot#77 on the Hi3516CV100 family and Hi3520DV200,
#87 on GK7102/GK7102S; earlier ones install only the fixed-slot pair),
offers the fixed-slot fallback only where the SoC ships that package
(the split-only ones need firmware.bin on the server), and warns that
fwupd, by hand or after a failed kernel CRC, erases the settings.
@widgetii
widgetii merged commit e2fc492 into master Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant