Skip to content

ci: gate publish on u-boot fitting 256 KiB boot partition - #11

Merged
widgetii merged 1 commit into
masterfrom
ci/partition-size-gate
May 8, 2026
Merged

ci: gate publish on u-boot fitting 256 KiB boot partition#11
widgetii merged 1 commit into
masterfrom
ci/partition-size-gate

Conversation

@widgetii

@widgetii widgetii commented May 8, 2026

Copy link
Copy Markdown
Member

Summary

Adds a Check partition fit step to the build job that fails CI
if u-boot-<soc>-universal.bin exceeds 256 KiB — the size of
the (boot) partition declared in include/configs/gk-common.h
across every NOR/NAND/UBI mtdparts variant.

Mirrors OpenIPC/firmware/Makefile CHECK_SIZE macro (lines
155–161) which already gates kernel/rootfs sizes against per-SoC
flash limits. Without this, a future feature merge could push
u-boot past 256 KiB, the publish job would happily upload it, and
the next user upgrade would overflow into env at offset 0x40000
and brick the device.

All current binaries fit well under the limit — this lands as
a preventive guard.

Test plan

  • CI Check partition fit step runs green on every matrix
    entry with output like - u-boot-<soc>-universal.bin: [<size>KB/256KB].
  • All other jobs unchanged.

🤖 Generated with Claude Code

Mirrors OpenIPC/firmware's CHECK_SIZE pattern (Makefile:155) for
kernel/rootfs. mtdparts in include/configs/gk-common.h declares
256k(boot) across every NOR/NAND/UBI variant; if u-boot grows past
that it overflows into env at offset 0x40000 and bricks devices on
upgrade. Hard-fail at build time so an oversized binary never
reaches firmware/latest.

All current binaries fit well under (~120-247 KiB), so this lands
as a preventive guard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@widgetii
widgetii merged commit 40c0be4 into master May 8, 2026
7 checks passed
@widgetii
widgetii deleted the ci/partition-size-gate branch May 8, 2026 05:10
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.

2 participants