summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2015-05-14 14:31:11 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-26 10:57:41 +0100
commit86b3f29f93e3f87903668ea317c6bd97be4cdf62 (patch)
tree0b2f845a047f7728a2cee296a2e7c934d0966daa
parent2d1f700ad098c942834524891ccc90e3a391a09f (diff)
downloadopenembedded-core-contrib-86b3f29f93e3f87903668ea317c6bd97be4cdf62.tar.gz
openembedded-core-contrib-86b3f29f93e3f87903668ea317c6bd97be4cdf62.tar.bz2
openembedded-core-contrib-86b3f29f93e3f87903668ea317c6bd97be4cdf62.zip
kernel: Build DTBs early
Pull out the compilation of the DTB blobs right after the kernel's own do_compile function finishes. This makes them available just in time for the kernel image construction functions. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Koen Kooi <koen@dominion.thruhere.net> Cc: Paul Eggleton <paul.eggleton@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/linux/linux-dtb.inc14
1 files changed, 12 insertions, 2 deletions
diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc
index 6b8f1a54b8..ee3a5e1b98 100644
--- a/meta/recipes-kernel/linux/linux-dtb.inc
+++ b/meta/recipes-kernel/linux/linux-dtb.inc
@@ -5,6 +5,18 @@ python __anonymous () {
d.appendVar("PACKAGES", " kernel-devicetree")
}
+do_compile_append() {
+ if test -n "${KERNEL_DEVICETREE}"; then
+ for DTB in ${KERNEL_DEVICETREE}; do
+ if echo ${DTB} | grep -q '/dts/'; then
+ bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
+ DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
+ fi
+ oe_runmake ${DTB}
+ done
+ fi
+}
+
do_install_append() {
if test -n "${KERNEL_DEVICETREE}"; then
for DTB in ${KERNEL_DEVICETREE}; do
@@ -13,10 +25,8 @@ do_install_append() {
DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
fi
DTB_BASE_NAME=`basename ${DTB} .dtb`
- DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
DTB_PATH="${B}/arch/${ARCH}/boot/dts/${DTB}"
- oe_runmake ${DTB}
if [ ! -e "${DTB_PATH}" ]; then
DTB_PATH="${B}/arch/${ARCH}/boot/${DTB}"
fi