Enable CONFIG_TIPC and CONFIG_CMA; fix local --config-only#54
Merged
Conversation
Add CONFIG_TIPC=y and CONFIG_CMA=y to all-common.inc for both kernel versions (4.10, 6.13), so they apply to every target arch. - CONFIG_TIPC: TIPC networking protocol, needed by firmware that uses it. - CONFIG_CMA: Contiguous Memory Allocator, for memory-model coverage. CONFIG_TUN and CONFIG_HUGETLBFS were already enabled globally; no change needed there. Verified via 'build.sh --config-only' that both new options survive savedefconfig on all 13 arch/version combinations tested (arm32, arm64, mips 32/64 LE/BE, x86_64, powerpc, riscv64, loongarch64).
Two latent bugs broke 'build.sh --config-only' outside the shared-docker CI:
- rewrite_mount() dereferenced $PENGUIN_HOST_MOUNT_FROM/_TO unguarded under
'set -u', aborting every local build where those env vars aren't exported.
Guard them with ${VAR:-}.
- The config-only lint diff runs under 'set -e' and always returns non-zero
(savedefconfig prunes defaults/dupes), so a multi-target --config-only run
aborted after the first target. Append '|| true' since the diff is purely
informational.
With both fixed, 'build.sh --config-only --targets "a b"' lints every target
with no env-var workaround.
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.
Config adds (draft 27)
Enables two kernel config options requested for broader coverage, added to
all-common.incfor both kernel versions (4.10, 6.13) so they apply to every target arch:Grounding: of the five options originally proposed (TIPC, HUGETLBFS, CMA, compat32 UPROBES, TUN), only TIPC and CMA are genuine adds:
=yin bothall-common.inc— no change.CONFIG_UPROBESis already enabled, and AArch32-on-arm64 uprobe support is a hardcoded kernel stub (tracked separately as the ARM32-on-ARM64 uprobes issue), not something a config can flip.Verification
build.sh --config-onlyacross 13 arch/version combinations (arm32, arm64, mipsel/mips64el, x86_64, powerpc, riscv64, loongarch64 × 4.10/6.13): CONFIG_TIPC, CONFIG_CMA, and CONFIG_TUN survivesavedefconfigon all 13 — no arch's Kconfig rejects the adds. Full kernel build + guest-boot smoke is left to CI (build.yml + nightly).Tooling fix
Second commit fixes two latent bugs that broke
build.sh --config-onlyfor local (non-shared-docker) use — exactly the verification path above:rewrite_mount()dereferenced$PENGUIN_HOST_MOUNT_FROM/_TOunguarded underset -u, aborting every local build where those aren't exported.diffruns underset -eand always returns non-zero (savedefconfig prunes defaults), so a multi-target--config-onlyaborted after the first target.Both are on
maintoday; they only affect local--config-only(CI sets the mount vars and runs full builds, never the diff path).