From d34a01191ad16ffff7cfc70a71440c5b1ed6552a Mon Sep 17 00:00:00 2001 From: Daniel BORNAZ Date: Mon, 16 Sep 2019 14:23:30 +0200 Subject: Added PREEMPT_RT 4.19 kernel for intel Added the recipe for the PREEMPT_RT intel 4.19 kernel along with patches for the 10Gbps NIC and machine configuration. Addresses LXOSCR-437 and LXOSCR-439. Change-Id: If0fd91858b49c155c479c9ed66cb016f9de1b958 --- conf/machine/include/intel-common-pkgarch.inc | 15 ++++++++ conf/machine/include/intel-corei7-64-common.inc | 7 ++++ conf/machine/include/maintainers.inc | 21 +++++++++++ conf/machine/include/meta-intel.inc | 45 +++++++++++++++++++++++ conf/machine/intel-corei7-64-rt.conf | 42 +++++++++++++++++++++ recipes-kernel/linux/linux-intel-rt_4.19.bbappend | 6 +++ 6 files changed, 136 insertions(+) create mode 100644 conf/machine/include/intel-common-pkgarch.inc create mode 100644 conf/machine/include/intel-corei7-64-common.inc create mode 100644 conf/machine/include/maintainers.inc create mode 100644 conf/machine/include/meta-intel.inc create mode 100644 conf/machine/intel-corei7-64-rt.conf create mode 100644 recipes-kernel/linux/linux-intel-rt_4.19.bbappend diff --git a/conf/machine/include/intel-common-pkgarch.inc b/conf/machine/include/intel-common-pkgarch.inc new file mode 100644 index 0000000..d0f208b --- /dev/null +++ b/conf/machine/include/intel-common-pkgarch.inc @@ -0,0 +1,15 @@ +INTEL_COMMON_PACKAGE_ARCH ?= "${TUNE_PKGARCH}-intel-common" +PACKAGE_ARCH_pn-linux-intel = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-rt = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-tiny = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-intel-dev = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-yocto = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-yocto-rt = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-yocto-tiny = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-linux-yocto-dev = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-intel-microcode = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-backport-iwlwifi = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-ixgbe = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_ARCH_pn-ixgbevf = "${INTEL_COMMON_PACKAGE_ARCH}" +PACKAGE_EXTRA_ARCHS_append += "${INTEL_COMMON_PACKAGE_ARCH}" +MACHINEOVERRIDES =. "${INTEL_COMMON_PACKAGE_ARCH}:" diff --git a/conf/machine/include/intel-corei7-64-common.inc b/conf/machine/include/intel-corei7-64-common.inc new file mode 100644 index 0000000..0028256 --- /dev/null +++ b/conf/machine/include/intel-corei7-64-common.inc @@ -0,0 +1,7 @@ +# +# Common configuration for all MACHINES of the intel-corei7-64 type +# + +DEFAULTTUNE ?= "corei7-64" +require conf/machine/include/tune-corei7.inc +require conf/machine/include/x86-base.inc diff --git a/conf/machine/include/maintainers.inc b/conf/machine/include/maintainers.inc new file mode 100644 index 0000000..99ddec2 --- /dev/null +++ b/conf/machine/include/maintainers.inc @@ -0,0 +1,21 @@ +# This file contains a list of recipe maintainers for meta-intel + +RECIPE_MAINTAINER_pn-core-image-rt = "Anuj Mittal " +RECIPE_MAINTAINER_pn-core-image-rt-sdk = "Anuj Mittal " +RECIPE_MAINTAINER_pn-gma500-gfx-check = "Anuj Mittal " +RECIPE_MAINTAINER_pn-gmmlib = "Anuj Mittal " +RECIPE_MAINTAINER_pn-intel-gpu-tools = "Anuj Mittal " +RECIPE_MAINTAINER_pn-intel-media-driver = "Anuj Mittal " +RECIPE_MAINTAINER_pn-intel-mediasdk = "Anuj Mittal " +RECIPE_MAINTAINER_pn-intel-microcode = "Anuj Mittal " +RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Anuj Mittal " +RECIPE_MAINTAINER_pn-iucode-tool = "Anuj Mittal " +RECIPE_MAINTAINER_pn-intel-vaapi-driver = "Anuj Mittal " +RECIPE_MAINTAINER_pn-libyami = "Anuj Mittal " +RECIPE_MAINTAINER_pn-libyami-utils = "Anuj Mittal " +RECIPE_MAINTAINER_pn-linux-intel = "Anuj Mittal " +RECIPE_MAINTAINER_pn-linux-intel-rt = "Anuj Mittal " +RECIPE_MAINTAINER_pn-thermald = "Anuj Mittal " +RECIPE_MAINTAINER_pn-xf86-video-ast = "Anuj Mittal " +RECIPE_MAINTAINER_pn-mkl-dnn = "Ankit Navik " +RECIPE_MAINTAINER_pn-metrics-discovery = "Ankit Navik " diff --git a/conf/machine/include/meta-intel.inc b/conf/machine/include/meta-intel.inc new file mode 100644 index 0000000..d45f482 --- /dev/null +++ b/conf/machine/include/meta-intel.inc @@ -0,0 +1,45 @@ +# +# BSP variables and settings specific to the meta-intel layer. +# You must include the meta-intel layer in your bblayers.conf +# to use them. +# + +PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel" +PREFERRED_PROVIDER_virtual/kernel_poky-tiny ?= "linux-intel" + +# Only use the Intel-tuned zlib for target builds to improve reuse +PREFERRED_PROVIDER_zlib = "zlib-intel" +PREFERRED_PROVIDER_zlib-native = "zlib-native" +PREFERRED_PROVIDER_nativesdk-zlib = "nativesdk-zlib" + +PREFERRED_VERSION_linux-intel_linuxstdbase ?= "4.19%" +PREFERRED_VERSION_linux-intel ?= "4.19%" +PREFERRED_VERSION_linux-intel-rt ?= "4.19%" + +XSERVER_X86_ASPEED_AST = "xf86-video-ast \ + " + +# include the user space intel microcode loading support in the generated images. +MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)} thermald" + +# recommended extra packages common to all intel machines +MACHINE_EXTRA_RRECOMMENDS_append = " kernel-modules linux-firmware" + +# for the early boot time kernel microcode loading support, +# merge the microcode data in the final initrd image. +INITRD_LIVE_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}" + +DISK_SIGNATURE_UUID ??= "deadbeef-dead-beef-dead-beefdeadbeef" + +EFI_PROVIDER ?= "systemd-boot" +EFI_PROVIDER_x86-x32 = "grub-efi" + +# Add general MACHINEOVERRIDE for meta-intel +MACHINEOVERRIDES =. "intel-x86-common:" + +# Definition of (more or less) suitable virtual machines. +require conf/machine/include/qemuboot-intel.inc + +# Ensure that the extra tools needed by qemu are built when building images +# and tweak machine definition to make the result more usable under qemu. +require conf/machine/include/qemu-intel.inc diff --git a/conf/machine/intel-corei7-64-rt.conf b/conf/machine/intel-corei7-64-rt.conf new file mode 100644 index 0000000..76457a4 --- /dev/null +++ b/conf/machine/intel-corei7-64-rt.conf @@ -0,0 +1,42 @@ +#@TYPE: Machine +#@NAME: intel-corei7-64 + +#@DESCRIPTION: Machine configuration for 64 bit Intel Core i7 CPU (and later) with MMX, SSE, SSE2, SSE3, and SSSE3 instruction set support. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware. + +require conf/machine/include/meta-intel.inc +require conf/machine/include/intel-corei7-64-common.inc +require conf/machine/include/intel-common-pkgarch.inc + +PREFERRED_PROVIDER_virtual/kernel = "linux-intel-rt" + +MACHINE_FEATURES += "pcbios efi" +MACHINE_FEATURES += "wifi 3g nfc" +MACHINE_FEATURES += "intel-ucode" + +MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi" + +# Enable optional dpdk: +COMPATIBLE_MACHINE_pn-dpdk = "intel-corei7-64" + +# Enable optional QAT items: +COMPATIBLE_MACHINE_pn-qat16 = "intel-corei7-64" +COMPATIBLE_MACHINE_pn-qat17 = "intel-corei7-64" +COMPATIBLE_MACHINE_pn-zlib-qat = "intel-corei7-64" + +XSERVER ?= "${XSERVER_X86_BASE} \ + ${XSERVER_X86_EXT} \ + ${XSERVER_X86_FBDEV} \ + ${XSERVER_X86_I915} \ + ${XSERVER_X86_I965} \ + ${XSERVER_X86_MODESETTING} \ + ${XSERVER_X86_VESA} \ + ${XSERVER_X86_ASPEED_AST} \ + " + +SYSLINUX_OPTS = "serial 0 115200" +SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2" +APPEND += "rootwait console=ttyS0,115200 console=tty0" + +IMAGE_FSTYPES += "wic" +WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}" +WKS_FILE_DEPENDS_append = " intel-microcode" diff --git a/recipes-kernel/linux/linux-intel-rt_4.19.bbappend b/recipes-kernel/linux/linux-intel-rt_4.19.bbappend new file mode 100644 index 0000000..e864a0f --- /dev/null +++ b/recipes-kernel/linux/linux-intel-rt_4.19.bbappend @@ -0,0 +1,6 @@ +SRCREV_metaenea = "751b828bafbb3ea036de9135a07ba8dbfa301108" +KENEABRANCH = "intel-4.19" +SRC_URI_append = " git://git@git.enea.com/linux/enea-kernel-cache.git;protocol=ssh;type=kmeta;name=metaenea;branch=${KENEABRANCH};destsuffix=enea-kernel-meta \ + " +KERNEL_FEATURES_append = " features/intel-e1xxxx/e1xxxx_y.scc \ + features/ixgbe/ixgbe_y.scc" -- cgit v1.2.3-54-g00ecf