aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2018-04-09 12:13:55 +0200
committerNicolas Dechesne <nicolas.dechesne@linaro.org>2018-09-05 22:15:54 +0200
commitf3071ffd7eeca7e49672956e807e82b781029085 (patch)
tree8671aca73c440f5a344e30e51b66b2c203fe617e
parent7facc5174d912dbbae3d1253fc9a0f9295fc93d1 (diff)
downloadmeta-qcom-f3071ffd7eeca7e49672956e807e82b781029085.tar.gz
meta-qcom-f3071ffd7eeca7e49672956e807e82b781029085.tar.bz2
meta-qcom-f3071ffd7eeca7e49672956e807e82b781029085.zip
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. * dtbTool 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. * QCOM_BOOTIMG_BUNDLE_DT can be unset , since we longer need the DT image to boot. Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> (cherry picked from commit b97de48b1f58e339b2d40098d3369acf9b94b30f)
-rw-r--r--conf/machine/include/qcom-apq8016.inc1
-rw-r--r--conf/machine/include/qcom-apq8096.inc1
-rw-r--r--recipes-kernel/linux/linux-linaro-qcom.inc10
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
}