summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@gmail.com>2024-12-10 16:06:15 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-12-12 12:32:44 +0000
commit57c49d9880fce455193a9cae689d4a6914507429 (patch)
tree0c1ca51659ad60382ac43cad7f131434b68a8701 /meta/recipes-kernel
parent1a065761048a59575e2d1ceca70d6918c5748b99 (diff)
downloadpoky-57c49d9880fce455193a9cae689d4a6914507429.tar.gz
linux-yocto/6.12: introduce v6.12 reference kernel
Introducing the v6.12 reference kernel recipes. This version has been designated a LTS and will be the default kernel for the next yocto release. Some notes: - Two fragments are added to linux-yocto-tiny to allow booting on qemu out of the box - preempt-rt is smaller, but still has patches on top of mainline This has been boot tested on all architectures, qemu* machine variants, systemd, sysvinit and both musl and glibc. (From OE-Core rev: 077fb655a2524e45b3356f510818d718370c79ac) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel')
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb48
-rw-r--r--meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb33
-rw-r--r--meta/recipes-kernel/linux/linux-yocto_6.12.bb76
3 files changed, 157 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
new file mode 100644
index 0000000000..ff1962590a
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb
@@ -0,0 +1,48 @@
1KBRANCH ?= "v6.12/standard/preempt-rt/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# CVE exclusions
6include recipes-kernel/linux/cve-exclusion_6.12.inc
7
8# Skip processing of this recipe if it is not explicitly specified as the
9# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
10# to build multiple virtual/kernel providers, e.g. as dependency of
11# core-image-rt-sdk, core-image-rt.
12python () {
13 if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
14 raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
15}
16
17SRCREV_machine ?= "b01e5cf7ee075ac6fae18ee9eb0ecfaaf024f394"
18SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
19
20SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
21 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
22
23LINUX_VERSION ?= "6.12.3"
24
25LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
26
27DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
28DEPENDS += "openssl-native util-linux-native"
29
30PV = "${LINUX_VERSION}+git"
31
32KMETA = "kernel-meta"
33KCONF_BSP_AUDIT_LEVEL = "1"
34
35LINUX_KERNEL_TYPE = "preempt-rt"
36
37COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$"
38
39KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
40
41# Functionality flags
42KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
43KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
44KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
45KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
46KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
47KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}"
48KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
new file mode 100644
index 0000000000..84c4353008
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb
@@ -0,0 +1,33 @@
1KBRANCH ?= "v6.12/standard/tiny/base"
2
3LINUX_KERNEL_TYPE = "tiny"
4KCONFIG_MODE = "--allnoconfig"
5
6require recipes-kernel/linux/linux-yocto.inc
7
8# CVE exclusions
9include recipes-kernel/linux/cve-exclusion_6.12.inc
10
11LINUX_VERSION ?= "6.12.3"
12LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
13
14DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
15DEPENDS += "openssl-native util-linux-native"
16
17KMETA = "kernel-meta"
18KCONF_BSP_AUDIT_LEVEL = "2"
19
20SRCREV_machine ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
21SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
22
23PV = "${LINUX_VERSION}+git"
24
25SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
26 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
27
28COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$"
29
30# Functionality flags
31KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc cfg/fs/ext4.scc"
32
33KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.12.bb b/meta/recipes-kernel/linux/linux-yocto_6.12.bb
new file mode 100644
index 0000000000..54ab7ce2b6
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-yocto_6.12.bb
@@ -0,0 +1,76 @@
1KBRANCH ?= "v6.12/standard/base"
2
3require recipes-kernel/linux/linux-yocto.inc
4
5# CVE exclusions
6include recipes-kernel/linux/cve-exclusion.inc
7include recipes-kernel/linux/cve-exclusion_6.10.inc
8
9# board specific branches
10KBRANCH:qemuarm ?= "v6.12/standard/arm-versatile-926ejs"
11KBRANCH:qemuarm64 ?= "v6.12/standard/base"
12KBRANCH:qemumips ?= "v6.12/standard/mti-malta32"
13KBRANCH:qemuppc ?= "v6.12/standard/qemuppc"
14KBRANCH:qemuriscv64 ?= "v6.12/standard/base"
15KBRANCH:qemuriscv32 ?= "v6.12/standard/base"
16KBRANCH:qemux86 ?= "v6.12/standard/base"
17KBRANCH:qemux86.104 ?= "v6.12/standard/base"
18KBRANCH:qemuloongarch64 ?= "v6.12/standard/base"
19KBRANCH:qemumips64 ?= "v6.12/standard/mti-malta64"
20
21SRCREV_machine:qemuarm ?= "c2bc3bf6168351b86c1940020a05bc3907bd97af"
22SRCREV_machine:qemuarm64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
23SRCREV_machine:qemuloongarch64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
24SRCREV_machine:qemumips ?= "9537ff669bd3fded04ef795aad118851a2bd210c"
25SRCREV_machine:qemuppc ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
26SRCREV_machine:qemuriscv64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
27SRCREV_machine:qemuriscv32 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
28SRCREV_machine:qemux86 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
29SRCREV_machine:qemux86-64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
30SRCREV_machine:qemumips64 ?= "c804d6e613ac8dce9cfde9a245ad3496ad835e0c"
31SRCREV_machine ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f"
32SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0"
33
34# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
35# get the <version>/base branch, which is pure upstream -stable, and the same
36# meta SRCREV as the linux-yocto-standard builds. Select your version using the
37# normal PREFERRED_VERSION settings.
38BBCLASSEXTEND = "devupstream:target"
39SRCREV_machine:class-devupstream ?= "47edb26c8ed9dd1877f8623ee1cd3b998874ca65"
40PN:class-devupstream = "linux-yocto-upstream"
41KBRANCH:class-devupstream = "v6.12/base"
42
43SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};protocol=https \
44 git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.12;destsuffix=${KMETA};protocol=https"
45
46LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
47LINUX_VERSION ?= "6.12.3"
48
49PV = "${LINUX_VERSION}+git"
50
51KMETA = "kernel-meta"
52KCONF_BSP_AUDIT_LEVEL = "1"
53
54KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
55
56COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32|qemuloongarch64)$"
57
58# Functionality flags
59KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
60KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}"
61KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc"
62KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
63KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
64KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}"
65KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}"
66KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}"
67KERNEL_FEATURES:append = " ${@bb.utils.contains("KERNEL_DEBUG", "True", " features/reproducibility/reproducibility.scc features/debug/debug-btf.scc", "", d)}"
68# libteam ptests from meta-oe needs it
69KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}"
70# openl2tp tests from meta-networking needs it
71KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " cgl/cfg/net/l2tp.scc", "", d)}"
72KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc"
73KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc"
74KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc"
75
76INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel"