diff mbox series

[v3] u-boot: upgrade 2025.04 -> 2025.07

Message ID 20250718090123.420399-1-mikko.rapeli@linaro.org
State New
Headers show
Series [v3] u-boot: upgrade 2025.04 -> 2025.07 | expand

Commit Message

Mikko Rapeli July 18, 2025, 9:01 a.m. UTC
From: Fabio Estevam <festevam@gmail.com>

Upgrade to U-Boot 2025.07. Added patches for build race conditions.
Removed qemu KVM USB workaround since issue is fixed upstream.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
---
 .../u-boot/files/disable_CONFIG_USB.cfg       |   1 -
 ...pts-Makefile.lib-fix-_efi.so-depende.patch | 136 ++++++++++++++++++
 ...kefile-change-apps-from-always-to-ta.patch |  57 ++++++++
 meta/recipes-bsp/u-boot/u-boot-common.inc     |   8 +-
 ...ols_2025.04.bb => u-boot-tools_2025.07.bb} |   0
 .../{u-boot_2025.04.bb => u-boot_2025.07.bb}  |   4 +-
 6 files changed, 201 insertions(+), 5 deletions(-)
 delete mode 100644 meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
 create mode 100644 meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
 create mode 100644 meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch
 rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} (100%)
 rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} (64%)

v3: Did not manage to reproduce AB build failures but added delays to more
    linker calls which exposed similar issues. Fixed failures with patches
    which are also submitted upstream.

v2: added upstreamed patch to fix build race conditon, removed qemu kvm workaround
    fixed upstream. Would be nice to check if builds now pass.
    https://lists.openembedded.org/g/openembedded-core/message/220436

v1: https://lists.openembedded.org/g/openembedded-core/message/220004

Comments

Richard Purdie July 18, 2025, 10:28 a.m. UTC | #1
On Fri, 2025-07-18 at 12:01 +0300, Mikko Rapeli via lists.openembedded.org wrote:
> From: Fabio Estevam <festevam@gmail.com>
> 
> Upgrade to U-Boot 2025.07. Added patches for build race conditions.
> Removed qemu KVM USB workaround since issue is fixed upstream.
> 
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---
>  .../u-boot/files/disable_CONFIG_USB.cfg       |   1 -
>  ...pts-Makefile.lib-fix-_efi.so-depende.patch | 136 ++++++++++++++++++
>  ...kefile-change-apps-from-always-to-ta.patch |  57 ++++++++
>  meta/recipes-bsp/u-boot/u-boot-common.inc     |   8 +-
>  ...ols_2025.04.bb => u-boot-tools_2025.07.bb} |   0
>  .../{u-boot_2025.04.bb => u-boot_2025.07.bb}  |   4 +-
>  6 files changed, 201 insertions(+), 5 deletions(-)
>  delete mode 100644 meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
>  create mode 100644 meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
>  create mode 100644 meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch
>  rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} (100%)
>  rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} (64%)
> 
> v3: Did not manage to reproduce AB build failures but added delays to more
>     linker calls which exposed similar issues. Fixed failures with patches
>     which are also submitted upstream.
> 
> v2: added upstreamed patch to fix build race conditon, removed qemu kvm workaround
>     fixed upstream. Would be nice to check if builds now pass.
>     https://lists.openembedded.org/g/openembedded-core/message/220436
> 
> v1: https://lists.openembedded.org/g/openembedded-core/message/220004
> 
> diff --git a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg b/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
> deleted file mode 100644
> index 1d2509982be1..000000000000
> --- a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
> +++ /dev/null
> @@ -1 +0,0 @@
> -# CONFIG_USB is not set
> diff --git a/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
> new file mode 100644
> index 000000000000..e8253a67b211
> --- /dev/null
> +++ b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
> @@ -0,0 +1,136 @@
> +From 2e7c1321bb44cc6af4ee4b1026a52e1a0aa7e336 Mon Sep 17 00:00:00 2001
> +From: Mikko Rapeli <mikko.rapeli@linaro.org>
> +Date: Thu, 10 Jul 2025 14:24:07 +0000
> +Subject: [PATCH v3 1/2] Makefile scripts/Makefile.lib: fix *_efi.so dependency
> + to PLATFORM_LIBGCC
> +
> +When PLATFORM_LIBGCC was added to linker command it was not
> +added to the dependency of the .so and other rules. Thus a build can
> +try to link *_efi.so files before lib.a from PLATFORM_LIBGCC is available.
> +This was seen in yocto autobuilder builds with u-boot 2025.07
> +update, see https://lists.openembedded.org/g/openembedded-core/message/220004
> +
> +https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline
> +
> +|    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o
> +|   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
> +| arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
> +| make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1
> +
> +The issue is hard to reproduce but this change can artificially trigger it:
> +
> +  a/scripts/Makefile.build
> +  b/scripts/Makefile.build
> +@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
> + #
> + ifdef lib-target
> + quiet_cmd_link_l_target = AR      $@
> +-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
> ++cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
> +

