From eeb5ffd4d49191c579ba8d6e3a69026de833f0f4 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Wed, 21 Dec 2022 15:48:06 +0100 Subject: [PATCH] u-boot-dey: rework installation of firmware deploying scripts Rework the "build_uboot_scripts" to prevent changing the templates in the WORKDIR, as those are part of the SRC_URI. Instead, change the deployed scripts by using "sed" and redirection. Also, removed UBOOT_HAS_FASTBOOT altogether, as there is no platform that does not support fastboot. Signed-off-by: Javier Viguera --- meta-digi-arm/conf/machine/ccmp13-dvk.conf | 1 - meta-digi-arm/conf/machine/ccmp15-dvk.conf | 1 - meta-digi-arm/conf/machine/include/ccimx6.inc | 1 - .../conf/machine/include/ccimx6ul.inc | 1 - .../conf/machine/include/ccimx8m.inc | 1 - .../conf/machine/include/ccimx8x.inc | 1 - .../conf/machine/include/ccimx93.inc | 1 - .../recipes-bsp/u-boot/u-boot-dey.inc | 43 ++++++++++--------- 8 files changed, 23 insertions(+), 27 deletions(-) diff --git a/meta-digi-arm/conf/machine/ccmp13-dvk.conf b/meta-digi-arm/conf/machine/ccmp13-dvk.conf index a0454d185..9baf6383a 100644 --- a/meta-digi-arm/conf/machine/ccmp13-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp13-dvk.conf @@ -29,7 +29,6 @@ UBOOT_CONFIG[ccmp13-dvk] = "ccmp13-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" UBOOT_DTB_NAME = "ccmp13-dvk.dtb" UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" diff --git a/meta-digi-arm/conf/machine/ccmp15-dvk.conf b/meta-digi-arm/conf/machine/ccmp15-dvk.conf index 7f4c01b74..4745613cf 100644 --- a/meta-digi-arm/conf/machine/ccmp15-dvk.conf +++ b/meta-digi-arm/conf/machine/ccmp15-dvk.conf @@ -29,7 +29,6 @@ UBOOT_CONFIG[ccmp15-dvk] = "ccmp15-dvk_defconfig,,u-boot-dtb.${UBOOT_SUFFIX}" UBOOT_DTB_NAME = "ccmp15-dvk.dtb" UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # Set U-Boot FIP settings FIP_UBOOT_DTB = "u-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx6.inc b/meta-digi-arm/conf/machine/include/ccimx6.inc index dca989cfb..08df3421a 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv7a/tune-cortexa9.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "imx" -UBOOT_HAS_FASTBOOT = "true" # Linux kernel configuration KERNEL_DEFCONFIG ?= "arch/arm/configs/ccimx6sbc_defconfig" diff --git a/meta-digi-arm/conf/machine/include/ccimx6ul.inc b/meta-digi-arm/conf/machine/include/ccimx6ul.inc index 6b83e56ed..6825c11ed 100644 --- a/meta-digi-arm/conf/machine/include/ccimx6ul.inc +++ b/meta-digi-arm/conf/machine/include/ccimx6ul.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv7a/tune-cortexa7.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "imx" -UBOOT_HAS_FASTBOOT = "true" STORAGE_MEDIA = "mtd" diff --git a/meta-digi-arm/conf/machine/include/ccimx8m.inc b/meta-digi-arm/conf/machine/include/ccimx8m.inc index 53e41755d..ef5ec1caf 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8m.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8m.inc @@ -8,7 +8,6 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc # Platform u-boot settings UBOOT_PREFIX = "imx-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS += "imx-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx8x.inc b/meta-digi-arm/conf/machine/include/ccimx8x.inc index c585a5895..dbbf49b54 100644 --- a/meta-digi-arm/conf/machine/include/ccimx8x.inc +++ b/meta-digi-arm/conf/machine/include/ccimx8x.inc @@ -11,7 +11,6 @@ include conf/machine/include/arm/armv8a/tune-cortexa35.inc # Platform u-boot settings UBOOT_PREFIX = "imx-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" # The bootloader image that gets flashed consists of U-Boot and several fw binaries EXTRA_IMAGEDEPENDS += "imx-boot" diff --git a/meta-digi-arm/conf/machine/include/ccimx93.inc b/meta-digi-arm/conf/machine/include/ccimx93.inc index 816270ab5..238405576 100644 --- a/meta-digi-arm/conf/machine/include/ccimx93.inc +++ b/meta-digi-arm/conf/machine/include/ccimx93.inc @@ -12,7 +12,6 @@ require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc # Platform u-boot settings UBOOT_PREFIX = "u-boot" UBOOT_SUFFIX = "bin" -UBOOT_HAS_FASTBOOT = "true" EXTRA_IMAGEDEPENDS += "imx-boot" BOOTLOADER_IMAGE_RECIPE = "imx-boot" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc index 088eef7a5..013b8f913 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey.inc @@ -19,13 +19,17 @@ UBOOT_URI_STASH = "${DIGI_MTK_GIT}/uboot/u-boot-denx.git;protocol=ssh" UBOOT_URI_GITHUB = "${DIGI_GITHUB_GIT}/u-boot.git;protocol=https" UBOOT_GIT_URI ?= "${@oe.utils.conditional('DIGI_INTERNAL_GIT', '1' , '${UBOOT_URI_STASH}', '${UBOOT_URI_GITHUB}', d)}" +INSTALL_FW_UBOOT_SCRIPTS = " \ + file://install_linux_fw_sd.txt \ + file://install_linux_fw_usb.txt \ + file://install_linux_fw_uuu.sh \ +" + SRC_URI = " \ ${UBOOT_GIT_URI};branch=${SRCBRANCH} \ file://altboot.txt \ file://boot.txt \ - file://install_linux_fw_sd.txt \ - file://install_linux_fw_usb.txt \ - ${@oe.utils.conditional('UBOOT_HAS_FASTBOOT', 'true', 'file://install_linux_fw_uuu.sh', '', d)} \ + ${INSTALL_FW_UBOOT_SCRIPTS} \ " BUILD_UBOOT_SCRIPTS ?= "true" @@ -56,27 +60,27 @@ def tf_bootscript_sedfilter(d): return "s,\(^[[:blank:]]*\)true.*,\\1setenv boot_initrd true\\n\\1setenv initrd_file %s-${MACHINE}.cpio.gz.u-boot.tf,g" % tf_initramfs if tf_initramfs else "" build_uboot_scripts() { - # DEY firmware install scripts - sed -i -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##MACHINE##,${MACHINE},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - sed -i -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' ${WORKDIR}/install_linux_fw_sd.txt ${WORKDIR}/install_linux_fw_usb.txt - mkimage -T script -n "DEY firmware install script" -C none -d ${WORKDIR}/install_linux_fw_sd.txt ${DEPLOYDIR}/install_linux_fw_sd.scr - mkimage -T script -n "DEY firmware install script" -C none -d ${WORKDIR}/install_linux_fw_usb.txt ${DEPLOYDIR}/install_linux_fw_usb.scr - - if [ "${@oe.utils.conditional('UBOOT_HAS_FASTBOOT', 'true', 'true', '', d)}" = "true" ]; then - # DEY firmware install uuu script - sed -i -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##MACHINE##,${MACHINE},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' ${WORKDIR}/install_linux_fw_uuu.sh - sed -i -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' ${WORKDIR}/install_linux_fw_uuu.sh - install -m 775 ${WORKDIR}/install_linux_fw_uuu.sh ${DEPLOYDIR}/ - fi + for f in $(echo ${INSTALL_FW_UBOOT_SCRIPTS} | sed -e 's,file\:\/\/,,g'); do + f_ext="${f##*.}" + TMP_INSTALL_SCR="$(mktemp ${WORKDIR}/${f}.XXXXXX)" + sed -e 's,##GRAPHICAL_BACKEND##,${GRAPHICAL_BACKEND},g' \ + -e 's,##MACHINE##,${MACHINE},g' \ + -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' \ + -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' \ + ${WORKDIR}/${f} > ${TMP_INSTALL_SCR} + if [ "${f_ext}" = "txt" ]; then + mkimage -T script -n "DEY firmware install script" -C none -d ${TMP_INSTALL_SCR} ${DEPLOYDIR}/${f%.*}.scr + else + install -m 775 ${TMP_INSTALL_SCR} ${DEPLOYDIR}/${f} + fi + rm -f ${TMP_INSTALL_SCR} + done # Boot script for DEY images (reconfigure on-the-fly if TRUSTFENCE is enabled) TMP_BOOTSCR="$(mktemp ${WORKDIR}/bootscr.XXXXXX)" sed -e "${TF_BOOTSCRIPT_SEDFILTER}" ${WORKDIR}/boot.txt > ${TMP_BOOTSCR} mkimage -T script -n bootscript -C none -d ${TMP_BOOTSCR} ${DEPLOYDIR}/boot.scr + rm -f ${TMP_BOOTSCR} # Alternate boot script for dualboot mkimage -T script -n "Alternate bootscript" -C none -d ${WORKDIR}/altboot.txt ${DEPLOYDIR}/altboot.scr @@ -97,7 +101,6 @@ build_uboot_scripts() { trustfence-sign-artifact.sh -p "${DIGI_FAMILY}" -b "${DEPLOYDIR}/altboot.scr" "${TMP_SIGNED_BOOTSCR}" mv "${TMP_SIGNED_BOOTSCR}" "${DEPLOYDIR}/altboot.scr" fi - rm -f ${TMP_BOOTSCR} } do_deploy:append() {