[xenomai-images][PATCH] Add official support for 6.18 kernels
Jan Kiszka <[email protected]>
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
From: Jan Kiszka <[email protected]> So far, we covered this via "head", but this slot is now used by 6.19. The 6.18 kernel is LTS, thus we should add it properly in recipes and CI, both for Xenomai 3 and 4. Signed-off-by: Jan Kiszka <[email protected]> --- Kconfig | 20 +++++ ci/lib/kernel/6_18.yml | 88 +++++++++++++++++++ ci/xenomai_3_dovetail.yml | 5 +- ci/xenomai_3_next.yml | 1 + ci/xenomai_4_evl.yml | 3 + ci/xenomai_4_next.yml | 3 +- kas/opt/linux-6.18-head.yaml | 19 ++++ kas/opt/linux-6.18.yaml | 18 ++++ recipes-kernel/linux/linux-xenomai-3_6.18.bb | 14 +++ .../linux/linux-xenomai-3_latest.bb | 5 +- recipes-kernel/linux/linux-xenomai-4_6.18.bb | 14 +++ .../linux/linux-xenomai-4_latest.bb | 3 +- 12 files changed, 189 insertions(+), 4 deletions(-) create mode 100644 ci/lib/kernel/6_18.yml create mode 100644 kas/opt/linux-6.18-head.yaml create mode 100644 kas/opt/linux-6.18.yaml create mode 100644 recipes-kernel/linux/linux-xenomai-3_6.18.bb create mode 100644 recipes-kernel/linux/linux-xenomai-4_6.18.bb diff --git a/Kconfig b/Kconfig index dec7458..93958b2 100644 --- a/Kconfig +++ b/Kconfig @@ -130,6 +130,14 @@ config KERNEL_HEAD bool "Head of latest Dovetail branch" depends on XENOMAI_HEAD +config KERNEL_6_18_HEAD + bool "Head of 6.18 Dovetail branch" + depends on XENOMAI_HEAD + +config KERNEL_6_18 + bool "Latest 6.18 Dovetail release" + depends on XENOMAI_HEAD + config KERNEL_6_12_HEAD bool "Head of 6.12 Dovetail branch" depends on XENOMAI_HEAD || XENOMAI_3_3_HEAD || XENOMAI_3_3 @@ -175,6 +183,8 @@ endchoice config KAS_INCLUDE_KERNEL string default "kas/opt/linux-head.yaml" if KERNEL_HEAD + default "kas/opt/linux-6.18-head.yaml" if KERNEL_6_18_HEAD + default "kas/opt/linux-6.18.yaml" if KERNEL_6_18 default "kas/opt/linux-6.12-head.yaml" if KERNEL_6_12_HEAD default "kas/opt/linux-6.12.yaml" if KERNEL_6_12 default "kas/opt/linux-6.1-head.yaml" if KERNEL_6_1_HEAD @@ -222,6 +232,14 @@ choice config EVL_KERNEL_HEAD bool "Head of latest EVL branch" +config EVL_KERNEL_6_18_HEAD + bool "Head of 6.18 EVL branch" + depends on !ARCH_RISCV64 + +config EVL_KERNEL_6_18 + bool "Latest 6.18 EVL release" + depends on !ARCH_RISCV64 + config EVL_KERNEL_6_12_HEAD bool "Head of 6.12 EVL branch" depends on !ARCH_RISCV64 @@ -243,6 +261,8 @@ endchoice config KAS_INCLUDE_EVL_KERNEL string default "kas/opt/linux-head.yaml" if EVL_KERNEL_HEAD + default "kas/opt/linux-6.18-head.yaml" if EVL_KERNEL_6_18_HEAD + default "kas/opt/linux-6.18.yaml" if EVL_KERNEL_6_18 default "kas/opt/linux-6.12-head.yaml" if EVL_KERNEL_6_12_HEAD default "kas/opt/linux-6.12.yaml" if EVL_KERNEL_6_12 default "kas/opt/linux-6.1-head.yaml" if EVL_KERNEL_6_1_HEAD diff --git a/ci/lib/kernel/6_18.yml b/ci/lib/kernel/6_18.yml new file mode 100644 index 0000000..88e3915 --- /dev/null +++ b/ci/lib/kernel/6_18.yml @@ -0,0 +1,88 @@ +# +# Xenomai Real-Time System +# +# Copyright (c) Siemens AG, 2026 +# +# Authors: +# Jan Kiszka <[email protected]> +# +# SPDX-License-Identifier: MIT +# + +build-6.18:qemu-amd64: + extends: .build:qemu-amd64 + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:qemu-amd64: + needs: [ "build-6.18:qemu-amd64" ] + extends: .lava-test:qemu-amd64 + variables: + KERNEL_VERSION: "6.18" + +build-6.18:qemu-armhf: + extends: .build:qemu-armhf + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:qemu-armhf: + needs: [ "build-6.18:qemu-armhf" ] + extends: .lava-test:qemu-armhf + variables: + KERNEL_VERSION: "6.18" + +build-6.18:qemu-arm64: + extends: .build:qemu-arm64 + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:qemu-arm64: + needs: [ "build-6.18:qemu-arm64" ] + extends: .lava-test:qemu-arm64 + variables: + KERNEL_VERSION: "6.18" + +build-6.18:rpi4: + extends: .build:rpi4 + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:rpi4: + needs: [ "build-6.18:rpi4" ] + extends: .lava-test:rpi4 + variables: + KERNEL_VERSION: "6.18" + +build-6.18:beagle-bone-black: + extends: .build:beagle-bone-black + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:beagle-bone-black: + needs: [ "build-6.18:beagle-bone-black" ] + extends: .lava-test:beagle-bone-black + variables: + KERNEL_VERSION: "6.18" + +build-6.18:x86-64-efi: + extends: .build:x86-64-efi + variables: + LINUX_BUILD_OPTION: ":kas/opt/linux-6.18-head.yaml" + KERNEL_VERSION: "6.18" + CACHE_KERNEL: dovetail + +lava-test-6.18:x86-64-efi: + needs: [ "build-6.18:x86-64-efi" ] + extends: .lava-test:x86-64-efi + variables: + KERNEL_VERSION: "6.18" diff --git a/ci/xenomai_3_dovetail.yml b/ci/xenomai_3_dovetail.yml index 916d191..ffb903a 100644 --- a/ci/xenomai_3_dovetail.yml +++ b/ci/xenomai_3_dovetail.yml @@ -25,6 +25,9 @@ include: - local: '/ci/lib/kernel/6_12.yml' rules: - if: '$KERNEL_VERSION == "6.12"' + - local: '/ci/lib/kernel/6_18.yml' + rules: + - if: '$KERNEL_VERSION == "6.18"' - local: '/ci/lib/kernel/head.yml' rules: - if: '$KERNEL_VERSION == "head"' @@ -35,4 +38,4 @@ include: - if: '$KERNEL_VERSION == "5.10" || $KERNEL_VERSION == "5.15"' - local: '/ci/lib/dovetail/xenomai_3_next.yml' rules: - - if: '$KERNEL_VERSION == "6.1" || $KERNEL_VERSION == "6.12" || $KERNEL_VERSION == "head"' + - if: '$KERNEL_VERSION == "6.1" || $KERNEL_VERSION == "6.12" || $KERNEL_VERSION == "6.18" || $KERNEL_VERSION == "head"' diff --git a/ci/xenomai_3_next.yml b/ci/xenomai_3_next.yml index b1771f6..74803ed 100644 --- a/ci/xenomai_3_next.yml +++ b/ci/xenomai_3_next.yml @@ -13,6 +13,7 @@ include: - local: '/ci/lib/gitlab-ci-base.yml' - local: '/ci/lib/kernel/6_1.yml' - local: '/ci/lib/kernel/6_12.yml' + - local: '/ci/lib/kernel/6_18.yml' - local: '/ci/lib/kernel/head.yml' - local: '/ci/lib/compat/xenomai_3_next.yml' diff --git a/ci/xenomai_4_evl.yml b/ci/xenomai_4_evl.yml index 0404ca3..283a1fd 100644 --- a/ci/xenomai_4_evl.yml +++ b/ci/xenomai_4_evl.yml @@ -17,6 +17,9 @@ include: - local: '/ci/lib/kernel/6_12.yml' rules: - if: '$KERNEL_VERSION == "6.12"' + - local: '/ci/lib/kernel/6_18.yml' + rules: + - if: '$KERNEL_VERSION == "6.18"' - local: '/ci/lib/kernel/head.yml' rules: - if: '$KERNEL_VERSION == "head"' diff --git a/ci/xenomai_4_next.yml b/ci/xenomai_4_next.yml index 5a248e5..ffb1ebb 100644 --- a/ci/xenomai_4_next.yml +++ b/ci/xenomai_4_next.yml @@ -1,7 +1,7 @@ # # Xenomai Real-Time System # -# Copyright (c) Siemens AG, 2023-2025 +# Copyright (c) Siemens AG, 2023-2026 # # Authors: # Clara Kowalsky <[email protected]> @@ -13,6 +13,7 @@ include: - local: '/ci/lib/gitlab-ci-base.yml' - local: '/ci/lib/kernel/6_1.yml' - local: '/ci/lib/kernel/6_12.yml' + - local: '/ci/lib/kernel/6_18.yml' - local: '/ci/lib/kernel/head.yml' variables: diff --git a/kas/opt/linux-6.18-head.yaml b/kas/opt/linux-6.18-head.yaml new file mode 100644 index 0000000..1372dda --- /dev/null +++ b/kas/opt/linux-6.18-head.yaml @@ -0,0 +1,19 @@ +# +# Xenomai Real-Time System +# +# Copyright (c) Siemens AG, 2026 +# +# Authors: +# Jan Kiszka <[email protected]> +# +# SPDX-License-Identifier: MIT +# + +header: + version: 14 + +local_conf_header: + linux-xenomai-version: | + PREFERRED_VERSION_linux-xenomai-3 = "9999-%" + PREFERRED_VERSION_linux-xenomai-4 = "9999-%" + LATEST_GIT_BRANCH = "6.18" diff --git a/kas/opt/linux-6.18.yaml b/kas/opt/linux-6.18.yaml new file mode 100644 index 0000000..99d958c --- /dev/null +++ b/kas/opt/linux-6.18.yaml @@ -0,0 +1,18 @@ +# +# Xenomai Real-Time System +# +# Copyright (c) Siemens AG, 2026 +# +# Authors: +# Jan Kiszka <[email protected]> +# +# SPDX-License-Identifier: MIT +# + +header: + version: 14 + +local_conf_header: + linux-xenomai-version: | + PREFERRED_VERSION_linux-xenomai-3 = "6.18%" + PREFERRED_VERSION_linux-xenomai-4 = "6.18%" diff --git a/recipes-kernel/linux/linux-xenomai-3_6.18.bb b/recipes-kernel/linux/linux-xenomai-3_6.18.bb new file mode 100644 index 0000000..e6d91ab --- /dev/null +++ b/recipes-kernel/linux/linux-xenomai-3_6.18.bb @@ -0,0 +1,14 @@ +# +# Xenomai Real-Time System +# +# Copyright (c) Siemens AG, 2026 +# +# Authors: +# Jan Kiszka <[email protected]> +# +# SPDX-License-Identifier: MIT +# + +require recipes-kernel/linux/linux-xenomai-3-dovetail.inc + +SRCREV ?= "v6.18.7-dovetail1" diff --git a/recipes-kernel/linux/linux-xenomai-3_latest.bb b/recipes-kernel/linux/linux-xenomai-3_latest.bb index 0a68d11..ce497d6 100644 --- a/recipes-kernel/linux/linux-xenomai-3_latest.bb +++ b/recipes-kernel/linux/linux-xenomai-3_latest.bb @@ -1,7 +1,7 @@ # # Xenomai Real-Time System # -# Copyright (c) Siemens AG, 2019-2025 +# Copyright (c) Siemens AG, 2019-2026 # # Authors: # Quirin Gylstorff <[email protected]> @@ -41,6 +41,7 @@ GIT_BRANCH = "${@ \ else 'v5.15.y-dovetail-rebase' if is_kernel(d, '5.15') \ else 'v6.1.y-cip-dovetail-rebase' if is_kernel(d, '6.1') \ else 'v6.12.y-cip-dovetail-rebase' if is_kernel(d, '6.12') \ + else 'v6.18.y-dovetail-rebase' if is_kernel(d, '6.18') \ else d.getVar('LATEST_KERNEL_BRANCH') }" GIT_REPO:armhf = "${@ \ @@ -52,6 +53,7 @@ GIT_BRANCH:armhf = "${@ \ else 'v5.15.y-dovetail-rebase' if is_kernel(d, '5.15') \ else 'v6.1.y-cip-dovetail-rebase' if is_kernel(d, '6.1') \ else 'v6.12.y-cip-dovetail-rebase' if is_kernel(d, '6.12') \ + else 'v6.18.y-dovetail-rebase' if is_kernel(d, '6.18') \ else d.getVar('LATEST_KERNEL_BRANCH') }" GIT_REPO:arm64 = "${@ \ @@ -63,6 +65,7 @@ GIT_BRANCH:arm64 = "${@ \ else 'v5.15.y-dovetail-rebase' if is_kernel(d, '5.15') \ else 'v6.1.y-cip-dovetail-rebase' if is_kernel(d, '6.1') \ else 'v6.12.y-cip-dovetail-rebase' if is_kernel(d, '6.12') \ + else 'v6.18.y-dovetail-rebase' if is_kernel(d, '6.18') \ else d.getVar('LATEST_KERNEL_BRANCH') }" SRC_URI += "${GIT_REPO};protocol=https;branch=${GIT_BRANCH}" diff --git a/recipes-kernel/linux/linux-xenomai-4_6.18.bb b/recipes-kernel/linux/linux-xenomai-4_6.18.bb new file mode 100644 index 0000000..3182404 --- /dev/null +++ b/recipes-kernel/linux/linux-xenomai-4_6.18.bb @@ -0,0 +1,14 @@ +# +# Xenomai Real-Time System +# +# Copyright (c) Siemens AG, 2026 +# +# Authors: +# Jan Kiszka <[email protected]> +# +# SPDX-License-Identifier: MIT +# + +require recipes-kernel/linux/linux-xenomai-4-evl.inc + +SRCREV ?= "v6.18.7-evl1-rebase" diff --git a/recipes-kernel/linux/linux-xenomai-4_latest.bb b/recipes-kernel/linux/linux-xenomai-4_latest.bb index 20fa03f..3be54fe 100644 --- a/recipes-kernel/linux/linux-xenomai-4_latest.bb +++ b/recipes-kernel/linux/linux-xenomai-4_latest.bb @@ -1,7 +1,7 @@ # # Xenomai Real-Time System # -# Copyright (c) Siemens AG, 2024-2025 +# Copyright (c) Siemens AG, 2024-2026 # # Authors: # Jan Kiszka <[email protected]> @@ -33,6 +33,7 @@ python () { GIT_BRANCH = "${@ \ 'v6.1.y-cip-evl-rebase' if is_kernel(d, '6.1') \ else 'v6.12.y-cip-evl-rebase' if is_kernel(d, '6.12') \ + else 'v6.18.y-evl-rebase' if is_kernel(d, '6.18') \ else d.getVar('LATEST_KERNEL_BRANCH') }" GIT_BRANCH:riscv64 = "wip/evl-riscv" -- 2.47.3