2024-04-03 07:12 AM
Hello everyone,
we have developed a custom board based on stm32mp157 chip. We also forked the tf-a and u-boot from meta-st layer. If we flash an sd card using the flash layout, image works. But my goal is to copy the files from linux host machine, which I did. Now the image does not boot from the sd card. It is showing following error.
NOTICE: CPU: STM32MP157CAA Rev.Z
NOTICE: Model: emtrion DIMM-Argon stm32mp157c, yocto, SDCARD
INFO: Reset reason (0x15):
INFO: Power-on Reset (rst_por)
INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000
INFO: FCONF: Reading firmware configuration information for: stm32mp_io
INFO: Using EMMC
INFO: Instance 2
INFO: Boot used partition fsbl1
NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-dirty(a1f02f4f)
NOTICE: BL2: Built : 13:14:26, Nov 23 2021
ERROR: Unable to find the partition with the uuid mentioned in metadata
Does anyone have any idea, how to solve this? THANKS IN ADVANCE.
Solved! Go to Solution.
2024-04-04 06:06 AM
Hi,
UUID of the GPT partitions are used in TF-A to select the FIP partitions, these UUID information is used in "metadata" used of TFA secure udpate as decrivbe in https://wiki.st.com/stm32mpu/wiki/Secure_Firmware_Update
You need also to select the correct Type UID for FIP
The expected UUID for STM32MP1 board can be found in WIKI
https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout#GPT_partuuid_of_FIP_partition
on Linux you can define the UID when you create the GPT partition, when you use gdisk:
on modify later for example with sgdisk
-t, --typecode=partnum:{hexcode|GUID}Change a single partition's type code. You enter the type code using either a two-byte hexadecimal number, as described earlier, or a fully-specified GUID value, such as EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
-u, --partition-guid=partnum:guidSet the partition unique GUID for an individual partition. The GUID may be a complete GUID or 'R' to set a random GUID.
You can check also the script for example.
DEFAULT_FIP_TYPEUUID=19d5df83-11b0-457b-be2c-7559c13142a5
DEFAULT_FIP_A_PARTUUID=4fd84c93-54ef-463f-a7ef-ae25ff887087
DEFAULT_FIP_B_PARTUUID=09c54952-d5bf-45af-acee-335303766fb3
Regards
Patrick
2024-04-04 06:06 AM
Hi,
UUID of the GPT partitions are used in TF-A to select the FIP partitions, these UUID information is used in "metadata" used of TFA secure udpate as decrivbe in https://wiki.st.com/stm32mpu/wiki/Secure_Firmware_Update
You need also to select the correct Type UID for FIP
The expected UUID for STM32MP1 board can be found in WIKI
https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout#GPT_partuuid_of_FIP_partition
on Linux you can define the UID when you create the GPT partition, when you use gdisk:
on modify later for example with sgdisk
-t, --typecode=partnum:{hexcode|GUID}Change a single partition's type code. You enter the type code using either a two-byte hexadecimal number, as described earlier, or a fully-specified GUID value, such as EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
-u, --partition-guid=partnum:guidSet the partition unique GUID for an individual partition. The GUID may be a complete GUID or 'R' to set a random GUID.
You can check also the script for example.
DEFAULT_FIP_TYPEUUID=19d5df83-11b0-457b-be2c-7559c13142a5
DEFAULT_FIP_A_PARTUUID=4fd84c93-54ef-463f-a7ef-ae25ff887087
DEFAULT_FIP_B_PARTUUID=09c54952-d5bf-45af-acee-335303766fb3
Regards
Patrick