linux: add first-class support for all upstream linux versions

Add new KConfig symbols for all actively supported longterm versions of the
Linux kernel. This makes it easier for individual configs to follow updates
of their kernels, without having to frequently update them. This should
generally improve the security of the target systems, which receive frequent
security updates while preserving a stable feature set.

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Peter: move BR2_LINUX_KERNEL_LATEST_SERIES outside the choice to make
	utils/check-symbols happy, add version symlinks]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Titouan Christophe
2026-10-10 22:15:07 +02:00
committed by Peter Korsgaard
parent 0f7c08d8fb
commit 5e8705263c
9 changed files with 54 additions and 7 deletions

1
linux/5.10.271 Symbolic link
View File

@@ -0,0 +1 @@
before-6.17

1
linux/5.15.222 Symbolic link
View File

@@ -0,0 +1 @@
before-6.17

1
linux/6.1.189 Symbolic link
View File

@@ -0,0 +1 @@
before-6.17

1
linux/6.12.112 Symbolic link
View File

@@ -0,0 +1 @@
before-6.17

1
linux/6.18.55 Symbolic link
View File

@@ -0,0 +1 @@
from-6.17

1
linux/6.6.158 Symbolic link
View File

@@ -0,0 +1 @@
before-6.17

View File

@@ -21,6 +21,12 @@ if BR2_LINUX_KERNEL
config BR2_LINUX_NEEDS_MODULES
bool
config BR2_LINUX_KERNEL_LATEST_SERIES
# Helper symbol to indicate if one of the "latest" kernel
# (either the very latest one or from a longterm supported series)
# has been selected
bool
#
# Version selection. We provide the choice between:
#
@@ -35,12 +41,44 @@ choice
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (7.2)"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_7_2 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_6_18
bool "Long term 6.18"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_18 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_6_12
bool "Long term 6.12"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_6_6
bool "Long term 6.6"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_6_1
bool "Long term 6.1"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_5_15
bool "Long term 5.15"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_5_10
bool "Long term 5.10"
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (5.10.254-cip72)"
# Support was introduced in Linux 5.19
depends on !BR2_loongarch64
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
help
CIP launched in the spring of 2016 to address the needs of
organizations in industries such as power generation and
@@ -63,6 +101,7 @@ config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
# Support was introduced in Linux 5.19
depends on !BR2_loongarch64
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
select BR2_LINUX_KERNEL_LATEST_SERIES
help
Same as the CIP version, but this is the PREEMPT_RT realtime
variant.
@@ -144,6 +183,12 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
config BR2_LINUX_KERNEL_VERSION
string
default "7.2.9" if BR2_LINUX_KERNEL_LATEST_VERSION
default "6.18.55" if BR2_LINUX_KERNEL_LATEST_6_18
default "6.12.112" if BR2_LINUX_KERNEL_LATEST_6_12
default "6.6.158" if BR2_LINUX_KERNEL_LATEST_6_6
default "6.1.189" if BR2_LINUX_KERNEL_LATEST_6_1
default "5.15.222" if BR2_LINUX_KERNEL_LATEST_5_15
default "5.10.271" if BR2_LINUX_KERNEL_LATEST_5_10
default "5.10.254-cip72" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "5.10.254-cip72-rt32" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
@@ -189,9 +234,7 @@ config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
# requires host-openssl, so select it for the latest kernel
# version and the latest CIP version.
# This is mainly needed to fix autobuilder testing.
select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL if \
BR2_LINUX_KERNEL_LATEST_VERSION || \
BR2_LINUX_KERNEL_LATEST_CIP_VERSION
select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL if BR2_LINUX_KERNEL_LATEST_SERIES
help
This option will use the default configuration for the
selected architecture. I.e, it is equivalent to running

View File

@@ -45,7 +45,7 @@ LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/v$(firstword $(subst ., ,$(LINUX_
endif
endif
ifeq ($(BR2_LINUX_KERNEL)$(BR2_LINUX_KERNEL_LATEST_VERSION),y)
ifeq ($(BR2_LINUX_KERNEL)$(BR2_LINUX_KERNEL_LATEST_SERIES),y)
BR_NO_CHECK_HASH_FOR += $(LINUX_SOURCE)
endif

View File

@@ -118,9 +118,7 @@ endif
choice
bool "Custom kernel headers series"
default BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD
depends on !BR2_LINUX_KERNEL_LATEST_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL
depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL
depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION || !BR2_KERNEL_HEADERS_AS_KERNEL
depends on !BR2_LINUX_KERNEL_LATEST_SERIES || !BR2_KERNEL_HEADERS_AS_KERNEL
depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \
BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT
help