meta-digi/meta-digi-arm/recipes-kernel/linux/linux-dey.inc

93 lines
2.6 KiB
PHP

# Copyright (C) 2013 Digi International
# Copyright (C) 2012 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
DESCRIPTION = "Linux kernel for Digi's imx based platforms"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
INC_PR = "r0"
inherit kernel
# Put a local version until we have a true SRCREV to point to
LOCALVERSION ?= "+dey"
SCMVERSION ?= "y"
# Add imx-test support hacks
IMX_TEST_SUPPORT ?= "y"
SRC_URI_external = "${DIGI_GITHUB_GIT}/yocto-linux.git;protocol=git"
SRC_URI_internal = "${DIGI_GIT}linux-2.6.git;protocol=git;branch=${KBRANCH}"
SRC_URI = " \
${@base_conditional('DIGI_INTERNAL_GIT', '1' , '${SRC_URI_internal}', '${SRC_URI_external}', d)} \
file://defconfig \
${KERNEL_CFG_FRAGS} \
"
S = "${WORKDIR}/git"
# We need to pass it as param since kernel might support more then one
# machine, with different entry points
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
FILES_kernel-image += "/boot/config*"
kernel_conf_variable() {
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
if test "$2" = "n"
then
echo "# CONFIG_$1 is not set" >> ${S}/.config
else
echo "CONFIG_$1=$2" >> ${S}/.config
fi
}
do_configure_prepend() {
echo "" > ${S}/.config
CONF_SED_SCRIPT=""
kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
kernel_conf_variable LOCALVERSION_AUTO y
sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config'
for i in $(echo ${WORKDIR}/*.cfg); do
[ "${i}" = "${WORKDIR}/*.cfg" ] && continue
cat ${i} >> '${S}/.config'
done
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
head=`git rev-parse --verify --short HEAD 2> /dev/null`
printf "%s%s" +g $head > ${S}/.scmversion
fi
}
do_deploy_append() {
cd ${DEPLOYDIR}
ln -sf ${KERNEL_IMAGE_BASE_NAME}.bin ${KERNEL_IMAGE_SYMLINK_NAME}
cd -
}
# install nedded headers for imx-test compilation
do_install_append() {
if [ "${IMX_TEST_SUPPORT}" = "y" ]; then
# bounds.h may be used by a module and is currently missing
if [ -d include/generated ]; then
cp -r include/generated/* $kerneldir/include/generated/
fi
# Host architecture object file
rm -f $kerneldir/scripts/kconfig/kxgettext.o
fi
}
sysroot_stage_all_append() {
# Copy native binaries need for imx-test build onto sysroot
mkdir -p ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}/scripts/basic \
${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}/scripts/mod
cp ${S}/scripts/basic/fixdep ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}/scripts/basic
cp ${S}/scripts/mod/modpost ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}/scripts/mod
}