From 5ebb55745e59e2e00fd1fc04feeb01b986ee58f0 Mon Sep 17 00:00:00 2001 From: Nicolas Dechesne Date: Mon, 9 Apr 2018 12:13:55 +0200 Subject: kernel: append DTB to kernel image Instead of using dtbTool to create a DT image , and include it into the boot image, we append DTB to the compressed kernel image. the LK bootloader knows how to retrieve DTB , when they are appeneded to compressed kernel image. Note: * it only works with compressed image. * dtbToo also typically adds msm-ids into the DTB, recent versions of LK exist that allow a single DTB to be used without the msm-ids, in which case it will work fine. when using older LK version, it is needed to patch the kernel and include the msm-ids. Signed-off-by: Nicolas Dechesne (cherry picked from commit 4c4994c05053e73eac3622ab6f793db3eb8dbed3) (cherry picked from commit ae07326b0fc16237ade9d8447b96da445eb7bbf8) --- conf/machine/include/qcom-apq8016.inc | 1 - conf/machine/include/qcom-apq8096.inc | 1 - recipes-kernel/linux/linux-linaro-qcom.inc | 10 +++++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/conf/machine/include/qcom-apq8016.inc b/conf/machine/include/qcom-apq8016.inc index 06a30a3..801b788 100644 --- a/conf/machine/include/qcom-apq8016.inc +++ b/conf/machine/include/qcom-apq8016.inc @@ -33,4 +33,3 @@ IMAGE_ROOTFS_ALIGNMENT = "4096" QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000" QCOM_BOOTIMG_PAGE_SIZE ?= "2048" -QCOM_BOOTIMG_BUNDLE_DT ?= "1" diff --git a/conf/machine/include/qcom-apq8096.inc b/conf/machine/include/qcom-apq8096.inc index 83f6a77..b50cf8d 100644 --- a/conf/machine/include/qcom-apq8096.inc +++ b/conf/machine/include/qcom-apq8096.inc @@ -34,4 +34,3 @@ IMAGE_ROOTFS_ALIGNMENT = "4096" QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000" QCOM_BOOTIMG_PAGE_SIZE ?= "4096" -QCOM_BOOTIMG_BUNDLE_DT ?= "1" diff --git a/recipes-kernel/linux/linux-linaro-qcom.inc b/recipes-kernel/linux/linux-linaro-qcom.inc index 2b3a3ea..cabf17d 100644 --- a/recipes-kernel/linux/linux-linaro-qcom.inc +++ b/recipes-kernel/linux/linux-linaro-qcom.inc @@ -82,12 +82,12 @@ do_configure_prepend() { oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved } -# append DTB, since bootloader doesn't support DTB -do_compile_append_apq8064() { +# append DTB +do_compile_append() { if ! [ -e ${B}/arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} ] ; then oe_runmake ${KERNEL_DEVICETREE} fi - cp arch/${ARCH}/boot/zImage arch/${ARCH}/boot/zImage.backup - cat arch/${ARCH}/boot/zImage.backup arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} > arch/${ARCH}/boot/zImage - rm -f arch/${ARCH}/boot/zImage.backup + cp arch/${ARCH}/boot/${KERNEL_IMAGETYPE} arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup + cat arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} > arch/${ARCH}/boot/${KERNEL_IMAGETYPE} + rm -f arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup } -- cgit