diff options
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-mainline_git.bb')
-rw-r--r-- | recipes-kernel/linux/linux-toradex-mainline_git.bb | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-mainline_git.bb b/recipes-kernel/linux/linux-toradex-mainline_git.bb new file mode 100644 index 0000000..923c2b8 --- /dev/null +++ b/recipes-kernel/linux/linux-toradex-mainline_git.bb @@ -0,0 +1,75 @@ +SUMMARY = "Toradex mainline Linux kernel" +SUMMARY:preempt-rt = "Toradex mainline real-Time Linux kernel" +SECTION = "kernel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM ?= "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-git:" + +DEPENDS += "coreutils-native lzop-native" + +# yaml and dtschema are required for 5.16+ device tree validation, libyaml is checked +# via pkgconfig, so must always be present, but we can wrap the others to make them +# conditional +DEPENDS += "libyaml-native" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[dt-validation] = ",,python3-dtschema-native" +# we need the wrappers if validation isn't in the packageconfig +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'dt-validation', '', 'python3-dtschema-wrapper-native', d)}" + +PV = "${LINUX_VERSION}+git${SRCPV}" + +LINUX_REPO = "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git" +SRC_URI = " \ + ${LINUX_REPO};protocol=https;branch=${KBRANCH};name=machine \ + file://defconfig \ +" + +LINUX_VERSION ?= "5.16" +KBRANCH = "master" +KERNEL_VERSION_SANITY_SKIP = "1" +SRCREV_machine = "2585cf9dfaaddf00b069673f27bb3f8530e2039c" +SRCREV_machine:use-head-next = "${AUTOREV}" + +S = "${WORKDIR}/git" + +KCONFIG_MODE="--alldefconfig" + +# Load USB functions configurable through configfs (CONFIG_USB_CONFIGFS) +KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('COMBINED_FEATURES', 'usbgadget', ' libcomposite', '',d)}" + +inherit kernel-yocto kernel pkgconfig toradex-kernel-localversion + +# Additional file deployed by recent mainline kernels +FILES:${KERNEL_PACKAGE_NAME}-base += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" + +KERNEL_CONFIG_NAME ?= "${KERNEL_PACKAGE_NAME}-config-${KERNEL_ARTIFACT_NAME}" +KERNEL_CONFIG_LINK_NAME ?= "${KERNEL_PACKAGE_NAME}-config" + +export DTC_FLAGS = "-@" + +# kconfiglib.KconfigError: init/Kconfig:70: error: couldn't parse 'default $(shell,$(srctree)/scripts/rust-version.sh $(RUSTC))': macro expanded to blank string +do_kernel_configcheck[noexec] = "1" + +do_deploy:append() { + cp -a ${B}/.config ${DEPLOYDIR}/${KERNEL_CONFIG_NAME} + ln -sf ${KERNEL_CONFIG_NAME} ${DEPLOYDIR}/${KERNEL_CONFIG_LINK_NAME} +} + +####################################################################### + +LINUX_REPO:preempt-rt = "git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git" +LINUX_VERSION:preempt-rt ?= "5.15.3-rt21" +KBRANCH:preempt-rt = "linux-5.15.y-rt" +SRCREV_machine:preempt-rt = "2534ec53a47a4b1ee5985534c24652b5c62abe62" +LINUX_VERSION:use-head-next:preempt-rt ?= "5.16.0-rt" +KBRANCH:use-head-next:preempt-rt = "linux-5.16.y-rt" +SRCREV_machine:preempt-rt:use-head-next = "${AUTOREV}" + +SRC_URI:append:preempt-rt = " \ + file://preempt-rt.scc \ + file://preempt-rt-less-latency.scc \ +" + +####################################################################### |