diff --git a/classes-recipe/image_types_qcom.bbclass b/classes-recipe/image_types_qcom.bbclass index 8fd61fb6f..2eb99fa87 100644 --- a/classes-recipe/image_types_qcom.bbclass +++ b/classes-recipe/image_types_qcom.bbclass @@ -144,7 +144,19 @@ create_qcomflash_pkg() { # SPI-NOR firmware, partition bins, CDT etc. if [ -d "${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor" ]; then install -d spinor - find "${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor" -maxdepth 1 -type f -exec install -m 0644 {} spinor \; + # spinor boot firmware + for bfw in `find ${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor -maxdepth 1 -type f \ + \( -name '*.bin' -o \ + -name '*.elf' -o \ + -name '*.fv' -o \ + -name '*.lzma' -o \ + -name '*.mbn' -o \ + -name '*.melf' -o \ + -name '*.xz' -o \ + -name 'qsahara_*.xml' \) \ + ! -name 'uefi_dtbs*.xz'` ; do + install -m 0644 ${bfw} spinor + done # partition bins/xml files if [ -n "${QCOM_PARTITION_FILES_SUBDIR_SPINOR}" ]; then @@ -156,6 +168,12 @@ create_qcomflash_pkg() { install -m 0644 ${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor/${QCOM_CDT_FILE}.bin spinor/cdt.bin fi + # uefi dtb + if [ -n "${QCOM_UEFI_DTB}" ] && \ + [ -f "${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor/${QCOM_UEFI_DTB}" ]; then + install -m 0644 "${DEPLOY_DIR_IMAGE}/${QCOM_BOOT_FILES_SUBDIR}/spinor/${QCOM_UEFI_DTB}" spinor/uefi_dtbs.xz + fi + # dtb image if [ -n "${QCOM_DTB_FILE}" ]; then install -m 0644 ${DEPLOY_DIR_IMAGE}/dtb-${QCOM_DTB_DEFAULT}-image.vfat spinor/${QCOM_DTB_FILE} diff --git a/conf/machine/include/qcom-common.inc b/conf/machine/include/qcom-common.inc index 63a34dec5..b1fc4e5e5 100644 --- a/conf/machine/include/qcom-common.inc +++ b/conf/machine/include/qcom-common.inc @@ -37,6 +37,9 @@ IMAGE_ROOTFS_ALIGNMENT ?= "4096" # XBL Config selection QCOM_XBL_CONFIG ?= "${@bb.utils.contains("MACHINE_FEATURES", "kvm", "xbl_config_kvm.elf", "xbl_config.elf", d)}" +# UEFI DTB selection +QCOM_UEFI_DTB ?= "${@bb.utils.contains("MACHINE_FEATURES", "kvm", "uefi_dtbs_kvm.xz", "uefi_dtbs.xz", d)}" + # Android boot image settings QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000" QCOM_BOOTIMG_PAGE_SIZE ?= "4096"