This is not how you solve build races and I've very reluctant to take
patches that look like that, whether submitted to upstream or
otherwise.

Cheers,

Richard
Quentin Schulz July 18, 2025, 10:34 a.m. UTC | #2
Hi Richard,

On 7/18/25 12:28 PM, Richard Purdie via lists.openembedded.org wrote:
> On Fri, 2025-07-18 at 12:01 +0300, Mikko Rapeli via lists.openembedded.org wrote:
>> From: Fabio Estevam <festevam@gmail.com>
>>
>> Upgrade to U-Boot 2025.07. Added patches for build race conditions.
>> Removed qemu KVM USB workaround since issue is fixed upstream.
>>
>> Signed-off-by: Fabio Estevam <festevam@gmail.com>
>> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
>> ---
>>   .../u-boot/files/disable_CONFIG_USB.cfg       |   1 -
>>   ...pts-Makefile.lib-fix-_efi.so-depende.patch | 136 ++++++++++++++++++
>>   ...kefile-change-apps-from-always-to-ta.patch |  57 ++++++++
>>   meta/recipes-bsp/u-boot/u-boot-common.inc     |   8 +-
>>   ...ols_2025.04.bb => u-boot-tools_2025.07.bb} |   0
>>   .../{u-boot_2025.04.bb => u-boot_2025.07.bb}  |   4 +-
>>   6 files changed, 201 insertions(+), 5 deletions(-)
>>   delete mode 100644 meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
>>   create mode 100644 meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
>>   create mode 100644 meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch
>>   rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-boot-tools_2025.07.bb} (100%)
>>   rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-boot_2025.07.bb} (64%)
>>
>> v3: Did not manage to reproduce AB build failures but added delays to more
>>      linker calls which exposed similar issues. Fixed failures with patches
>>      which are also submitted upstream.
>>
>> v2: added upstreamed patch to fix build race conditon, removed qemu kvm workaround
>>      fixed upstream. Would be nice to check if builds now pass.
>>      https://lists.openembedded.org/g/openembedded-core/message/220436
>>
>> v1: https://lists.openembedded.org/g/openembedded-core/message/220004
>>
>> diff --git a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg b/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
>> deleted file mode 100644
>> index 1d2509982be1..000000000000
>> --- a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
>> +++ /dev/null
>> @@ -1 +0,0 @@
>> -# CONFIG_USB is not set
>> diff --git a/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
>> new file mode 100644
>> index 000000000000..e8253a67b211
>> --- /dev/null
>> +++ b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
>> @@ -0,0 +1,136 @@
>> +From 2e7c1321bb44cc6af4ee4b1026a52e1a0aa7e336 Mon Sep 17 00:00:00 2001
>> +From: Mikko Rapeli <mikko.rapeli@linaro.org>
>> +Date: Thu, 10 Jul 2025 14:24:07 +0000
>> +Subject: [PATCH v3 1/2] Makefile scripts/Makefile.lib: fix *_efi.so dependency
>> + to PLATFORM_LIBGCC
>> +
>> +When PLATFORM_LIBGCC was added to linker command it was not
>> +added to the dependency of the .so and other rules. Thus a build can
>> +try to link *_efi.so files before lib.a from PLATFORM_LIBGCC is available.
>> +This was seen in yocto autobuilder builds with u-boot 2025.07
>> +update, see https://lists.openembedded.org/g/openembedded-core/message/220004
>> +
>> +https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline
>> +
>> +|    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o
>> +|   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
>> +| arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
>> +| make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1
>> +
>> +The issue is hard to reproduce but this change can artificially trigger it:
>> +
>> +  a/scripts/Makefile.build
>> +  b/scripts/Makefile.build
>> +@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
>> + #
>> + ifdef lib-target
>> + quiet_cmd_link_l_target = AR      $@
>> +-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
>> ++cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
>> +
> 
> This is not how you solve build races and I've very reluctant to take
> patches that look like that, whether submitted to upstream or
> otherwise.
> 

