Skip to content

toolchain: Debian 13 / GCC 14 / crosstool-NG 1.28 / uClibc-ng 1.0.54#1129

Draft
bhouse-nexthop wants to merge 4 commits into
opencomputeproject:onie-modernization-2026from
bhouse-nexthop:bhouse.toolchain-milestone
Draft

toolchain: Debian 13 / GCC 14 / crosstool-NG 1.28 / uClibc-ng 1.0.54#1129
bhouse-nexthop wants to merge 4 commits into
opencomputeproject:onie-modernization-2026from
bhouse-nexthop:bhouse.toolchain-milestone

Conversation

@bhouse-nexthop

@bhouse-nexthop bhouse-nexthop commented Jul 9, 2026

Copy link
Copy Markdown

⚠️ Draft — stacked PR. Kept as a draft to signal it is stacked on #1125, #1126, #1127, #1128. It will be marked ready for review once #1125, #1126, #1127, #1128 merge into onie-modernization-2026 (and I rebase so this PR's diff narrows to only its own commits).

Targets onie-modernization-2026. This is the first half of the old toolchain milestone (#1119), now split into toolchain (this PR) and kernel 6.18 (stacked follow-up).

Depends on (merge first): #1125, #1126, #1127, #1128. Those are pulled in here as four deps: PR #NNNN commits at the base of the branch. Each dependency is one squashed commit so it's individually identifiable; once they merge into onie-modernization-2026 I'll rebase and those commits drop out.

Note: the secure-boot signing stack moved to #1128

Previously this PR also bumped shim 15 → 16.1, switched pesign, dropped gnu-efi, and added the grub SBAT bits. That was unnecessary coupling — none of it requires GCC 14 (shim 16.1 builds fine on the existing toolchain), so it now lives in the EFI/boot-stack PR (#1128) where it belongs. This PR is now purely the toolchain/host move.

What this does (own commit, on top of the 4 dep commits)

toolchain: move to Debian 13 / GCC 14 / crosstool-NG 1.28 / uClibc-ng 1.0.54

  • Build host Debian 11 → 13 (the old crosstool-NG 1.24 / GCC 8.3 can't build on a Debian 13 host, so host + toolchain move together).
  • crosstool-NG 1.24 → 1.28.0, GCC 8.3 → 14, uClibc-ng 1.0.38 → 1.0.54, binutils 2.45; XTOOLS_LINUX_VERSION decoupling so image-kernel bumps don't rebuild the toolchain.
  • mokutil 0.4.0 → 0.7.2 (adds a libkeyutils dependency).
  • grub i386-pc kernel.img link fix for binutils ≥ 2.39 (custom linker script + autogen.sh + autoconf-archive) — needs the new toolchain, so it lives here rather than with the grub package bump in packages: modernize the EFI/boot stack (grub 2.14, shim 16.1, efivar 39, efibootmgr 18) #1128.
  • images.make GCC 14 libstdc++ SONAME; xorriso 1.5.6 (Debian 13) recovery-iso fix.
  • Build pre-6.x kernels under GCC 14 (KERNEL_OLD_GCC_COMPAT): the existing 5.4 kernel is kept and built under the new toolchain via CONFIG_STACK_VALIDATION= + -Wno-error. This is what lets the toolchain move land independently of the kernel bump.

The kernel stays at 5.4.86 in this PR. The bump to 6.18 is the stacked kernel PR (#1130).

Note on validation

This builds a combination that hasn't been built before — GCC 14 with the kernel still at 5.4 (the milestone previously moved both together). -Wno-error makes it work; this PR's CI proves it end-to-end.

bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 9, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
@bhouse-nexthop bhouse-nexthop marked this pull request as draft July 9, 2026 19:46
@bhouse-nexthop bhouse-nexthop force-pushed the bhouse.toolchain-milestone branch from 12af206 to 36fc75b Compare July 9, 2026 22:23
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 9, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 9, 2026
…sstool-NG 1.28 / uClibc-ng 1.0.54 + secure-boot)

Squashed content of PR opencomputeproject#1129, pulled in as a dependency; the checksum migration rewrites every upstream/ integrity file so it needs the final tarball set.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 9, 2026
…nfigs)

Squashed content of PR opencomputeproject#1130 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 9, 2026
…, flashrom 1.7.0)

Squashed content of PR opencomputeproject#1131 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…sstool-NG 1.28 / uClibc-ng 1.0.54 + secure-boot)

Squashed content of PR opencomputeproject#1129, pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…nfigs)

Squashed content of PR opencomputeproject#1130 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…, flashrom 1.7.0)

Squashed content of PR opencomputeproject#1131 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
@bhouse-nexthop bhouse-nexthop force-pushed the bhouse.toolchain-milestone branch from 215cbf9 to 6d4b33d Compare July 10, 2026 14:46
@bhouse-nexthop bhouse-nexthop changed the title toolchain: Debian 13 / GCC 14 / crosstool-NG 1.28 / uClibc-ng 1.0.54 (+ secure-boot stack) toolchain: Debian 13 / GCC 14 / crosstool-NG 1.28 / uClibc-ng 1.0.54 Jul 10, 2026
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…sstool-NG 1.28 / uClibc-ng 1.0.54)

