help-uboot: say what the layout macro is for, and that serial needs it too - #518
Merged
Merged
Conversation
…t too A full image carries the bootloader, whose compiled-in default is the 8MB partition map. The 16MB map is a separate macro and it moves the rootfs -- 0x350000 rather than 0x250000 -- which is where openipc.org lays out the images it builds for a 16MB chip. Skip the macro and the kernel looks at 0x250000, finds erased flash, and panics on root mount every 20 seconds. The kernel itself starts either way, since it sits at 0x50000 in both maps, so the camera looks like it is booting right up to the panic. The page did say to run `setnor16m`, in one trailing sentence after the 16MB example, with no reason given and no mention of the 8MB or NAND equivalents. The reporter in OpenIPC/firmware#2381 hit the panic anyway, having been handed the flash commands by hand. Give the step a section of its own, with the symptom, so it is findable by the panic as well as readable in order. The serial section did not mention it at all, and ended after `sf write` with no `reset` either -- same full image, same default, same panic. Also `-nor-` in the two TFTP example filenames, which openipc.org has in the names it serves: a reader copying either line got a TFTP failure. Other pages carry the older shape, some of them for FPV images that come from OpenIPC/builder rather than the site generator, so those are left alone rather than swept on an assumption.
PR Summary by QodoClarify U-Boot layout selection after full-image flashing
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can tweak Display preferences with a live preview to see your comment before it ships |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A full image carries the bootloader, and the bootloader's compiled-in default is the 8MB partition map. The 16MB map is a separate macro, and it does not merely lengthen the rootfs — it moves it:
openipc.org builds its 16MB images to the second one, so skipping the macro leaves the kernel looking at 0x250000, finding erased flash, and panicking on root mount every 20 seconds. The kernel itself starts either way — it sits at 0x50000 in both maps — so the camera looks like it is booting right up to the panic.
What changed
The step now has a section of its own, with the symptom quoted, so it is findable by the panic and not only readable in order. The page did already say to run
setnor16m— as one trailing sentence after the 16MB example, with no reason given and no mention ofsetnor8morsetnand. The reporter in OpenIPC/firmware#2381 hit the panic regardless, having been given the flash commands by hand; they had a bricked Hi3516CV300, got as far as a correctly written 16MB chip, and then a boot loop.The serial full-image section did not mention it at all — and ended after
sf writewith noreseteither. Same full image, same default, same panic. Both sections now point at the new one.-nor-added to the two TFTP example filenames. openipc.org servesopenipc-<soc>-nor-<release>-<size>mb.bin; the examples readopenipc-${soc}-lite-8mb.bin, so a reader copying either line got a TFTP failure rather than an image.Scope
Several other pages carry the older filename shape, some of them for FPV images that come from OpenIPC/builder rather than the site generator, and I have not verified how those are named. They are left alone rather than swept on an assumption — worth someone checking separately.
Testing
Documentation only. Verified the two claims against the sources rather than from memory:
openipc/u-boot-hi3516cv200,include/configs/hi-common.h— the compiled-inmtdpartsis the 8MB map, andsetnor16m=run mtdpartsnor16m; setenv bootcmd ${bootcmdnor}; saveenv; reset, which is why nothing needs typing after it.openipc/website,app/models/flash_layout.rb—NOR[16]assembles withrootfs_offset: 0x350000, and its own comment notes that flashing a full image leaves the environment on the 8MB default.The filename shape is
Firmware.filename_forin the same repository, and matches the name the reporter downloaded successfully in the issue.As with #517: this repository has no workflows, and its
cspell.yamlis inert — the markdownignoreRegExpListincludes/[A-Z]*/g, which matches an empty string everywhere, so a deliberate misspelling in prose goes unreported. Nothing here spell-checks.