If I'm not mistaken, this is not the actual patch (code) content but 
rather how to reproduce the race issue reliably in a patch format 
contained in the commit log but the actual code doesn't add sleep as far 
as I could tell? But it's hard to distinguish a patch in a patch in a 
patch's commit log from a patch in a patch :)

Cheers,
Quentin
Richard Purdie July 18, 2025, 11:16 a.m. UTC | #3
On Fri, 2025-07-18 at 12:34 +0200, Quentin Schulz wrote:
> Hi Richard,
> 
> On 7/18/25 12:28 PM, Richard Purdie via lists.openembedded.org wrote:
> > On Fri, 2025-07-18 at 12:01 +0300, Mikko Rapeli via
> > lists.openembedded.org wrote:
> > > From: Fabio Estevam <festevam@gmail.com>
> > > 
> > > Upgrade to U-Boot 2025.07. Added patches for build race
> > > conditions.
> > > Removed qemu KVM USB workaround since issue is fixed upstream.
> > > 
> > > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> > > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > > ---
> > >   .../u-boot/files/disable_CONFIG_USB.cfg       |   1 -
> > >   ...pts-Makefile.lib-fix-_efi.so-depende.patch | 136
> > > ++++++++++++++++++
> > >   ...kefile-change-apps-from-always-to-ta.patch |  57 ++++++++
> > >   meta/recipes-bsp/u-boot/u-boot-common.inc     |   8 +-
> > >   ...ols_2025.04.bb => u-boot-tools_2025.07.bb} |   0
> > >   .../{u-boot_2025.04.bb => u-boot_2025.07.bb}  |   4 +-
> > >   6 files changed, 201 insertions(+), 5 deletions(-)
> > >   delete mode 100644 meta/recipes-bsp/u-
> > > boot/files/disable_CONFIG_USB.cfg
> > >   create mode 100644 meta/recipes-bsp/u-boot/files/v3-0001-
> > > Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
> > >   create mode 100644 meta/recipes-bsp/u-boot/files/v3-0002-
> > > efi_loader-Makefile-change-apps-from-always-to-ta.patch
> > >   rename meta/recipes-bsp/u-boot/{u-boot-tools_2025.04.bb => u-
> > > boot-tools_2025.07.bb} (100%)
> > >   rename meta/recipes-bsp/u-boot/{u-boot_2025.04.bb => u-
> > > boot_2025.07.bb} (64%)
> > > 
> > > v3: Did not manage to reproduce AB build failures but added
> > > delays to more
> > >      linker calls which exposed similar issues. Fixed failures
> > > with patches
> > >      which are also submitted upstream.
> > > 
> > > v2: added upstreamed patch to fix build race conditon, removed
> > > qemu kvm workaround
> > >      fixed upstream. Would be nice to check if builds now pass.
> > >     
> > > https://lists.openembedded.org/g/openembedded-core/message/220436
> > > 
> > > v1:
> > > https://lists.openembedded.org/g/openembedded-core/message/220004
> > > 
> > > diff --git a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
> > > b/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
> > > deleted file mode 100644
> > > index 1d2509982be1..000000000000
> > > --- a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
> > > +++ /dev/null
> > > @@ -1 +0,0 @@
> > > -# CONFIG_USB is not set
> > > diff --git a/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-
> > > scripts-Makefile.lib-fix-_efi.so-depende.patch b/meta/recipes-
> > > bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-
> > > _efi.so-depende.patch
> > > new file mode 100644
> > > index 000000000000..e8253a67b211
> > > --- /dev/null
> > > +++ b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-
> > > Makefile.lib-fix-_efi.so-depende.patch
> > > @@ -0,0 +1,136 @@
> > > +From 2e7c1321bb44cc6af4ee4b1026a52e1a0aa7e336 Mon Sep 17
> > > 00:00:00 2001
> > > +From: Mikko Rapeli <mikko.rapeli@linaro.org>
> > > +Date: Thu, 10 Jul 2025 14:24:07 +0000
> > > +Subject: [PATCH v3 1/2] Makefile scripts/Makefile.lib: fix
> > > *_efi.so dependency
> > > + to PLATFORM_LIBGCC
> > > +
> > > +When PLATFORM_LIBGCC was added to linker command it was not
> > > +added to the dependency of the .so and other rules. Thus a build
> > > can
> > > +try to link *_efi.so files before lib.a from PLATFORM_LIBGCC is
> > > available.
> > > +This was seen in yocto autobuilder builds with u-boot 2025.07
> > > +update, see
> > > https://lists.openembedded.org/g/openembedded-core/message/220004
> > > +
> > > +
> > > https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/
> > > raw_inline
> > > +
> > > +|    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar
> > > cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o
> > > lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o
> > > lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o
> > > lib/efi_loader/efi_device_path.o
> > > lib/efi_loader/efi_device_path_to_text.o
> > > lib/efi_loader/efi_device_path_utilities.o
> > > lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o
> > > lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o
> > > lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o
> > > lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o
> > > lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o
> > > lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o
> > > lib/efi_loader/efi_unicode_collation.o
> > > lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o
> > > lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o
> > > lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o
> > > lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o
> > > lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o
> > > +|   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -
> > > znocombreloc -znorelro --no-warn-rwx-segments -L
> > > /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-
> > > 3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-
> > > boot/2025.07/sources/u-boot-2025.07 -T
> > > arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s
> > > lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o
> > > lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o
> > > arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
> > > +| arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a:
> > > No such file or directory
> > > +| make[3]: *** [scripts/Makefile.lib:512:
> > > lib/efi_loader/helloworld_efi.so] Error 1
> > > +
> > > +The issue is hard to reproduce but this change can artificially
> > > trigger it:
> > > +
> > > +  a/scripts/Makefile.build
> > > +  b/scripts/Makefile.build
> > > +@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
> > > + #
> > > + ifdef lib-target
> > > + quiet_cmd_link_l_target = AR      $@
> > > +-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@
> > > $(lib-y)
> > > ++cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" &&
> > > sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
> > > +
> > 
> > This is not how you solve build races and I've very reluctant to
> > take
> > patches that look like that, whether submitted to upstream or
> > otherwise.
> > 
> 
> If I'm not mistaken, this is not the actual patch (code) content but 
> rather how to reproduce the race issue reliably in a patch format 
> contained in the commit log but the actual code doesn't add sleep as far 
> as I could tell? But it's hard to distinguish a patch in a patch in a
> patch's commit log from a patch in a patch :)

