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 4d0edc6c9..4fc8bd759 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 @@ -85,6 +85,9 @@ build_uboot_scripts() { -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' \ -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' \ ${WORKDIR}/${f} > ${TMP_INSTALL_SCR} + if [ "${DEY_SOC_VENDOR}" = "STM" ]; then + sed -i -e 's,##BOOTSCHEME_DEFAULT##,${BOOTSCHEME_DEFAULT},g' ${TMP_INSTALL_SCR} + fi # Change the u-boot name when TrustFence is enabled if [ "${TRUSTFENCE_SIGN}" = "1" ]; then if [ "${DEY_SOC_VENDOR}" = "NXP" ]; then diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt index 1b02a2b78..feb94734e 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_sd.txt @@ -7,8 +7,9 @@ install_abort=0 BASEFILENAME=0 -setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-optee.bin +setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.stm32 +setenv INSTALL_METADATA_FILENAME metadata-##MACHINE##.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.bin setenv INSTALL_MMCDEV 1 if test -z "${image-name}"; then @@ -28,7 +29,7 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs # Check for presence of firmware files on the SD card -FILES="${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" +FILES="${INSTALL_ATF_FILENAME} ${INSTALL_METADATA_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" if test "${dualboot}" != "yes"; then FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" fi @@ -68,6 +69,8 @@ echo " PARTITION FILENAME" echo " --------- --------" echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl2 ${INSTALL_ATF_FILENAME}" +echo " metadata1 ${INSTALL_METADATA_FILENAME}" +echo " metadata2 ${INSTALL_METADATA_FILENAME}" echo " fip-a ${INSTALL_FIP_FILENAME}" echo " fip-b ${INSTALL_FIP_FILENAME}" if test "${dualboot}" = "yes"; then @@ -101,7 +104,7 @@ setenv forced_update 1 # the first reset. setenv bootdelay 0 -# Update ATF and FIP images +# Update ATF, METADATA and FIP images echo "" echo "" echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}" @@ -123,6 +126,25 @@ if test $? -eq 1; then fi echo "" echo "" +echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}" +echo "" +echo "" +update metadata1 mmc ${INSTALL_MMCDEV} ${INSTALL_METADATA_FILENAME} +if test $? -eq 1; then + echo "[ERROR] Failed to update metadata1!"; + echo ""; + echo "Aborted."; + exit; +fi +update metadata2 mmc ${INSTALL_MMCDEV} ${INSTALL_METADATA_FILENAME} +if test $? -eq 1; then + echo "[ERROR] Failed to update metadata2!"; + echo ""; + echo "Aborted."; + exit; +fi +echo "" +echo "" echo ">> Installing FIP boot loader image ${INSTALL_FIP_FILENAME} (target will reset)" echo "" echo "" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt index 73afcbffc..c491b64ee 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_usb.txt @@ -7,8 +7,9 @@ install_abort=0 BASEFILENAME=0 -setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-nand.stm32 -setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-optee.bin +setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.stm32 +setenv INSTALL_METADATA_FILENAME metadata-##MACHINE##.bin +setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.bin setenv INSTALL_USBDEV 0 if test -z "${image-name}"; then @@ -28,7 +29,7 @@ setenv INSTALL_RECOVERY_FILENAME ${BASEFILENAME}-##MACHINE##.recovery.ubifs setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs # Check for presence of firmware files on the USB -FILES="${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" +FILES="${INSTALL_ATF_FILENAME} ${INSTALL_METADATA_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" if test "${dualboot}" != "yes"; then FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" fi @@ -70,6 +71,8 @@ echo " PARTITION FILENAME" echo " --------- --------" echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl2 ${INSTALL_ATF_FILENAME}" +echo " metadata1 ${INSTALL_METADATA_FILENAME}" +echo " metadata2 ${INSTALL_METADATA_FILENAME}" echo " fip-a ${INSTALL_FIP_FILENAME}" echo " fip-b ${INSTALL_FIP_FILENAME}" if test "${dualboot}" = "yes"; then @@ -103,7 +106,7 @@ setenv forced_update 1 # the first reset. setenv bootdelay 0 -# Update ATF and FIP images +# Update ATF, METADATA and FIP images echo "" echo "" echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}" @@ -125,6 +128,25 @@ if test $? -eq 1; then fi echo "" echo "" +echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}" +echo "" +echo "" +update metadata1 usb ${INSTALL_USBDEV} ${INSTALL_METADATA_FILENAME} +if test $? -eq 1; then + echo "[ERROR] Failed to update metadata1!"; + echo ""; + echo "Aborted."; + exit; +fi +update metadata2 usb ${INSTALL_USBDEV} ${INSTALL_METADATA_FILENAME} +if test $? -eq 1; then + echo "[ERROR] Failed to update metadata2!"; + echo ""; + echo "Aborted."; + exit; +fi +echo "" +echo "" echo ">> Installing FIP boot loader image ${INSTALL_FIP_FILENAME} (target will reset)" echo "" echo "" diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh index 1f9f995ba..031202e1e 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp1/install_linux_fw_uuu.sh @@ -64,11 +64,11 @@ show_usage() # - runs 'update' command from RAM part_update() { - echo "\033[36m" - echo "=====================================================================================" - echo "Updating '${1}' partition with file: ${2}" - echo "=====================================================================================" - echo "\033[0m" + printf "\033[36m\n" + printf "=====================================================================================\n" + printf "Updating '%s' partition with file: %s\n" "${1}" "${2}" + printf "=====================================================================================\n" + printf "\033[0m\n" uuu fb: download -f "${2}" uuu "fb[-t ${3}]:" ucmd update "${1}" ram \${fastboot_buffer} \${filesize} ${ERASE} @@ -128,12 +128,13 @@ echo "Determining image files to use..." # Determine ATF file to program if [ -z "${INSTALL_ATF_FILENAME}" ]; then - INSTALL_ATF_FILENAME="tf-a-##MACHINE##-${module_ram}-optee-nand.stm32##SIGNED##" + INSTALL_ATF_FILENAME="tf-a-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand##SIGNED##.stm32" fi +INSTALL_METADATA_FILENAME="metadata-##MACHINE##.bin" # Determine FIP file to program if [ -z "${INSTALL_FIP_FILENAME}" ]; then - INSTALL_FIP_FILENAME="fip-##MACHINE##-${module_ram}-optee-nand##SIGNED##.bin" + INSTALL_FIP_FILENAME="fip-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand##SIGNED##.bin" fi # Determine linux, recovery, and rootfs image filenames to update @@ -154,27 +155,26 @@ INSTALL_RECOVERY_FILENAME="${BASEFILENAME}-##MACHINE##.recovery.ubifs" INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ubifs" # Verify existence of files before starting the update -FILES="${INSTALL_ATF_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" +FILES="${INSTALL_ATF_FILENAME} ${INSTALL_METADATA_FILENAME} ${INSTALL_FIP_FILENAME} ${INSTALL_LINUX_FILENAME}" if [ "${DUALBOOT}" != true ]; then FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" fi - for f in ${FILES}; do - if [ ! -f ${f} ]; then - echo "\033[31m[ERROR] Could not find file '${f}'\033[0m" + if [ ! -f "${f}" ]; then + printf "\033[31m[ERROR] Could not find file '%s'\033[0m\n" "${f}" ABORT=true fi done; # Verify what kind of rootfs is going to be programmed if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then - echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m" + printf "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m\n" INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.squashfs" - echo "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m" + printf "\033[32m[INFO] Trying with file '${INSTALL_ROOTFS_FILENAME}'\033[0m\n" if [ -f "${INSTALL_ROOTFS_FILENAME}" ]; then SQUASHFS=true else - echo "\033[31m[ERROR] Could not find file '${INSTALL_ROOTFS_FILENAME}'\033[0m" + printf "\033[31m[ERROR] Could not find any rootfs image\033[0m\n" ABORT=true fi fi @@ -202,23 +202,25 @@ if [ "${NOWAIT}" != true ]; then printf "\n" printf " PARTITION\tFILENAME\n" printf " ---------\t--------\n" - printf " fsbl1\t${INSTALL_ATF_FILENAME}\n" - printf " fsbl2\t${INSTALL_ATF_FILENAME}\n" - printf " fip-a\t${INSTALL_FIP_FILENAME}\n" - printf " fip-b\t${INSTALL_FIP_FILENAME}\n" + printf " fsbl1\t%s\n" "${INSTALL_ATF_FILENAME}" + printf " fsbl2\t%s\n" "${INSTALL_ATF_FILENAME}" + printf " metadata1\t%s\n" "${INSTALL_METADATA_FILENAME}" + printf " metadata2\t%s\n" "${INSTALL_METADATA_FILENAME}" + printf " fip-a\t%s\n" "${INSTALL_FIP_FILENAME}" + printf " fip-b\t%s\n" "${INSTALL_FIP_FILENAME}" if [ "${DUALBOOT}" = true ]; then - printf " ${LINUX_NAME}_a\t${INSTALL_LINUX_FILENAME}\n" + printf " %s_a\t%s\n" "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}" if [ "${INSTALL_DUALBOOT}" = true ]; then - printf " ${LINUX_NAME}_b\t${INSTALL_LINUX_FILENAME}\n" + printf " %s_b\t%s\n" "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}" fi - printf " ${ROOTFS_NAME}_a\t${INSTALL_ROOTFS_FILENAME}\n" + printf " %s_a\t%s\n" "${ROOTFS_NAME}" "${INSTALL_ROOTFS_FILENAME}" if [ "${INSTALL_DUALBOOT}" = true ]; then - printf " ${ROOTFS_NAME}_b\t${INSTALL_ROOTFS_FILENAME}\n" + printf " %s_b\t%s\n" "${ROOTFS_NAME}" "${INSTALL_ROOTFS_FILENAME}" fi else - printf " ${LINUX_NAME}\t${INSTALL_LINUX_FILENAME}\n" - printf " ${RECOVERY_NAME}\t${INSTALL_RECOVERY_FILENAME}\n" - printf " ${ROOTFS_NAME}\t${INSTALL_ROOTFS_FILENAME}\n" + printf " %s\t%s\n" "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}" + printf " %s\t%s\n" "${RECOVERY_NAME}" "${INSTALL_RECOVERY_FILENAME}" + printf " %s\t%s\n" "${ROOTFS_NAME}" "${INSTALL_ROOTFS_FILENAME}" fi printf "\n" printf " Press CTRL+C now if you wish to abort.\n" @@ -226,7 +228,7 @@ if [ "${NOWAIT}" != true ]; then while [ ${WAIT} -gt 0 ]; do printf "\r Update process starts in %d " ${WAIT} sleep 1 - WAIT=$(( ${WAIT} - 1 )) + WAIT="$((WAIT - 1))" done printf "\r \n" printf " Starting update process\n" @@ -242,6 +244,10 @@ uuu fb: ucmd setenv forced_update 1 part_update "fsbl1" "${INSTALL_ATF_FILENAME}" 5000 part_update "fsbl2" "${INSTALL_ATF_FILENAME}" 5000 +# Update metadata +part_update "metadata1" "${INSTALL_METADATA_FILENAME}" 5000 +part_update "metadata2" "${INSTALL_METADATA_FILENAME}" 5000 + # Update FIP part_update "fip-a" "${INSTALL_FIP_FILENAME}" 5000 part_update "fip-b" "${INSTALL_FIP_FILENAME}" 5000 @@ -315,7 +321,7 @@ else fi # Set the dboot_kernel_var to fitimage if Trustfence is enabled -if [ "${TRUSTFENCE}" = "true" ] || echo "$INSTALL_UBOOT_FILENAME" | grep -q -e "signed"; then +if [ "${TRUSTFENCE}" = "true" ] || echo "${INSTALL_FIP_FILENAME}" | grep -q -e "Signed"; then uuu fb: ucmd setenv dboot_kernel_var fitimage uuu fb: ucmd saveenv fi @@ -330,10 +336,10 @@ uuu fb: ucmd bootcount reset # Reset the target uuu fb: acmd reset -echo "\033[32m" -echo "=============================================================" -echo "Done! Wait for the target to complete first boot process." -echo "=============================================================" -echo "\033[0m" +printf "\033[32m\n" +printf "=============================================================\n" +printf "Done! Wait for the target to complete first boot process.\n" +printf "=============================================================\n" +printf "\033[0m\n" exit diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_sd.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_sd.txt index 958bc1da0..46b3df7fe 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_sd.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_sd.txt @@ -127,7 +127,7 @@ if test $? -eq 1; then fi echo "" echo "" -echo ">> Installing METADATA boot loader image ${INSTALL_ATF_FILENAME}" +echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}" echo "" echo "" update metadata1 mmc ${INSTALL_MMCDEV} ${INSTALL_METADATA_FILENAME} diff --git a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_usb.txt b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_usb.txt index 7c7e97106..ae5bd9ae7 100644 --- a/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_usb.txt +++ b/meta-digi-arm/recipes-bsp/u-boot/u-boot-dey/ccmp2/install_linux_fw_usb.txt @@ -127,7 +127,7 @@ if test $? -eq 1; then fi echo "" echo "" -echo ">> Installing METADATA boot loader image ${INSTALL_ATF_FILENAME}" +echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}" echo "" echo "" update metadata1 usb ${INSTALL_USBDEV} ${INSTALL_METADATA_FILENAME}