docs: document PREFER_NATIVE_ARMHF and enrich arm64-compat-vdso entry#921
docs: document PREFER_NATIVE_ARMHF and enrich arm64-compat-vdso entry#921iav wants to merge 1 commit into
Conversation
WalkthroughThis pull request adds documentation for native armhf binary execution on arm64 build hosts. It introduces a new build switch PREFER_NATIVE_ARMHF with yes/no options, explains native execution when the host kernel has CONFIG_COMPAT (and notes CONFIG_COMPAT_VDSO), documents enabling that support via the arm64-compat-vdso extension, and provides a zcat /proc/config.gz check and a runtime limitation for platforms without 32-bit EL0 userspace support. Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/Developer-Guide_Build-Switches.md`:
- Around line 348-351: Update the markdown code fence that wraps the example
lines "CONFIG_COMPAT=y" and "CONFIG_COMPAT_VDSO=y" to include a language tag
(e.g., use ```text) so the block is fenced as ```text ... ``` and satisfies
markdownlint MD040; locate the fenced block containing those two CONFIG_* lines
and prepend the opening backticks with the chosen tag.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6b6d8181-63eb-447e-a823-d5da9e22d60c
📒 Files selected for processing (2)
docs/Developer-Guide_Build-Switches.mddocs/Developer-Guide_Extensions-List.md
6717cd1 to
1d23ce6
Compare
|
Why the |
|
Agreed, dropping the prefix. Renaming to |
|
While I was doing this, I was thinking about large hosting machines and how best to determine whether they've included COMPAT in their kernels... |
Match the naming convention of sibling build switches in the same section (KERNEL_BTF, USE_CCACHE, ARTIFACT_IGNORE_CACHE, …) which carry no prefix. Suggested in armbian/documentation#921. Assisted-by: Claude:claude-opus-4.7
1d23ce6 to
649937c
Compare
Add a Build-Switches entry for the new opt-out switch (default yes) that gates native armhf execution on arm64 hosts with CONFIG_COMPAT, with an inline check recipe and a link to the arm64 Kconfig. Expand the arm64-compat-vdso entry in the Extensions reference to cover the practical effect (native armhf userspace at full speed, ~10× faster Armbian rootfs builds) and the Apple-M-series limitation, and cross-link the switch. Assisted-by: Claude:claude-opus-4.7
649937c to
bd0f976
Compare
|
Just look for the config entry in /proc/config? |
Yes, as a possible method. |
|
Unless there is a method having this present in kernel but be blocked on userspace level. No clue. Needs research |
Then just remove there lines 340-354? |
Summary
Documents the new
PREFER_NATIVE_ARMHFbuild switch landed in armbian/build#9820 and enriches the existingarm64-compat-vdsoentry in the Extensions reference so the two cross-link sensibly.PREFER_NATIVE_ARMHFentry (defaultyes, opt-outno). Explains when it kicks in (arm64 host withCONFIG_COMPAT), what it changes (rootfs/chroot/post-install armhf steps run native instead of qemu, ~10× faster), and how to inspect the host kernel (zcat /proc/config.gz | grep ...) with sample output. Cross-links the arm64-compat-vdso extension and the arm64 Kconfig.arm64-compat-vdsowith a description of the practical effect (native armhf userspace viaCONFIG_COMPAT/CONFIG_COMPAT_VDSO/CONFIG_ARM64_32BIT_EL0), the build-time benefit, and the Apple-M-series limitation. Cross-links the switch.Test plan
mkdocs build --strict) — no broken links / anchors.PREFER_NATIVE_ARMHF→ Extensions-List#arm64-compat-vdsoround-trip resolves.