Browse Source

linux-yocto: introduce 5.8 reference kernel

Add the next set of "versioned" linux-yocto recipes that can be
used to build v5.8 upstream (v5.8/base) or 5.8 with some emedded
specific features (v5.8/standard/*).

Note: along with the new 5.8 content, the recipes have a tweaked
licence checksum, which The needs to be updated to account for kernel
commit 74835c7db0322b [COPYING: state that all contributions really
are covered by this file].

These have been built and booted for all supported qemu architectures.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield 3 years ago
parent
commit
18edf84ec6

+ 44 - 0
meta/recipes-kernel/linux/linux-yocto-rt_5.8.bb

@@ -0,0 +1,44 @@
+KBRANCH ?= "v5.8/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 ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_meta ?= "4c62a6f4fa227abacf87f1593faa1ac6e6616156"
+
+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.8;destsuffix=${KMETA}"
+
+LINUX_VERSION ?= "5.8"
+
+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 = "2"
+
+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)}"

+ 32 - 0
meta/recipes-kernel/linux/linux-yocto-tiny_5.8.bb

@@ -0,0 +1,32 @@
+KBRANCH ?= "v5.8/standard/tiny/base"
+KBRANCH_qemuarm  ?= "v5.8/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "5.8"
+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_qemuarm ?= "8c6b76ac37ee5c0f09ffff816a6519f3f8ea6582"
+SRCREV_machine ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_meta ?= "4c62a6f4fa227abacf87f1593faa1ac6e6616156"
+
+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.8;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"

+ 54 - 0
meta/recipes-kernel/linux/linux-yocto_5.8.bb

@@ -0,0 +1,54 @@
+KBRANCH ?= "v5.8/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH_qemuarm  ?= "v5.8/standard/arm-versatile-926ejs"
+KBRANCH_qemuarm64 ?= "v5.8/standard/qemuarm64"
+KBRANCH_qemumips ?= "v5.8/standard/mti-malta32"
+KBRANCH_qemuppc  ?= "v5.8/standard/qemuppc"
+KBRANCH_qemuriscv64  ?= "v5.8/standard/base"
+KBRANCH_qemux86  ?= "v5.8/standard/base"
+KBRANCH_qemux86-64 ?= "v5.8/standard/base"
+KBRANCH_qemumips64 ?= "v5.8/standard/mti-malta64"
+
+SRCREV_machine_qemuarm ?= "e6215284f772360ed2110b2f9b5ab5cfbeb60550"
+SRCREV_machine_qemuarm64 ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_machine_qemumips ?= "421057004e4e9847219dc966ecebe3174bf9c670"
+SRCREV_machine_qemuppc ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_machine_qemuriscv64 ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_machine_qemux86 ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_machine_qemux86-64 ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_machine_qemumips64 ?= "b3f4fce505798c95cdce90a9551cbf68de7bd811"
+SRCREV_machine ?= "581a55ca5571041bc5885febe8415c5751c489d9"
+SRCREV_meta ?= "4c62a6f4fa227abacf87f1593faa1ac6e6616156"
+
+# remap qemuarm to qemuarma15 for the 5.8 kernel
+# KMACHINE_qemuarm ?= "qemuarma15"
+
+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.8;destsuffix=${KMETA}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+LINUX_VERSION ?= "5.8"
+
+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"
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
+
+# 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)}"