@@ -48,9 +48,7 @@ comment "xenomai needs a uClibc or glibc toolchain w/ threads"
# RTAI
config BR2_LINUX_KERNEL_EXT_RTAI
bool "RTAI Real-time patch"
- depends on !BR2_LINUX_KERNEL_LATEST_VERSION
- depends on !BR2_LINUX_KERNEL_LATEST_CIP_VERSION
- depends on !BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
+ depends on !BR2_LINUX_KERNEL_LATEST_SERIES
select BR2_PACKAGE_RTAI
help
RTAI Kernel part.
@@ -16,6 +16,12 @@ if BR2_LINUX_KERNEL
config BR2_LINUX_NEEDS_MODULES
bool
+# Track if the selected kernel version is a "latest" series. This can be
+# used handle certain configurations such as preventing the use of the
+# RTAI Real-time patch.
+config BR2_LINUX_KERNEL_LATEST_SERIES
+ bool
+
#
# Version selection. We provide the choice between:
#
@@ -29,10 +35,42 @@ choice
config BR2_LINUX_KERNEL_LATEST_VERSION
bool "Latest version (6.11)"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_11 if BR2_KERNEL_HEADERS_AS_KERNEL
+config BR2_LINUX_KERNEL_LATEST_LTS_6_6_VERSION
+ bool "Latest LTS 6.6 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_6 if BR2_KERNEL_HEADERS_AS_KERNEL
+
+config BR2_LINUX_KERNEL_LATEST_LTS_6_1_VERSION
+ bool "Latest LTS 6.1 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 if BR2_KERNEL_HEADERS_AS_KERNEL
+
+config BR2_LINUX_KERNEL_LATEST_LTS_5_15_VERSION
+ bool "Latest LTS 5.15 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 if BR2_KERNEL_HEADERS_AS_KERNEL
+
+config BR2_LINUX_KERNEL_LATEST_LTS_5_10_VERSION
+ bool "Latest LTS 5.10 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
+
+config BR2_LINUX_KERNEL_LATEST_LTS_5_4_VERSION
+ bool "Latest LTS 5.4 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 if BR2_KERNEL_HEADERS_AS_KERNEL
+
+config BR2_LINUX_KERNEL_LATEST_LTS_4_19_VERSION
+ bool "Latest LTS 4.19 version"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
+ select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 if BR2_KERNEL_HEADERS_AS_KERNEL
+
config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
bool "Latest CIP SLTS version (5.10.162-cip24)"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
help
CIP launched in the spring of 2016 to address the needs of
@@ -53,6 +91,7 @@ config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
config BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
bool "Latest CIP RT SLTS version (5.10.162-cip24-rt10)"
+ select BR2_LINUX_KERNEL_LATEST_SERIES
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL
help
Same as the CIP version, but this is the PREEMPT_RT realtime
@@ -135,6 +174,12 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
config BR2_LINUX_KERNEL_VERSION
string
default "6.11.6" if BR2_LINUX_KERNEL_LATEST_VERSION
+ default "6.6.59" if BR2_LINUX_KERNEL_LATEST_LTS_6_6_VERSION
+ default "6.1.115" if BR2_LINUX_KERNEL_LATEST_LTS_6_1_VERSION
+ default "5.15.170" if BR2_LINUX_KERNEL_LATEST_LTS_5_15_VERSION
+ default "5.10.228" if BR2_LINUX_KERNEL_LATEST_LTS_5_10_VERSION
+ default "5.4.284" if BR2_LINUX_KERNEL_LATEST_LTS_5_4_VERSION
+ default "4.19.322" if BR2_LINUX_KERNEL_LATEST_LTS_4_19_VERSION
default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
@@ -49,7 +49,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
@@ -114,9 +114,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
Provides support for a board configuration to use the latest version of the Linux kernel for a specific LTS. While the existing `BR2_LINUX_KERNEL_LATEST_VERSION` allows desired configurations to roll with a latest stable release, in some scenarios, a user may want the same ability but for a specific Linux LTS. For example, if a user is using an external toolchain that is also tied to a specific Linux LTS. Having these new options avoids the need for rolling configuration to rely on `BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE` with the `BR2_DOWNLOAD_FORCE_CHECK_HASHES` option disabled. Signed-off-by: James Knight <git@jdknight.me> --- Changes v1 -> v2: - Updated versions to use latest versions tracked in `linux.hash`. See also: https://lore.kernel.org/buildroot/CALAjcgXZKYjpsFV1E7Ry-0N5NEGV01hebSb8tEgoAtHvkfvCOA@mail.gmail.com/ --- linux/Config.ext.in | 4 +-- linux/Config.in | 45 ++++++++++++++++++++++++++++ linux/linux.mk | 2 +- package/linux-headers/Config.in.host | 4 +-- 4 files changed, 48 insertions(+), 7 deletions(-)