Skip to content

kernel: move to the 6.18 LTS kernel#1130

Draft
bhouse-nexthop wants to merge 5 commits into
opencomputeproject:onie-modernization-2026from
bhouse-nexthop:bhouse.kernel-6.18
Draft

kernel: move to the 6.18 LTS kernel#1130
bhouse-nexthop wants to merge 5 commits into
opencomputeproject:onie-modernization-2026from
bhouse-nexthop:bhouse.kernel-6.18

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 #1129. It will be marked ready for review once #1129 merge(s) 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 second half of the old toolchain milestone (#1119): the kernel bump, stacked on top of the toolchain PR (#1129).

Depends on (merge first): #1129 (and transitively #1125/#1126/#1127/#1128). Until the toolchain PR merges into onie-modernization-2026, this PR's diff also includes the toolchain PR's commits; I'll rebase once it lands so the diff narrows to just the kernel commits below.

What this does (own commits, on top of the toolchain PR)

  • kernel: move to the 6.18 LTS kernel — LINUX_VERSION 5.4.86 → 6.18.35; non-versioned base config with olddefconfig reconciliation (order-only on the cross toolchain); module signing rewritten to an absolute key path (6.18 dropped MODULE_SIG_KEY_SRCPREFIX); new conf/kernel/linux.{x86_64,armv8a}.config, patches/kernel/6.18.35/.
  • machines: drop kernel version pins on platforms with no kernel patches
  • machines: pin celestica cls_ds4101 kernel to 5.4.86
  • machines: replace Intel-SCH config-aggregator kernel patches with direct configs

Why split from the toolchain

The KERNEL_OLD_GCC_COMPAT change in the toolchain PR builds the old 5.4 kernel under GCC 14, which breaks the old toolchain↔kernel build cycle and lets the kernel bump be reviewed/rolled back on its own.

@bhouse-nexthop bhouse-nexthop marked this pull request as draft July 9, 2026 19:46
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 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
…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
…nfigs)

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

Signed-off-by: Brad House <bhouse@nexthop.ai>
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>
Bump the image kernel from 5.4.86 to the 6.18.35 LTS line, now that the
GCC 14 toolchain is in place (previous commit).

  - kernel-download.make: LINUX_VERSION 5.4.86 -> 6.18.35.

  - Non-versioned base config: LINUX_CONFIG falls back to a shared
    conf/kernel/linux.<arch>.config (per-version configs under
    conf/kernel/<release>/ are still preferred when a platform ships one),
    so a kernel bump needs no new committed config.

  - The .config recipe now runs "make olddefconfig" (via the cross
    toolchain, hence the order-only XTOOLS_BUILD_STAMP dep) to reconcile
    the base config to the kernel actually being built.

  - Module signing: 6.18 dropped MODULE_SIG_KEY_SRCPREFIX and resolves
    CONFIG_MODULE_SIG_KEY relative to the build tree, so after olddefconfig
    rewrite a configured signing key to the absolute path of the generated
    key (replacing the MODULE_SIG_KEY_SRCPREFIX passed on the build line).

  - conf/kernel/linux.x86_64.config, conf/kernel/linux.armv8a.config,
    patches/kernel/6.18.35/series, upstream/linux-6.18.35.tar.xz.sha1.

Signed-off-by: Brad House <bhouse@nexthop.ai>
123 platforms carry an empty kernel patch series, so they have no
version-bound kernel code.  Drop their LINUX_VERSION / LINUX_MINOR_VERSION
pins and let them ride the default kernel (now 6.18 LTS) instead of an EOL
line.  This modernizes them and lets them build on the GCC 14 toolchain
again (they need no kernel-build leniency flags, having no patches).

Platforms that DO carry kernel patches keep their pin -- their patches are
written against that specific kernel and would not apply to 6.18.

Signed-off-by: Brad House <bhouse@nexthop.ai>
cls_ds4101 carries kernel patches (cls-lpc-basecpld, enable-kernel-spcr)
but pinned no kernel version, so it floated on the default.  The toolchain
milestone bumped the default to 6.18 LTS, which its older patches do not
apply to.  Pin it to 5.4.86 -- the prior default it was already building
against -- so this change is a no-op for the platform.  Whether it still
builds on the modern toolchain is its owner's concern; this only avoids us
silently moving it off its kernel.

Signed-off-by: Brad House <bhouse@nexthop.ai>
…ect configs

Nine x86 platforms (the Dell C2xxx/S-series family + agema_ag7648c) each
carried a kernel patch whose sole purpose was to add a platform Kconfig
symbol that select()ed a fixed set of standard Intel SoC options
(I2C_ISCH, I2C_ISMT, GPIO_SCH, MFD_CORE, LPC_SCH) with no driver code.
Replace each with those CONFIG_* set directly in the machine kernel
config and drop the patch.

The aggregator was each platform's only kernel patch, so with it gone they
carry no version-bound kernel code: drop their LINUX_VERSION pins too and
let them ride the default kernel (6.18 LTS, which builds under GCC 14).
The five options were verified to survive `make olddefconfig` against the
6.18 base config.

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