74 lines
2.8 KiB
PHP
74 lines
2.8 KiB
PHP
# Copyright (C) 2018-2024, Digi International Inc.
|
|
SUMMARY = "Linux kernel for Digi boards"
|
|
LICENSE = "GPL-2.0-only"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
|
|
|
inherit kernel
|
|
require ${@oe.utils.conditional('TRUSTFENCE_SIGN', '1', 'recipes-kernel/linux/linux-trustfence.inc', '', d)}
|
|
|
|
# CONFIG_KERNEL_LZO in defconfig
|
|
DEPENDS += "${@oe.utils.conditional('DEY_SOC_VENDOR', 'NXP', 'lzop-native', '', d)}"
|
|
|
|
SRC_URI = " \
|
|
${LINUX_GIT_URI};branch=${SRCBRANCH} \
|
|
${@oe.utils.conditional('KERNEL_DEFCONFIG', '', 'file://defconfig', '', d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'file://docker_conf.cfg', '', d)} \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'tsn', 'file://tsn_conf.cfg', '', d)} \
|
|
${@oe.utils.vartrue('TRUSTFENCE_FILE_BASED_ENCRYPT', 'file://fscrypt.cfg', '', d)} \
|
|
"
|
|
S = "${WORKDIR}/git"
|
|
|
|
KERNEL_LOCALVERSION = "-dey"
|
|
|
|
# Create base DTB suitable for overlays
|
|
OVERLAYS_DTC_FLAGS = "-@"
|
|
OVERLAYS_DTC_FLAGS:ccimx6ul = ""
|
|
OVERLAYS_DTC_FLAGS:ccimx6 = ""
|
|
KERNEL_DTC_FLAGS = "${OVERLAYS_DTC_FLAGS}"
|
|
|
|
# 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 before do_configure after do_patch
|
|
|
|
# Apply configuration fragments
|
|
do_configure:append() {
|
|
# Only accept fragments ending in .cfg. If the fragments contain
|
|
# something other than kernel configs, it will be filtered out
|
|
# automatically.
|
|
if [ -n "${@' '.join(find_cfgs(d))}" ]; then
|
|
${S}/scripts/kconfig/merge_config.sh -m -O ${B} ${B}/.config ${@" ".join(find_cfgs(d))}
|
|
fi
|
|
# Apply ST-specific config fragments (ending in .config and stored in a different folder)
|
|
if [ ! -z "${KERNEL_CONFIG_FRAGMENTS}" ]; then
|
|
for f in ${KERNEL_CONFIG_FRAGMENTS}
|
|
do
|
|
# Check if the config fragment was copied into the WORKDIR from
|
|
# the OE meta data
|
|
if [ ! -e "$f" ]; then
|
|
bb_warn "Could not find kernel config fragment $f"
|
|
exit 1
|
|
fi
|
|
done
|
|
# Now that all the fragments are located merge them.
|
|
(${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
|
|
fi
|
|
}
|
|
|
|
# Don't create custom folder for kernel artifacts
|
|
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
|