diff options
author | Bruce Ashfield <bruce.ashfield@gmail.com> | 2024-12-10 16:06:15 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-12-12 12:32:44 +0000 |
commit | 57c49d9880fce455193a9cae689d4a6914507429 (patch) | |
tree | 0c1ca51659ad60382ac43cad7f131434b68a8701 /meta | |
parent | 1a065761048a59575e2d1ceca70d6918c5748b99 (diff) | |
download | poky-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')
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-rt_6.12.bb | 48 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto-tiny_6.12.bb | 33 | ||||
-rw-r--r-- | meta/recipes-kernel/linux/linux-yocto_6.12.bb | 76 |
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 @@ | |||
1 | KBRANCH ?= "v6.12/standard/preempt-rt/base" | ||
2 | |||
3 | require recipes-kernel/linux/linux-yocto.inc | ||
4 | |||
5 | # CVE exclusions | ||
6 | include 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. | ||
12 | python () { | ||
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 | |||
17 | SRCREV_machine ?= "b01e5cf7ee075ac6fae18ee9eb0ecfaaf024f394" | ||
18 | SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0" | ||
19 | |||
20 | SRC_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 | |||
23 | LINUX_VERSION ?= "6.12.3" | ||
24 | |||
25 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | ||
26 | |||
27 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" | ||
28 | DEPENDS += "openssl-native util-linux-native" | ||
29 | |||
30 | PV = "${LINUX_VERSION}+git" | ||
31 | |||
32 | KMETA = "kernel-meta" | ||
33 | KCONF_BSP_AUDIT_LEVEL = "1" | ||
34 | |||
35 | LINUX_KERNEL_TYPE = "preempt-rt" | ||
36 | |||
37 | COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$" | ||
38 | |||
39 | KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb" | ||
40 | |||
41 | # Functionality flags | ||
42 | KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" | ||
43 | KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" | ||
44 | KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" | ||
45 | KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" | ||
46 | KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" | ||
47 | KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" | ||
48 | KERNEL_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 @@ | |||
1 | KBRANCH ?= "v6.12/standard/tiny/base" | ||
2 | |||
3 | LINUX_KERNEL_TYPE = "tiny" | ||
4 | KCONFIG_MODE = "--allnoconfig" | ||
5 | |||
6 | require recipes-kernel/linux/linux-yocto.inc | ||
7 | |||
8 | # CVE exclusions | ||
9 | include recipes-kernel/linux/cve-exclusion_6.12.inc | ||
10 | |||
11 | LINUX_VERSION ?= "6.12.3" | ||
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | ||
13 | |||
14 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" | ||
15 | DEPENDS += "openssl-native util-linux-native" | ||
16 | |||
17 | KMETA = "kernel-meta" | ||
18 | KCONF_BSP_AUDIT_LEVEL = "2" | ||
19 | |||
20 | SRCREV_machine ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
21 | SRCREV_meta ?= "38b941ae2f4f28c0ba40b2ba6da466f6f5fe3ba0" | ||
22 | |||
23 | PV = "${LINUX_VERSION}+git" | ||
24 | |||
25 | SRC_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 | |||
28 | COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$" | ||
29 | |||
30 | # Functionality flags | ||
31 | KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc cfg/fs/ext4.scc" | ||
32 | |||
33 | KERNEL_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 @@ | |||
1 | KBRANCH ?= "v6.12/standard/base" | ||
2 | |||
3 | require recipes-kernel/linux/linux-yocto.inc | ||
4 | |||
5 | # CVE exclusions | ||
6 | include recipes-kernel/linux/cve-exclusion.inc | ||
7 | include recipes-kernel/linux/cve-exclusion_6.10.inc | ||
8 | |||
9 | # board specific branches | ||
10 | KBRANCH:qemuarm ?= "v6.12/standard/arm-versatile-926ejs" | ||
11 | KBRANCH:qemuarm64 ?= "v6.12/standard/base" | ||
12 | KBRANCH:qemumips ?= "v6.12/standard/mti-malta32" | ||
13 | KBRANCH:qemuppc ?= "v6.12/standard/qemuppc" | ||
14 | KBRANCH:qemuriscv64 ?= "v6.12/standard/base" | ||
15 | KBRANCH:qemuriscv32 ?= "v6.12/standard/base" | ||
16 | KBRANCH:qemux86 ?= "v6.12/standard/base" | ||
17 | KBRANCH:qemux86.104 ?= "v6.12/standard/base" | ||
18 | KBRANCH:qemuloongarch64 ?= "v6.12/standard/base" | ||
19 | KBRANCH:qemumips64 ?= "v6.12/standard/mti-malta64" | ||
20 | |||
21 | SRCREV_machine:qemuarm ?= "c2bc3bf6168351b86c1940020a05bc3907bd97af" | ||
22 | SRCREV_machine:qemuarm64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
23 | SRCREV_machine:qemuloongarch64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
24 | SRCREV_machine:qemumips ?= "9537ff669bd3fded04ef795aad118851a2bd210c" | ||
25 | SRCREV_machine:qemuppc ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
26 | SRCREV_machine:qemuriscv64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
27 | SRCREV_machine:qemuriscv32 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
28 | SRCREV_machine:qemux86 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
29 | SRCREV_machine:qemux86-64 ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
30 | SRCREV_machine:qemumips64 ?= "c804d6e613ac8dce9cfde9a245ad3496ad835e0c" | ||
31 | SRCREV_machine ?= "48f49b0d6627a29c4dbe99cf2faa299acf4ca61f" | ||
32 | SRCREV_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. | ||
38 | BBCLASSEXTEND = "devupstream:target" | ||
39 | SRCREV_machine:class-devupstream ?= "47edb26c8ed9dd1877f8623ee1cd3b998874ca65" | ||
40 | PN:class-devupstream = "linux-yocto-upstream" | ||
41 | KBRANCH:class-devupstream = "v6.12/base" | ||
42 | |||
43 | SRC_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 | |||
46 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | ||
47 | LINUX_VERSION ?= "6.12.3" | ||
48 | |||
49 | PV = "${LINUX_VERSION}+git" | ||
50 | |||
51 | KMETA = "kernel-meta" | ||
52 | KCONF_BSP_AUDIT_LEVEL = "1" | ||
53 | |||
54 | KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb" | ||
55 | |||
56 | COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32|qemuloongarch64)$" | ||
57 | |||
58 | # Functionality flags | ||
59 | KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" | ||
60 | KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" | ||
61 | KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc" | ||
62 | KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" | ||
63 | KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" | ||
64 | KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" | ||
65 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}" | ||
66 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}" | ||
67 | KERNEL_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 | ||
69 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}" | ||
70 | # openl2tp tests from meta-networking needs it | ||
71 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " cgl/cfg/net/l2tp.scc", "", d)}" | ||
72 | KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc" | ||
73 | KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc" | ||
74 | KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc" | ||
75 | |||
76 | INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel" | ||