Squashed content of PR opencomputeproject#1129, pulled in as a dependency.  (The secure-boot
stack -- shim 16.1, host pesign, grub SBAT -- is part of PR opencomputeproject#1128, which
opencomputeproject#1129 in turn depends on, so it is transitively included here.)
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…nfigs)

Squashed content of PR opencomputeproject#1130 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 10, 2026
…, flashrom 1.7.0)

Squashed content of PR opencomputeproject#1131 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 13, 2026
…sstool-NG 1.28 / uClibc-ng 1.0.54)

Squashed content of PR opencomputeproject#1129, pulled in as a dependency.  (The secure-boot
stack -- shim 16.1, host pesign, grub SBAT -- is part of PR opencomputeproject#1128, which
opencomputeproject#1129 in turn depends on, so it is transitively included here.)
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 13, 2026
…nfigs)

Squashed content of PR opencomputeproject#1130 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 13, 2026
…, flashrom 1.7.0)

Squashed content of PR opencomputeproject#1131 (delta over opencomputeproject#1129), pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
Squashed content of PR opencomputeproject#1126, pulled in as a dependency.

Signed-off-by: Brad House <bhouse@nexthop.ai>
…oolchain)

Squashed content of PR opencomputeproject#1127, pulled in as a dependency: older package versions do not build under GCC 14.

Signed-off-by: Brad House <bhouse@nexthop.ai>
…9, efibootmgr 18, shim 16.1, host pesign)
Move the cross-toolchain and build host to a modern base, and standardize
all machines on it.  The secure-boot signing stack (shim 16.1, host pesign,
gnu-efi removal, grub SBAT) is no longer here -- it moved to the EFI/boot
stack PR (opencomputeproject#1128), since none of it requires GCC 14.

  - Build host Debian 11 -> Debian 13 (trixie).  The old crosstool-NG 1.24 /
    GCC 8.3 toolchain cannot build on a Debian 13 host, so host and toolchain
    move together.
  - crosstool-NG 1.24 -> 1.28.0, GCC 8.3 -> 14, uClibc-ng 1.0.38 -> 1.0.54,
    binutils 2.45; XTOOLS_LINUX_VERSION decoupling so image-kernel bumps no
    longer rebuild the toolchain.
  - mokutil 0.4.0 -> 0.7.2 (adds a libkeyutils dependency).
  - grub i386-pc kernel.img link fix for binutils >= 2.39 (custom linker
    script + autogen + autoconf-archive) -- needs the new toolchain.
  - images.make GCC 14 libstdc++ SONAME (libstdc++.so.6.0.33).
  - Build pre-6.x kernels under GCC 14 (KERNEL_OLD_GCC_COMPAT): the existing
    5.4 kernel is kept and built under the new toolchain via
    CONFIG_STACK_VALIDATION= + -Wno-error, letting the toolchain move land
    independently of the kernel bump.

Signed-off-by: Brad House <bhouse@nexthop.ai>
@bhouse-nexthop bhouse-nexthop force-pushed the bhouse.toolchain-milestone branch from 6d4b33d to 9e495c1 Compare July 13, 2026 20:39
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 13, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
bhouse-nexthop added a commit to bhouse-nexthop/onie that referenced this pull request Jul 13, 2026
Squashed baseline of PR opencomputeproject#1129, on which this PR is stacked. Drops out once PR opencomputeproject#1129 merges into onie-modernization-2026.

Signed-off-by: Brad House <bhouse@nexthop.ai>
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.

1 participant