That makes much more sense, thanks. I was thinking it was a very
unusual upstream submission!

Cheers,

Richard
Mathieu Dubois-Briand July 19, 2025, 6:34 a.m. UTC | #4
On Fri Jul 18, 2025 at 11:01 AM CEST, Mikko Rapeli via lists.openembedded.org wrote:
> From: Fabio Estevam <festevam@gmail.com>
>
> Upgrade to U-Boot 2025.07. Added patches for build race conditions.
> Removed qemu KVM USB workaround since issue is fixed upstream.
>
> Signed-off-by: Fabio Estevam <festevam@gmail.com>
> Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> ---

Hi Mikko,

Much better, but we have another test failure now, specifically on ARM
host:

QEMU 10.0.2 monitor - type 'help' for more information
...
Loading Environment from Flash... *** Warning - bad CRC, using default environment

In:    serial,usbkbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Register 8001040 NbrPorts 8
Starting the controller
"Synchronous Abort" handler, esr 0x96000010, far 0x10088040
elr: 000000000005a360 lr : 000000000005a344 (reloc)
elr: 000000004f6fc360 lr : 000000004f6fc344
x0 : 0000000010088040 x1 : 0000000000000001
x2 : 0000000000000000 x3 : 0000000000003e80
x4 : 0000000000000038 x5 : 000000004e6708e2
x6 : 0000000000000000 x7 : 0000000000000000
x8 : 0000000000000000 x9 : 000000000001869f
x10: 000000000000000d x11: 0000000000000006
x12: 000000004e561af8 x13: 000000004e561dd0
x14: 0000000000000002 x15: 0000000000000000
x16: 000000004f6ee774 x17: 0000000000000000
x18: 000000004e661dd0 x19: 000000004e670e40
x20: 0000000000000000 x21: 0000000010088040
x22: 0000000010088000 x23: 0000000000000000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000
...
2025-07-18 23:17:34,434 - oe-selftest - INFO - ERROR: uboot.UBootTest.test_boot_uboot_kvm_to_full_target (subunit.RemotedTestCase)

https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2140

