u-boot-dey: ccmp1: refresh installer scripts for Yocto 5.0 support

This commit updates the installer scripts to support CCMP1 platforms under
Yocto 5.0, aligning them with the current behavior used for CCMP2.
Changes include:

- Adding support for the metadata partition, which is now required
- Including the optee/opteemin flavors in boot artifact filenames
- Ensuring the script structure and logic remain consistent with CCMP2 install scripts

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
Arturo Buzarra 2025-04-29 11:12:08 +02:00
parent 87aa304a2c
commit e87f7d0a5b
6 changed files with 95 additions and 42 deletions

View File

@ -85,6 +85,9 @@ build_uboot_scripts() {
-e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' \ -e 's,##GRAPHICAL_IMAGES##,${GRAPHICAL_IMAGES},g' \
-e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' \ -e 's,##DEFAULT_IMAGE_NAME##,${DEFAULT_IMAGE_NAME},g' \
${WORKDIR}/${f} > ${TMP_INSTALL_SCR} ${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 # Change the u-boot name when TrustFence is enabled
if [ "${TRUSTFENCE_SIGN}" = "1" ]; then if [ "${TRUSTFENCE_SIGN}" = "1" ]; then
if [ "${DEY_SOC_VENDOR}" = "NXP" ]; then if [ "${DEY_SOC_VENDOR}" = "NXP" ]; then

View File

@ -7,8 +7,9 @@
install_abort=0 install_abort=0
BASEFILENAME=0 BASEFILENAME=0
setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-nand.stm32 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.stm32
setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-optee.bin setenv INSTALL_METADATA_FILENAME metadata-##MACHINE##.bin
setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.bin
setenv INSTALL_MMCDEV 1 setenv INSTALL_MMCDEV 1
if test -z "${image-name}"; then 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 setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
# Check for presence of firmware files on the SD card # 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 if test "${dualboot}" != "yes"; then
FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}"
fi fi
@ -68,6 +69,8 @@ echo " PARTITION FILENAME"
echo " --------- --------" echo " --------- --------"
echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl1 ${INSTALL_ATF_FILENAME}"
echo " fsbl2 ${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-a ${INSTALL_FIP_FILENAME}"
echo " fip-b ${INSTALL_FIP_FILENAME}" echo " fip-b ${INSTALL_FIP_FILENAME}"
if test "${dualboot}" = "yes"; then if test "${dualboot}" = "yes"; then
@ -101,7 +104,7 @@ setenv forced_update 1
# the first reset. # the first reset.
setenv bootdelay 0 setenv bootdelay 0
# Update ATF and FIP images # Update ATF, METADATA and FIP images
echo "" echo ""
echo "" echo ""
echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}" echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}"
@ -123,6 +126,25 @@ if test $? -eq 1; then
fi fi
echo "" echo ""
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 ">> Installing FIP boot loader image ${INSTALL_FIP_FILENAME} (target will reset)"
echo "" echo ""
echo "" echo ""

View File

@ -7,8 +7,9 @@
install_abort=0 install_abort=0
BASEFILENAME=0 BASEFILENAME=0
setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-nand.stm32 setenv INSTALL_ATF_FILENAME tf-a-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.stm32
setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-optee.bin setenv INSTALL_METADATA_FILENAME metadata-##MACHINE##.bin
setenv INSTALL_FIP_FILENAME fip-##MACHINE##-${module_ram}-##BOOTSCHEME_DEFAULT##-nand.bin
setenv INSTALL_USBDEV 0 setenv INSTALL_USBDEV 0
if test -z "${image-name}"; then 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 setenv INSTALL_ROOTFS_FILENAME ${BASEFILENAME}-##MACHINE##.ubifs
# Check for presence of firmware files on the USB # 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 if test "${dualboot}" != "yes"; then
FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}"
fi fi
@ -70,6 +71,8 @@ echo " PARTITION FILENAME"
echo " --------- --------" echo " --------- --------"
echo " fsbl1 ${INSTALL_ATF_FILENAME}" echo " fsbl1 ${INSTALL_ATF_FILENAME}"
echo " fsbl2 ${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-a ${INSTALL_FIP_FILENAME}"
echo " fip-b ${INSTALL_FIP_FILENAME}" echo " fip-b ${INSTALL_FIP_FILENAME}"
if test "${dualboot}" = "yes"; then if test "${dualboot}" = "yes"; then
@ -103,7 +106,7 @@ setenv forced_update 1
# the first reset. # the first reset.
setenv bootdelay 0 setenv bootdelay 0
# Update ATF and FIP images # Update ATF, METADATA and FIP images
echo "" echo ""
echo "" echo ""
echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}" echo ">> Installing ATF boot loader image ${INSTALL_ATF_FILENAME}"
@ -125,6 +128,25 @@ if test $? -eq 1; then
fi fi
echo "" echo ""
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 ">> Installing FIP boot loader image ${INSTALL_FIP_FILENAME} (target will reset)"
echo "" echo ""
echo "" echo ""

View File

