On 6/9/22 18:06, Vagrant Cascadian wrote:
It looks like u-boot 2022.07-rc1 introduced a reproducibility issue that
is dependent on the running kernel.

I believe the commit that triggered this issue is:

   f7691a6d736bec7915c227ac14076f9993a27367 sandbox: allow cross-compiling 
sandbox

Thanks for reporting the issue.

Said patch does not change the value of MK_ARCH for CROSS_COMPILE="".
So this is not the relevant patch.


While the use of uname in the Makefile goes back well before this
commit, previously it had no apparent effect on the builds...

When building natively (e.g. CROSS_COMPILE is not set) with a 32-bit
userland toolchain, but running a 64-bit kernel, 32-bit arm targets end up
with BOOTAA64.EFI embedded in the binaries:

   
https://tests.reproducible-builds.org/debian/rb-pkg/experimental/armhf/diffoscope-results/u-boot.html

The EFI boot manager can boot according to boot options define as UEFI
variables BOOTxxxx. We recently introduced support for booting via these
variables if they only point to a block device without a filename. In
this case we need to provide the name of the EFI binary. Only for the
sandbox this should depend on host architecture.

I need to correct include/efi_default_filename.h to only use variable
HOST_ARCH for the sandbox.

Best regards

Heinrich


   /EFI/BOOT/BOOTARM.EFI
   vs.
   /EFI/BOOT/BOOTAA64.EFI


live well,
   vagrant

Reply via email to