Support metadata-driven A/B boot for STM32MP2#13
Conversation
Add GUID definitions for Linux Filesystem Data and XBOOTLDR partitions to the EFI partition driver. These definitions are required to identify and filter these partition types during the boot process, specifically to support FWU multi-bank A/B update scenarios. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Define IO policies and block specifications for BootFS and RootFS partitions to support A/B redundancy systems on STM32MP2. The patch registers FWU_BOOTFS_ID and FWU_ROOTFS_ID, mapping them to their respective GUIDs (XBOOTLDR and Linux FS). This allows the platform to correctly identify and access the required partitions for each bank in A/B boot scenarios. The MAX_NUMBER_IDS is increased to accommodate these new entries in the platform storage pool. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
The common I/O policy code (plat/st/common/stm32mp_fconf_io.c) recently introduced support for BootFS and RootFS partitions to handle A/B redundancy, originally targeting the stm32mp2 platform. To leverage this common implementation and enable A/B redundancy on stm32mp1 platforms, define the corresponding FWU_BOOTFS_ID and FWU_ROOTFS_ID image IDs. The MAX_NUMBER_IDS is increased to 29 to accommodate these new entries, aligning the numbering with the stm32mp2 architecture. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
I just updated the PR with an additional patch to support metadata-driven A/B boot for STM32MP1 as well. |
|
Hi @passgat, Sorry, I missed this pull request so far. First, this Github repository is an ST read-only repository where we push our deliveries. About the patch itself, I really think the added data should be under a dedicated flag. We are also discussing this internally, as you've seen in other PRs. Best regards, |
|
Hi @Yann-lms, Thank you for the detailed feedback. As soon as possible, I will send the patches to the official TF-A repository. Thanks and regards, Dario |
This series introduces support for the metadata-driven A/B update flow
in ARM Trusted Firmware, specifically targeting STM32MP2 platforms.
These changes are designed to be backward compatible while providing
the necessary infrastructure for the A/B scheme described in the
meta-st-{openstlinux,stm32mp} PRs [1] and [2].
Please refer to them for the full technical rationale and implementation
details of the fw-update-ab feature.
The specific patch to enable A/B support with multiple FWU images is not
included in this series. Since U-Boot strictly verifies that the number
of images defined in the metadata matches NR_OF_IMAGES_IN_FW_BANK, this
non-backward-compatible change has been moved to the meta-st-stm32mp layer [3].
It will be applied only when the A/B feature is explicitly enabled,
ensuring the system remains functional for standard configurations.
[1] STMicroelectronics/meta-st-openstlinux#16
[2] STMicroelectronics/meta-st-stm32mp#110
[3] 0004-feat-stm32mp2-enable-A-B-redundancy-support.patch