@ -64,11 +64,11 @@ show_usage()
# - runs 'update' command from RAM # - runs 'update' command from RAM
part_update() part_update()
{ {
echo "\033[36m" printf "\033[36m\n"
echo "=====================================================================================" printf "=====================================================================================\n"
echo "Updating '${1}' partition with file: ${2}" printf "Updating '%s' partition with file: %s\n" "${1}" "${2}"
echo "=====================================================================================" printf "=====================================================================================\n"
echo "\033[0m" printf "\033[0m\n"
uuu fb: download -f "${2}" uuu fb: download -f "${2}"
uuu "fb[-t ${3}]:" ucmd update "${1}" ram \${fastboot_buffer} \${filesize} ${ERASE} 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 # Determine ATF file to program
if [ -z "${INSTALL_ATF_FILENAME}" ]; then 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 fi
INSTALL_METADATA_FILENAME="metadata-##MACHINE##.bin"
# Determine FIP file to program # Determine FIP file to program
if [ -z "${INSTALL_FIP_FILENAME}" ]; then 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 fi
# Determine linux, recovery, and rootfs image filenames to update # 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" INSTALL_ROOTFS_FILENAME="${BASEFILENAME}-##MACHINE##.ubifs"
# Verify existence of files before starting the update # 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 if [ "${DUALBOOT}" != true ]; then
FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}" FILES="${FILES} ${INSTALL_RECOVERY_FILENAME}"
fi fi
for f in ${FILES}; do for f in ${FILES}; do
if [ ! -f ${f} ]; then if [ ! -f "${f}" ]; then
echo "\033[31m[ERROR] Could not find file '${f}'\033[0m" printf "\033[31m[ERROR] Could not find file '%s'\033[0m\n" "${f}"
ABORT=true ABORT=true
fi fi
done; done;
# Verify what kind of rootfs is going to be programmed # Verify what kind of rootfs is going to be programmed
if [ ! -f ${INSTALL_ROOTFS_FILENAME} ]; then 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" 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 if [ -f "${INSTALL_ROOTFS_FILENAME}" ]; then
SQUASHFS=true SQUASHFS=true
else 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 ABORT=true
fi fi
fi fi
@ -202,23 +202,25 @@ if [ "${NOWAIT}" != true ]; then
printf "\n" printf "\n"
printf " PARTITION\tFILENAME\n" printf " PARTITION\tFILENAME\n"
printf " ---------\t--------\n" printf " ---------\t--------\n"
printf " fsbl1\t${INSTALL_ATF_FILENAME}\n" printf " fsbl1\t%s\n" "${INSTALL_ATF_FILENAME}"
printf " fsbl2\t${INSTALL_ATF_FILENAME}\n" printf " fsbl2\t%s\n" "${INSTALL_ATF_FILENAME}"
printf " fip-a\t${INSTALL_FIP_FILENAME}\n" printf " metadata1\t%s\n" "${INSTALL_METADATA_FILENAME}"
printf " fip-b\t${INSTALL_FIP_FILENAME}\n" 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 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 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 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 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 fi
else else
printf " ${LINUX_NAME}\t${INSTALL_LINUX_FILENAME}\n" printf " %s\t%s\n" "${LINUX_NAME}" "${INSTALL_LINUX_FILENAME}"
printf " ${RECOVERY_NAME}\t${INSTALL_RECOVERY_FILENAME}\n" printf " %s\t%s\n" "${RECOVERY_NAME}" "${INSTALL_RECOVERY_FILENAME}"
printf " ${ROOTFS_NAME}\t${INSTALL_ROOTFS_FILENAME}\n" printf " %s\t%s\n" "${ROOTFS_NAME}" "${INSTALL_ROOTFS_FILENAME}"
fi fi
printf "\n" printf "\n"
printf " Press CTRL+C now if you wish to abort.\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 while [ ${WAIT} -gt 0 ]; do
printf "\r Update process starts in %d " ${WAIT} printf "\r Update process starts in %d " ${WAIT}
sleep 1 sleep 1
WAIT=$(( ${WAIT} - 1 )) WAIT="$((WAIT - 1))"
done done
printf "\r \n" printf "\r \n"
printf " Starting update process\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 "fsbl1" "${INSTALL_ATF_FILENAME}" 5000
part_update "fsbl2" "${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 # Update FIP
part_update "fip-a" "${INSTALL_FIP_FILENAME}" 5000 part_update "fip-a" "${INSTALL_FIP_FILENAME}" 5000
part_update "fip-b" "${INSTALL_FIP_FILENAME}" 5000 part_update "fip-b" "${INSTALL_FIP_FILENAME}" 5000
@ -315,7 +321,7 @@ else
fi fi
# Set the dboot_kernel_var to fitimage if Trustfence is enabled # 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 setenv dboot_kernel_var fitimage
uuu fb: ucmd saveenv uuu fb: ucmd saveenv
fi fi
@ -330,10 +336,10 @@ uuu fb: ucmd bootcount reset
# Reset the target # Reset the target
uuu fb: acmd reset uuu fb: acmd reset
echo "\033[32m" printf "\033[32m\n"
echo "=============================================================" printf "=============================================================\n"
echo "Done! Wait for the target to complete first boot process." printf "Done! Wait for the target to complete first boot process.\n"
echo "=============================================================" printf "=============================================================\n"
echo "\033[0m" printf "\033[0m\n"
exit exit

View File

@ -127,7 +127,7 @@ if test $? -eq 1; then
fi fi
echo "" echo ""
echo "" echo ""
echo ">> Installing METADATA boot loader image ${INSTALL_ATF_FILENAME}" echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}"
echo "" echo ""
echo "" echo ""
update metadata1 mmc ${INSTALL_MMCDEV} ${INSTALL_METADATA_FILENAME} update metadata1 mmc ${INSTALL_MMCDEV} ${INSTALL_METADATA_FILENAME}

View File

@ -127,7 +127,7 @@ if test $? -eq 1; then
fi fi
echo "" echo ""
echo "" echo ""
echo ">> Installing METADATA boot loader image ${INSTALL_ATF_FILENAME}" echo ">> Installing METADATA boot loader image ${INSTALL_METADATA_FILENAME}"
echo "" echo ""
echo "" echo ""
update metadata1 usb ${INSTALL_USBDEV} ${INSTALL_METADATA_FILENAME} update metadata1 usb ${INSTALL_USBDEV} ${INSTALL_METADATA_FILENAME}