From 39d44df6029b4f9f4c9129cec88a4d298b6864ad Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Thu, 4 Aug 2022 18:57:42 -0400 Subject: linux-yocto: introduce v5.19 reference kernel recipes Introducing the v5.19 reference kernels. Test built and booted against arm/arm64, mips/mips64, x86-64, ppc in combination with musl and glibc. No issues found, and this becomes the 'newest' reference kernel. (From OE-Core rev: 851c500452e7e6459cf2ec53b169cb7cb7f86696) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb | 45 ++++++++++++++ meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb | 30 ++++++++++ meta/recipes-kernel/linux/linux-yocto_5.19.bb | 70 ++++++++++++++++++++++ 3 files changed, 145 insertions(+) create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb create mode 100644 meta/recipes-kernel/linux/linux-yocto_5.19.bb diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb b/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb new file mode 100644 index 0000000000..54982bc200 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.19.bb @@ -0,0 +1,45 @@ +KBRANCH ?= "v5.19/standard/preempt-rt/base" + +require recipes-kernel/linux/linux-yocto.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 ?= "e41cf2ea686c923a56b8fbc52ea998dc7193f099" +SRCREV_meta ?= "eb7088accaa0347a5b627952e48bb8800ff15cf3" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}" + +LINUX_VERSION ?= "5.19" + +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_5.19.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb new file mode 100644 index 0000000000..716e5aa652 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.19.bb @@ -0,0 +1,30 @@ +KBRANCH ?= "v5.19/standard/tiny/base" + +LINUX_KERNEL_TYPE = "tiny" +KCONFIG_MODE = "--allnoconfig" + +require recipes-kernel/linux/linux-yocto.inc + +LINUX_VERSION ?= "5.19" +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 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_meta ?= "eb7088accaa0347a5b627952e48bb8800ff15cf3" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}" + +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_5.19.bb b/meta/recipes-kernel/linux/linux-yocto_5.19.bb new file mode 100644 index 0000000000..a1a2e72774 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-yocto_5.19.bb @@ -0,0 +1,70 @@ +KBRANCH ?= "v5.19/standard/base" + +require recipes-kernel/linux/linux-yocto.inc + +# board specific branches +KBRANCH:qemuarm ?= "v5.19/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v5.19/standard/qemuarm64" +KBRANCH:qemumips ?= "v5.19/standard/mti-malta32" +KBRANCH:qemuppc ?= "v5.19/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v5.19/standard/base" +KBRANCH:qemuriscv32 ?= "v5.19/standard/base" +KBRANCH:qemux86 ?= "v5.19/standard/base" +KBRANCH:qemux86-64 ?= "v5.19/standard/base" +KBRANCH:qemumips64 ?= "v5.19/standard/mti-malta64" + +SRCREV_machine:qemuarm ?= "fdb9f8c3f9a6762603e4d71e3f678dfae1afced6" +SRCREV_machine:qemuarm64 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemumips ?= "128ff884612b479168e68519bb69d1c7a5180b7d" +SRCREV_machine:qemuppc ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemuriscv64 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemuriscv32 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemux86 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemux86-64 ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_machine:qemumips64 ?= "a078f75cccc88d26763cab4762ed00418813f2cd" +SRCREV_machine ?= "43e6ab6ed043f4bc8e7cffbb08af86af0bdb5e12" +SRCREV_meta ?= "eb7088accaa0347a5b627952e48bb8800ff15cf3" + +# 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 ?= "3d7cb6b04c3f3115719235cc6866b10326de34cd" +PN:class-devupstream = "linux-yocto-upstream" +KBRANCH:class-devupstream = "v5.19/base" + +SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.19;destsuffix=${KMETA}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" +LINUX_VERSION ?= "5.19" + +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" +DEPENDS += "openssl-native util-linux-native" +DEPENDS += "gmp-native libmpc-native" + +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" + +# 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" +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" + -- cgit v1.2.3-54-g00ecf