From dfe90f093345721f7dbf537196ff5494bbbe13fd Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 6 Jul 2023 00:26:38 -0400 Subject: [PATCH] linux-yocto: introduce 6.4 reference kernel recipes kernel v6.4.x will be the next yocto project reference kernel. This is largely the same as the 6.1 recipes, with only SRCREV and minor differences. Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- .../linux/linux-yocto-rt_6.4.bb | 48 +++++++++++++ .../linux/linux-yocto-tiny_6.4.bb | 33 +++++++++ meta/recipes-kernel/linux/linux-yocto_6.4.bb | 71 +++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto_6.4.bb diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb new file mode 100644 index 00000000000..2558c03a7fb --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb @@ -0,0 +1,48 @@ +KBRANCH ?= "v6.4/standard/preempt-rt/base" + +require recipes-kernel/linux/linux-yocto.inc + +# CVE exclusions +include recipes-kernel/linux/cve-exclusion_6.4.inc + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt": + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + +SRCREV_machine ?= "48cdae83316b7055b4e63f3434ea26b0c04d7c71" +SRCREV_meta ?= "f15c15c0755e36ec185927dd83a8a569186836eb" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https" + +LINUX_VERSION ?= "6.4" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "1" + +LINUX_KERNEL_TYPE = "preempt-rt" + +COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)$" + +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb new file mode 100644 index 00000000000..5c8008232b0 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb @@ -0,0 +1,33 @@ +KBRANCH ?= "v6.4/standard/tiny/base" + +LINUX_KERNEL_TYPE = "tiny" +KCONFIG_MODE = "--allnoconfig" + +require recipes-kernel/linux/linux-yocto.inc + +# CVE exclusions +include recipes-kernel/linux/cve-exclusion_6.4.inc + +LINUX_VERSION ?= "6.4" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "2" + +SRCREV_machine ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_meta ?= "f15c15c0755e36ec185927dd83a8a569186836eb" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https" + +COMPATIBLE_MACHINE = "^(qemux86|qemux86-64|qemuarm64|qemuarm|qemuarmv5)$" + +# Functionality flags +KERNEL_FEATURES = "" + +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" diff --git a/meta/recipes-kernel/linux/linux-yocto_6.4.bb b/meta/recipes-kernel/linux/linux-yocto_6.4.bb new file mode 100644 index 00000000000..e3e6e54d644 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto_6.4.bb @@ -0,0 +1,71 @@ +KBRANCH ?= "v6.4/standard/base" + +require recipes-kernel/linux/linux-yocto.inc + +# CVE exclusions +include recipes-kernel/linux/cve-exclusion_6.4.inc + +# board specific branches +KBRANCH:qemuarm ?= "v6.4/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v6.4/standard/qemuarm64" +KBRANCH:qemumips ?= "v6.4/standard/mti-malta32" +KBRANCH:qemuppc ?= "v6.4/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v6.4/standard/base" +KBRANCH:qemuriscv32 ?= "v6.4/standard/base" +KBRANCH:qemux86 ?= "v6.4/standard/base" +KBRANCH:qemux86-64 ?= "v6.4/standard/base" +KBRANCH:qemuloongarch64 ?= "v6.4/standard/base" +KBRANCH:qemumips64 ?= "v6.4/standard/mti-malta64" + +SRCREV_machine:qemuarm ?= "fccbb53f81908991a69214e09ae0eea360410617" +SRCREV_machine:qemuarm64 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemuloongarch64 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemumips ?= "8370d3d4823bcff9532dd6bb163359f75a5416cd" +SRCREV_machine:qemuppc ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemuriscv64 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemuriscv32 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemux86 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemux86-64 ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_machine:qemumips64 ?= "efe0a0701a1a8c5b6113d6a06b65857f8c84ac9f" +SRCREV_machine ?= "154c43de4e13946ccecf0ff13772db6c2adba355" +SRCREV_meta ?= "f15c15c0755e36ec185927dd83a8a569186836eb" + +# set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll +# get the /base branch, which is pure upstream -stable, and the same +# meta SRCREV as the linux-yocto-standard builds. Select your version using the +# normal PREFERRED_VERSION settings. +BBCLASSEXTEND = "devupstream:target" +SRCREV_machine:class-devupstream ?= "0f4ac6b4c5f00f45b7a429c8a5b028a598c6400c" +PN:class-devupstream = "linux-yocto-upstream" +KBRANCH:class-devupstream = "v6.4/base" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH};protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" +LINUX_VERSION ?= "6.4" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +KMETA = "kernel-meta" +KCONF_BSP_AUDIT_LEVEL = "1" + +KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb" + +COMPATIBLE_MACHINE = "^(qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemuppc64|qemumips|qemumips64|qemux86-64|qemuriscv64|qemuriscv32|qemuloongarch64)$" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" +KERNEL_FEATURES:append:qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc cfg/net/mdio.scc" +KERNEL_FEATURES:append:qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "", d)}" +KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc", "", d)}" +KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc" +KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc" +KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc" + +INSANE_SKIP:kernel-vmlinux:qemuppc64 = "textrel" + -- 2.47.3