Can you look into that error?
Fabio Estevam July 21, 2025, 12:34 p.m. UTC | #5
Adding Tom.

On Sat, Jul 19, 2025 at 3:34 AM Mathieu Dubois-Briand
<mathieu.dubois-briand@bootlin.com> wrote:
>
> On Fri Jul 18, 2025 at 11:01 AM CEST, Mikko Rapeli via lists.openembedded.org wrote:
> > From: Fabio Estevam <festevam@gmail.com>
> >
> > Upgrade to U-Boot 2025.07. Added patches for build race conditions.
> > Removed qemu KVM USB workaround since issue is fixed upstream.
> >
> > Signed-off-by: Fabio Estevam <festevam@gmail.com>
> > Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
> > ---
>
> Hi Mikko,
>
> Much better, but we have another test failure now, specifically on ARM
> host:
>
> QEMU 10.0.2 monitor - type 'help' for more information
> ...
> Loading Environment from Flash... *** Warning - bad CRC, using default environment
>
> In:    serial,usbkbd
> Out:   serial,vidconsole
> Err:   serial,vidconsole
> Register 8001040 NbrPorts 8
> Starting the controller
> "Synchronous Abort" handler, esr 0x96000010, far 0x10088040
> elr: 000000000005a360 lr : 000000000005a344 (reloc)
> elr: 000000004f6fc360 lr : 000000004f6fc344
> x0 : 0000000010088040 x1 : 0000000000000001
> x2 : 0000000000000000 x3 : 0000000000003e80
> x4 : 0000000000000038 x5 : 000000004e6708e2
> x6 : 0000000000000000 x7 : 0000000000000000
> x8 : 0000000000000000 x9 : 000000000001869f
> x10: 000000000000000d x11: 0000000000000006
> x12: 000000004e561af8 x13: 000000004e561dd0
> x14: 0000000000000002 x15: 0000000000000000
> x16: 000000004f6ee774 x17: 0000000000000000
> x18: 000000004e661dd0 x19: 000000004e670e40
> x20: 0000000000000000 x21: 0000000010088040
> x22: 0000000010088000 x23: 0000000000000000
> x24: 0000000000000000 x25: 0000000000000000
> x26: 0000000000000000 x27: 0000000000000000
> x28: 00000000
> ...
> 2025-07-18 23:17:34,434 - oe-selftest - INFO - ERROR: uboot.UBootTest.test_boot_uboot_kvm_to_full_target (subunit.RemotedTestCase)
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/2140
>
> Can you look into that error?
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg b/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
deleted file mode 100644
index 1d2509982be1..000000000000
--- a/meta/recipes-bsp/u-boot/files/disable_CONFIG_USB.cfg
+++ /dev/null
@@ -1 +0,0 @@ 
-# CONFIG_USB is not set
diff --git a/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
new file mode 100644
index 000000000000..e8253a67b211
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch
@@ -0,0 +1,136 @@ 
+From 2e7c1321bb44cc6af4ee4b1026a52e1a0aa7e336 Mon Sep 17 00:00:00 2001
+From: Mikko Rapeli <mikko.rapeli@linaro.org>
+Date: Thu, 10 Jul 2025 14:24:07 +0000
+Subject: [PATCH v3 1/2] Makefile scripts/Makefile.lib: fix *_efi.so dependency
+ to PLATFORM_LIBGCC
+
+When PLATFORM_LIBGCC was added to linker command it was not
+added to the dependency of the .so and other rules. Thus a build can
+try to link *_efi.so files before lib.a from PLATFORM_LIBGCC is available.
+This was seen in yocto autobuilder builds with u-boot 2025.07
+update, see https://lists.openembedded.org/g/openembedded-core/message/220004
+
+https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline
+
+|    rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader/efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi_image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_conformance.o
+|   arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
+| arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
+| make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1
+
+The issue is hard to reproduce but this change can artificially trigger it:
+
+  a/scripts/Makefile.build
+  b/scripts/Makefile.build
+@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
+ #
+ ifdef lib-target
+ quiet_cmd_link_l_target = AR      $@
+-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
++cmd_link_l_target = rm -f $@ && echo "HACK, delaying build!" && sleep 60 && $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
+
+ $(lib-target): $(lib-y) FORCE
+        $(call if_changed,link_l_target)
+
+Then run a rebuild with:
+
+$  rm -f $( find build/ -name lib.a -or -name helloworld_efi.so ) && \
+   make
+...
+  arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /home/mcfrisk/src/base/repo/poky/build_bea
+glebone/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so
+arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory
+make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1
+
+Fix by introducing PLATFORM_LIBGCC_LIBA variable with only lib.a
+filename which is then used to add the dependency in rules which use
+PLATFORM_LIBGCC. This should not impact builds which don't set
+PLATFORM_LIBGCC_LIBA and PLATFORM_LIBGCC usage stays as is.
+
+Fixes: 43d43241d1c9 ("scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking")
+
+Cc: Adriano Cordova <adrianox@gmail.com>
+Cc: Fabio Estevam <festevam@gmail.com>
+Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
+---
+ Makefile                     | 4 +++-
+ examples/standalone/Makefile | 2 +-
+ scripts/Makefile.lib         | 2 +-
+ scripts/Makefile.xpl         | 3 ++-
+ 4 files changed, 7 insertions(+), 4 deletions(-)
+
+Upstream-Status: Submitted [https://lists.denx.de/pipermail/u-boot/2025-July/594581.html]
+
+v3: added "export PLATFORM_LIBGCC_LIBA" like PLATFORM_LIBGCC, not sure
+    how testing worked without this before
+
+v2: introduced PLATFORM_LIBGCC_LIBA variable with just lib.a filename,
+    PLATFORM_LIBGCC can have other flags too
+    https://lists.denx.de/pipermail/u-boot/2025-July/594034.html
+
+v1: https://lists.denx.de/pipermail/u-boot/2025-July/593982.html
+
+diff --git a/Makefile b/Makefile
+index 1a5c77d7caf0..a0797f36f7f6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -911,7 +911,8 @@ u-boot-main := $(libs-y)
+ 
+ # Add GCC lib
+ ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
+-PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
++PLATFORM_LIBGCC_LIBA = arch/$(ARCH)/lib/lib.a
++PLATFORM_LIBGCC = $(PLATFORM_LIBGCC_LIBA)
+ else
+ ifndef CONFIG_CC_IS_CLANG
+ PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(c_flags) -print-libgcc-file-name`) -lgcc
+@@ -926,6 +927,7 @@ endif
+ 
+ export PLATFORM_LIBS
+ export PLATFORM_LIBGCC
++export PLATFORM_LIBGCC_LIBA
+ 
+ # Special flags for CPP when processing the linker script.
+ # Pass the version down so we can handle backwards compatibility
+diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
+index 9b57f1c0c66c..aa9e3121cf9a 100644
+--- a/examples/standalone/Makefile
++++ b/examples/standalone/Makefile
+@@ -64,7 +64,7 @@ quiet_cmd_link_elf = LD      $@
+       cmd_link_elf = $(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_STANDALONE) -g  \
+ 		     -o $@ -e $(SYM_PREFIX)$(@F) $< $(LIB) $(PLATFORM_LIBGCC)
+ 
+-$(ELF): $(obj)/%: $(obj)/%.o $(LIB) FORCE
++$(ELF): $(obj)/%: $(obj)/%.o $(LIB) $(PLATFORM_LIBGCC_LIBA) FORCE
+ 	$(call if_changed,link_elf)
+ 
+ $(obj)/%.srec: OBJCOPYFLAGS += -O srec
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index e89a4a51b74d..cef3863dfdc4 100644
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -508,7 +508,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun
+ 	$(call cmd,force_checksrc)
+ 	$(call if_changed_rule,cc_o_c)
+ 
+-$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
++$(obj)/%_efi.so: $(PLATFORM_LIBGCC_LIBA) $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
+ 	$(call cmd,efi_ld)
+ 
+ targets += $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o
+diff --git a/scripts/Makefile.xpl b/scripts/Makefile.xpl
+index 43f27874f9fe..68c88293f0d9 100644
+--- a/scripts/Makefile.xpl
++++ b/scripts/Makefile.xpl
+@@ -139,7 +139,8 @@ libs-y := $(patsubst %/, %/built-in.o, $(libs-y))
+ 
+ # Add GCC lib
+ ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y)
+-PLATFORM_LIBGCC = arch/$(ARCH)/lib/lib.a
++PLATFORM_LIBGCC_LIBA = arch/$(ARCH)/lib/lib.a
++PLATFORM_LIBGCC = $(PLATFORM_LIBGCC_LIBA)
+ PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $(PLATFORM_LIBGCC)
+ endif
+ 
+-- 
+2.43.0
+
diff --git a/meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch b/meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch
new file mode 100644
index 000000000000..6b68f7472410
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch
@@ -0,0 +1,57 @@ 
+From d207ec22429adc94f9e173971e30c675d2ab3de4 Mon Sep 17 00:00:00 2001
+From: Mikko Rapeli <mikko.rapeli@linaro.org>
+Date: Fri, 18 Jul 2025 08:15:25 +0000
+Subject: [PATCH v3 2/2] efi_loader Makefile: change apps from "always" to
+ "targets"
+
+Adding delay to link commands in scripts/Makefile.build
+
+@@ -353,7 +353,7 @@ $(modorder-target): $(subdir-ym) FORCE
+ #
+ ifdef lib-target
+ quiet_cmd_link_l_target = AR      $@
+-cmd_link_l_target = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
++cmd_link_l_target = rm -f $@; echo "HACK delaying lib-target"; sleep 10; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(lib-y)
+
+ $(lib-target): $(lib-y) FORCE
+        $(call if_changed,link_l_target)
+(1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? n
+@@ -362,7 +362,7 @@ targets += $(lib-target)
+ endif
+
+ quiet_cmd_link_multi-y = AR      $@
+-cmd_link_multi-y = rm -f $@; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(filter %.o,$^)
++cmd_link_multi-y = rm -f $@; echo "HACK delaying cmd_link_multi-y"; sleep 10; $(AR) cDPrsT$(KBUILD_ARFLAGS) $@ $(filter %.o,$^)
+
+ quiet_cmd_link_multi-m = AR [M]  $@
+ cmd_link_multi-m = $(cmd_link_multi-y)
+
+exposes a build failure:
+
+make[3]: *** No rule to make target 'lib/efi_loader/helloworld.efi', needed by '__build'.  Stop.
+make[3]: *** Waiting for unfinished jobs....
+
+This if fixed by using normal targets for .efi apps. The rules
+in scripts/Makefile.lib handle the dependencies correctly.
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
+---
+ lib/efi_loader/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Upstream-Status: Submitted [https://lists.denx.de/pipermail/u-boot/2025-July/594583.html]
+
+diff --git a/lib/efi_loader/Makefile b/lib/efi_loader/Makefile
+index cf050e5385dd..e929c23b1cb1 100644
+--- a/lib/efi_loader/Makefile
++++ b/lib/efi_loader/Makefile
+@@ -96,5 +96,5 @@ $(foreach f,$(apps-y),\
+ 	$(eval CFLAGS_$(f).o := $(CFLAGS_EFI) -Os -ffreestanding)\
+ 	$(eval CFLAGS_REMOVE_$(f).o := $(CFLAGS_NON_EFI)))
+ 
+-always += $(foreach f,$(apps-y),$(f).efi)
++targets += $(foreach f,$(apps-y),$(f).efi)
+ targets += $(foreach f,$(apps-y),$(f).o)
+-- 
+2.43.0
+
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc
index 8600d4bab6ed..c1395e473c53 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -12,9 +12,13 @@  PE = "1"
 
 # We use the revision in order to avoid having to fetch it from the
 # repo during parse
-SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a"
+SRCREV = "e37de002fac3895e8d0b60ae2015e17bb33e2b5b"
 
-SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}"
+SRC_URI = "\
+    git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV} \
+    file://v3-0001-Makefile-scripts-Makefile.lib-fix-_efi.so-depende.patch \
+    file://v3-0002-efi_loader-Makefile-change-apps-from-always-to-ta.patch \
+"
 
 SRC_URI_RISCV = "\
     file://u-boot-riscv-isa_clear.cfg \
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb
similarity index 100%
rename from meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb
rename to meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb
diff --git a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb
similarity index 64%
rename from meta/recipes-bsp/u-boot/u-boot_2025.04.bb
rename to meta/recipes-bsp/u-boot/u-boot_2025.07.bb
index 89e964f627e5..25f264c961eb 100644
--- a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb
+++ b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb
@@ -4,5 +4,5 @@  require u-boot.inc
 DEPENDS += "bc-native dtc-native gnutls-native python3-pyelftools-native"
 
 # workarounds for aarch64 kvm qemu boot regressions
-SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg file://disable_CONFIG_USB.cfg"
-SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg file://disable_CONFIG_USB.cfg"
+SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg"
+SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg"