[PATCH 0/2] Simple & robust MMC U-Boot upgrades
Andri Yngvason
andri at yngvason.is
Thu Jul 31 20:15:31 CEST 2025
This patch set adds a mechanism for simple and fail-safe MMC U-Boot
upgrades.
Although vbe-abrec provides a similar method for fail-safe upgrades, it
is not always possible to use because, if I am not mistaken, it requires
control over the TPL. On some devices such as the RK3576, only a binary
blob is provided from the vendor.
VBE is also much more complex than this approach, but the added
complexity does not provide anything of value for my use-case.
Another way to achieve a similar result, would be to use
MMCSD_MODE_EMMCBOOT, but it is not possible to verify that the new
bootloader actually works using that method.
The proposed changes make it possible to switch between 2 different boot
sectors by writing to a separate control sector. The boot sector can be
changed temporarily. A temprary boot target will only be tried once by
the SPL and the control block subsequently reset.
Andri Yngvason (2):
spl: Add A/B sector mode for mmc raw mode
Forward chosen raw mmc A/B sector to OS
boot/fdt_support.c | 20 +++++++++++
common/bloblist.c | 1 +
common/spl/Kconfig | 28 +++++++++++++--
common/spl/spl_mmc.c | 85 ++++++++++++++++++++++++++++++++++++++++++--
include/bloblist.h | 1 +
include/spl.h | 10 ++++++
6 files changed, 140 insertions(+), 5 deletions(-)
--
2.50.0
More information about the U-Boot
mailing list