[PATCH 2/2] fwu: Gracefully handle missing FWU metadata device

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Jul 2 12:07:24 CEST 2026


Hi Michal

On Thu, 2 Jul 2026 at 12:10, Michal Simek <michal.simek at amd.com> wrote:
>
>
>
> On 7/2/26 10:03, Ilias Apalodimas wrote:
> > On Thu, 2 Jul 2026 at 10:49, Michal Simek <michal.simek at amd.com> wrote:
> >>
> >>
> >>
> >> On 7/2/26 09:41, Ilias Apalodimas wrote:
> >>> Hi Michal,
> >>>
> >>> On Tue, 30 Jun 2026 at 16:18, Michal Simek <michal.simek at amd.com> wrote:
> >>>>
> >>>> On systems with FWU enabled but without the required DT changes the FWU
> >>>> metadata device is not found and fwu_boottime_checks() returns an error.
> >>>> Being an initcall, that non-zero return aborts the boot flow
> >>>>
> >>>> Return 0 instead so the boot continues. The preceding log_err() still
> >>>> tells the user that the FWU device could not be found.
> >>>
> >>> Won't that affect the board later on? E.g When you do capsule updates,
> >>> updating the metadata will fail
> >>
> >> Do you mean on systems without mdata?
> >
> > Yes. if the config is enabled it will make the capsule update code
> > searching and updating metadata.
>
> fwu mdata backend is not enabled hence not used. fwu just returns 0 in dump.
> Updating metadata will never call any backend.

The prints below are just from fwu and efidebug for the ESRT table.
Those will work.
But what happens if you try to run a capsule update?
Eg. efi_capsule_update_firmware() will call
fwu_plat_get_update_index() which will fail,. no ?

Thanks
/Ilias
>
> Some logs below.
>
> Thanks,
> Michal
>
>
> ZYNQ GEM: f1a60000, mdio bus f1a60000, phyaddr 1, interface rgmii-id
> eth0: ethernet at f1a60000
> ZYNQ GEM: ed920000, mdio bus ed920000, phyaddr 0, interface 10gbase-r
> , eth1: ethernet at ed920000
> Cannot find fwu device
> Cannot persist EFI variables without system partition
> Missing TPMv2 device for EFI_TCG_PROTOCOL
> Missing RNG device for EFI_RNG_PROTOCOL
> Hit any key to stop autoboot: 0
> versal2>
> versal2> fwu
>         FWU Metadata
> crc32: 0x0
> version: 0x0
> size: 0x0
> active_index: 0x0
> previous_active_index: 0x0
>         Image Info
>
> Image Type Guid: 00000000-0000-0000-0000-000000000000
> Location Guid: 00000000-0000-0000-0000-000000000000
> Image Guid:  00000000-0000-0000-0000-000000000000
> Image Acceptance: no
> Image Guid:  00000000-0000-0000-0000-000000000000
> Image Acceptance: no
> versal2>
> versal2> efidebug capsule esrt
> ========================================
> ESRT: fw_resource_count=1
> ESRT: fw_resource_count_max=1
> ESRT: fw_resource_version=1
> [entry 0]==============================
> ESRT: fw_class=ED9E7FCF-47B3-40CD-B6E3-565F14676D82
> ESRT: fw_type=system FW
> ESRT: fw_version=0
> ESRT: lowest_supported_fw_version=0
> ESRT: capsule_flags=0
> ESRT: last_attempt_version=0
> ESRT: last_attempt_status=success
> ========================================
>


More information about the U-Boot mailing list