recipes-kernel: use Linux v5.4 on the ccimx6/6qp
Remove all v4.9 recipes and build Linux using the same branch on all platforms. The .inc files were only needed because of the existence of multiple Linux versions, but that's not the case anymore, so remove them. https://jira.digi.com/browse/DEL-7221 Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
4d0ae35a52
commit
f8f8228d67
|
|
@ -20,9 +20,6 @@ STORAGE_MEDIA = "mmc"
|
|||
# Wireless external module
|
||||
WIRELESS_MODULE ?= ""
|
||||
|
||||
# Use our recipe of linux-imx-headers instead of the meta-freescale one
|
||||
PREFERRED_VERSION_linux-imx-headers ?= "4.9"
|
||||
|
||||
# Firmware
|
||||
MACHINE_FIRMWARE ?= "firmware-imx-sdma"
|
||||
MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q"
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
|||
|
||||
LOCALVERSION = "-dey"
|
||||
SRCBRANCH = "v5.4/dey-3.0/maint"
|
||||
SRCBRANCH_ccimx6 = "v4.9/dey-2.6/maint"
|
||||
SRCREV = "${AUTOREV}"
|
||||
|
||||
# Select internal or Github Linux repo
|
||||
|
|
|
|||
|
|
@ -1,89 +0,0 @@
|
|||
# Copyright (C) 2013-2018 Digi International
|
||||
|
||||
SUMMARY = "Linux kernel for Digi boards"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
|
||||
DEPENDS += "lzop-native bc-native"
|
||||
DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}"
|
||||
|
||||
inherit kernel fsl-kernel-localversion
|
||||
|
||||
require recipes-kernel/linux/linux-dey-src.inc
|
||||
require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-virtualization.inc', '', d)}
|
||||
|
||||
# Use custom provided 'defconfig' if variable KERNEL_DEFCONFIG is cleared
|
||||
SRC_URI += "${@oe.utils.conditional('KERNEL_DEFCONFIG', '', 'file://defconfig', '', d)}"
|
||||
|
||||
do_deploy[postfuncs] += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence_sign', '', d)}"
|
||||
|
||||
trustfence_sign() {
|
||||
# Set environment variables for trustfence configuration
|
||||
export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}"
|
||||
[ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}"
|
||||
[ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}"
|
||||
[ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}"
|
||||
|
||||
# Sign/encrypt the kernel images
|
||||
for type in ${KERNEL_IMAGETYPES}; do
|
||||
KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin"
|
||||
if [ "${type}" = "Image.gz" ]; then
|
||||
# Sign the uncompressed Image
|
||||
KERNEL_IMAGE=${WORKDIR}/build/arch/arm64/boot/Image
|
||||
fi
|
||||
|
||||
TMP_KERNEL_IMAGE_SIGNED="$(mktemp ${KERNEL_IMAGE}-signed.XXXXXX)"
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -l "${KERNEL_IMAGE}" "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
|
||||
if [ "${type}" = "Image.gz" ]; then
|
||||
# Compress the signed Image and restore the original filename
|
||||
gzip "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
mv "${TMP_KERNEL_IMAGE_SIGNED}.gz" "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin"
|
||||
fi
|
||||
|
||||
mv "${TMP_KERNEL_IMAGE_SIGNED}" "${KERNEL_IMAGE}"
|
||||
done
|
||||
|
||||
# Sign/encrypt the device tree blobs
|
||||
for DTB in ${KERNEL_DEVICETREE}; do
|
||||
DTB=`normalize_dtb "${DTB}"`
|
||||
DTB_EXT=${DTB##*.}
|
||||
DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
|
||||
DTB_IMAGE="${DTB_BASE_NAME}-${KERNEL_IMAGE_NAME}.${DTB_EXT}"
|
||||
|
||||
TMP_DTB_IMAGE_SIGNED="$(mktemp ${DTB_IMAGE}-signed.XXXXXX)"
|
||||
if [ "${DTB_EXT}" = "dtbo" ]; then
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -o "${DTB_IMAGE}" "${TMP_DTB_IMAGE_SIGNED}"
|
||||
else
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -d "${DTB_IMAGE}" "${TMP_DTB_IMAGE_SIGNED}"
|
||||
fi
|
||||
mv "${TMP_DTB_IMAGE_SIGNED}" "${DTB_IMAGE}"
|
||||
done
|
||||
}
|
||||
trustfence_sign[dirs] = "${DEPLOYDIR}"
|
||||
|
||||
do_deploy[vardeps] += "TRUSTFENCE_SIGN_KEYS_PATH TRUSTFENCE_KEY_INDEX TRUSTFENCE_DEK_PATH"
|
||||
|
||||
FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/config-${KERNEL_VERSION}"
|
||||
|
||||
# Don't include kernels in standard images
|
||||
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
|
||||
|
||||
# A user can provide his own kernel 'defconfig' file by:
|
||||
# - setting the variable KERNEL_DEFCONFIG to a custom kernel configuration file
|
||||
# inside the kernel repository.
|
||||
# - setting the variable KERNEL_DEFCONFIG to a kernel configuration file using
|
||||
# the full path to the file.
|
||||
# - clearing the variable KERNEL_DEFCONFIG and providing a kernel configuration
|
||||
# file in the layer (in this case the file must be named 'defconfig').
|
||||
# Otherwise the default platform's kernel configuration file will be taken from
|
||||
# the Linux source code tree.
|
||||
do_copy_defconfig[vardeps] += "KERNEL_DEFCONFIG"
|
||||
do_copy_defconfig[dirs] = "${S}"
|
||||
do_copy_defconfig () {
|
||||
if [ -n "${KERNEL_DEFCONFIG}" ]; then
|
||||
cp -f ${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig
|
||||
fi
|
||||
}
|
||||
addtask copy_defconfig after do_patch before do_preconfigure
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Copyright (C) 2019 Digi International
|
||||
|
||||
require recipes-kernel/linux/linux-dey.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6)"
|
||||
|
|
@ -1,5 +1,91 @@
|
|||
# Copyright (C) 2020 Digi International
|
||||
# Copyright (C) 2013-2020 Digi International
|
||||
|
||||
require recipes-kernel/linux/linux-dey.inc
|
||||
SUMMARY = "Linux kernel for Digi boards"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x|ccimx8m)"
|
||||
DEPENDS += "lzop-native bc-native"
|
||||
DEPENDS += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence-sign-tools-native', '', d)}"
|
||||
|
||||
inherit kernel fsl-kernel-localversion
|
||||
|
||||
require recipes-kernel/linux/linux-dey-src.inc
|
||||
require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'linux-virtualization.inc', '', d)}
|
||||
|
||||
# Use custom provided 'defconfig' if variable KERNEL_DEFCONFIG is cleared
|
||||
SRC_URI += "${@oe.utils.conditional('KERNEL_DEFCONFIG', '', 'file://defconfig', '', d)}"
|
||||
|
||||
do_deploy[postfuncs] += "${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'trustfence_sign', '', d)}"
|
||||
|
||||
trustfence_sign() {
|
||||
# Set environment variables for trustfence configuration
|
||||
export CONFIG_SIGN_KEYS_PATH="${TRUSTFENCE_SIGN_KEYS_PATH}"
|
||||
[ -n "${TRUSTFENCE_KEY_INDEX}" ] && export CONFIG_KEY_INDEX="${TRUSTFENCE_KEY_INDEX}"
|
||||
[ -n "${TRUSTFENCE_DEK_PATH}" ] && [ "${TRUSTFENCE_DEK_PATH}" != "0" ] && export CONFIG_DEK_PATH="${TRUSTFENCE_DEK_PATH}"
|
||||
[ -n "${TRUSTFENCE_SIGN_MODE}" ] && export CONFIG_SIGN_MODE="${TRUSTFENCE_SIGN_MODE}"
|
||||
|
||||
# Sign/encrypt the kernel images
|
||||
for type in ${KERNEL_IMAGETYPES}; do
|
||||
KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin"
|
||||
if [ "${type}" = "Image.gz" ]; then
|
||||
# Sign the uncompressed Image
|
||||
KERNEL_IMAGE=${WORKDIR}/build/arch/arm64/boot/Image
|
||||
fi
|
||||
|
||||
TMP_KERNEL_IMAGE_SIGNED="$(mktemp ${KERNEL_IMAGE}-signed.XXXXXX)"
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -l "${KERNEL_IMAGE}" "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
|
||||
if [ "${type}" = "Image.gz" ]; then
|
||||
# Compress the signed Image and restore the original filename
|
||||
gzip "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
mv "${TMP_KERNEL_IMAGE_SIGNED}.gz" "${TMP_KERNEL_IMAGE_SIGNED}"
|
||||
KERNEL_IMAGE="${type}-${KERNEL_IMAGE_NAME}.bin"
|
||||
fi
|
||||
|
||||
mv "${TMP_KERNEL_IMAGE_SIGNED}" "${KERNEL_IMAGE}"
|
||||
done
|
||||
|
||||
# Sign/encrypt the device tree blobs
|
||||
for DTB in ${KERNEL_DEVICETREE}; do
|
||||
DTB=`normalize_dtb "${DTB}"`
|
||||
DTB_EXT=${DTB##*.}
|
||||
DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
|
||||
DTB_IMAGE="${DTB_BASE_NAME}-${KERNEL_IMAGE_NAME}.${DTB_EXT}"
|
||||
|
||||
TMP_DTB_IMAGE_SIGNED="$(mktemp ${DTB_IMAGE}-signed.XXXXXX)"
|
||||
if [ "${DTB_EXT}" = "dtbo" ]; then
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -o "${DTB_IMAGE}" "${TMP_DTB_IMAGE_SIGNED}"
|
||||
else
|
||||
trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -d "${DTB_IMAGE}" "${TMP_DTB_IMAGE_SIGNED}"
|
||||
fi
|
||||
mv "${TMP_DTB_IMAGE_SIGNED}" "${DTB_IMAGE}"
|
||||
done
|
||||
}
|
||||
trustfence_sign[dirs] = "${DEPLOYDIR}"
|
||||
|
||||
do_deploy[vardeps] += "TRUSTFENCE_SIGN_KEYS_PATH TRUSTFENCE_KEY_INDEX TRUSTFENCE_DEK_PATH"
|
||||
|
||||
FILES_${KERNEL_PACKAGE_NAME}-image += "/boot/config-${KERNEL_VERSION}"
|
||||
|
||||
# Don't include kernels in standard images
|
||||
RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
|
||||
|
||||
# A user can provide his own kernel 'defconfig' file by:
|
||||
# - setting the variable KERNEL_DEFCONFIG to a custom kernel configuration file
|
||||
# inside the kernel repository.
|
||||
# - setting the variable KERNEL_DEFCONFIG to a kernel configuration file using
|
||||
# the full path to the file.
|
||||
# - clearing the variable KERNEL_DEFCONFIG and providing a kernel configuration
|
||||
# file in the layer (in this case the file must be named 'defconfig').
|
||||
# Otherwise the default platform's kernel configuration file will be taken from
|
||||
# the Linux source code tree.
|
||||
do_copy_defconfig[vardeps] += "KERNEL_DEFCONFIG"
|
||||
do_copy_defconfig[dirs] = "${S}"
|
||||
do_copy_defconfig () {
|
||||
if [ -n "${KERNEL_DEFCONFIG}" ]; then
|
||||
cp -f ${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig
|
||||
fi
|
||||
}
|
||||
addtask copy_defconfig after do_patch before do_preconfigure
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x|ccimx8m|ccimx6)"
|
||||
|
|
|
|||
|
|
@ -1,54 +0,0 @@
|
|||
# Copyright 2017-2018 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
SUMMARY = "Installs i.MX-specific kernel headers"
|
||||
DESCRIPTION = "Installs i.MX-specific kernel headers to userspace. \
|
||||
New headers are installed in ${includedir}/imx."
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
|
||||
require recipes-kernel/linux/linux-dey-src.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
IMX_UAPI_HEADERS = " \
|
||||
dma-buf.h \
|
||||
hantrodec.h \
|
||||
hx280enc.h \
|
||||
ion.h \
|
||||
ipu.h \
|
||||
isl29023.h \
|
||||
mxc_asrc.h \
|
||||
mxc_dcic.h \
|
||||
mxc_mlb.h \
|
||||
mxc_sim_interface.h \
|
||||
mxc_v4l2.h \
|
||||
mxcfb.h \
|
||||
pxp_device.h \
|
||||
pxp_dma.h \
|
||||
videodev2.h \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
# We install all headers inside of B so we can copy only the
|
||||
# whitelisted ones, and there is no risk of a new header to be
|
||||
# installed by mistake.
|
||||
oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix}
|
||||
|
||||
# FIXME: The ion.h is still on staging so "promote" it for now
|
||||
cp ${S}/drivers/staging/android/uapi/ion.h ${B}${includedir}/linux
|
||||
|
||||
# Install whitelisted headers only
|
||||
for h in ${IMX_UAPI_HEADERS}; do
|
||||
install -D -m 0644 ${B}${includedir}/linux/$h \
|
||||
${D}${includedir}/imx/linux/$h
|
||||
done
|
||||
}
|
||||
|
||||
DEPENDS += "rsync-native"
|
||||
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Copyright (C) 2019 Digi International
|
||||
|
||||
require recipes-kernel/linux/linux-imx-headers.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6)"
|
||||
|
|
@ -1,5 +1,56 @@
|
|||
# Copyright (C) 2020 Digi International
|
||||
# Copyright 2017-2018 NXP
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
|
||||
require recipes-kernel/linux/linux-imx-headers.inc
|
||||
SUMMARY = "Installs i.MX-specific kernel headers"
|
||||
DESCRIPTION = "Installs i.MX-specific kernel headers to userspace. \
|
||||
New headers are installed in ${includedir}/imx."
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x|ccimx8m)"
|
||||
require recipes-kernel/linux/linux-dey-src.inc
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
IMX_UAPI_HEADERS = " \
|
||||
dma-buf.h \
|
||||
hantrodec.h \
|
||||
hx280enc.h \
|
||||
ion.h \
|
||||
ipu.h \
|
||||
isl29023.h \
|
||||
mxc_asrc.h \
|
||||
mxc_dcic.h \
|
||||
mxc_mlb.h \
|
||||
mxc_sim_interface.h \
|
||||
mxc_v4l2.h \
|
||||
mxcfb.h \
|
||||
pxp_device.h \
|
||||
pxp_dma.h \
|
||||
videodev2.h \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
# We install all headers inside of B so we can copy only the
|
||||
# whitelisted ones, and there is no risk of a new header to be
|
||||
# installed by mistake.
|
||||
oe_runmake headers_install INSTALL_HDR_PATH=${B}${exec_prefix}
|
||||
|
||||
# FIXME: The ion.h is still on staging so "promote" it for now
|
||||
cp ${S}/drivers/staging/android/uapi/ion.h ${B}${includedir}/linux
|
||||
|
||||
# Install whitelisted headers only
|
||||
for h in ${IMX_UAPI_HEADERS}; do
|
||||
install -D -m 0644 ${B}${includedir}/linux/$h \
|
||||
${D}${includedir}/imx/linux/$h
|
||||
done
|
||||
}
|
||||
|
||||
DEPENDS += "rsync-native"
|
||||
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_SOCARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "(ccimx6ul|ccimx8x|ccimx8m|ccimx6)"
|
||||
|
|
|
|||
Loading…
Reference in New Issue