boot: uboot-armsr: update to U-Boot 2025.04

This U-Boot version is used to generate a 'reference'
U-Boot binary for QEMU's 'virt' machine on both
armv7 and armv8.

It has not been updated since EFI support was merged
into the then-armvirt target, so we should bring it up
to the latest version.

The 'mkeficapsule' tool is disabled due to a host-side
dependency on GnuTLS.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Link: https://github.com/openwrt/openwrt/pull/18862
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Mathew McBride 2025-05-20 13:40:07 +10:00 committed by Robert Marko
parent e247b7ab66
commit cde7e37f80
2 changed files with 6 additions and 65 deletions

View file

@ -1,9 +1,9 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=2023.04
PKG_VERSION:=2025.04
PKG_RELEASE:=1
PKG_HASH:=e31cac91545ff41b71cec5d8c22afd695645cd6e2a442ccdacacd60534069341
PKG_HASH:=439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
@ -30,7 +30,10 @@ UBOOT_TARGETS := \
qemu_armv7 \
qemu_armv8
# mkeficapsule host tool is disabled
# due to a host-side GnuTLS dependency
UBOOT_CUSTOMIZE_CONFIG := \
--enable CMD_EFIDEBUG
--enable CMD_EFIDEBUG \
--disable TOOLS_MKEFICAPSULE
$(eval $(call BuildPackage/U-Boot))

View file

@ -1,62 +0,0 @@
From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Subject: [PATCH v10 7/9] bootstd: Use blk uclass device numbers to set efi
bootdev
Date: Mon, 24 Apr 2023 13:49:50 +1200
Message-ID:
<20230424134946.v10.7.Ia5f5e39c882ac22b5f71c4d576941b34e868eeba@changeid>
From: Mathew McBride <matt@traverse.com.au>
When loading a file from a block device, efiload_read_file
was using the seq_num of the device (e.g "35" of virtio_blk#35)
instead of the block device id (e.g what you get from running
the corresponding device scan command, like "virtio 0")
This cause EFI booting from these devices to fail as an
invalid device number is passed to blk_get_device_part_str:
Scanning bootdev 'virtio-blk#35.bootdev':
distro_efi_read_bootflow_file start (efi,fname=<NULL>)
distro_efi_read_bootflow_file start (efi,fname=<NULL>)
setting bootdev virtio, 35, efi/boot/bootaa64.efi, 00000000beef9a40, 170800
efi_dp_from_name calling blk_get_device_part_str
dev=virtio devnr=35 path=efi/boot/bootaa64.efi
blk_get_device_part_str (virtio,35)
blk_get_device_by_str (virtio, 35)
** Bad device specification virtio 35 **
Using default device tree: dtb/qemu-arm.dtb
No device tree available
0 efi ready virtio 1 virtio-blk#35.bootdev.par efi/boot/bootaa64.efi
** Booting bootflow 'virtio-blk#35.bootdev.part_1' with efi
blk_get_device_part_str (virtio,0:1)
blk_get_device_by_str (virtio, 0)
No UEFI binary known at beef9a40 (image buf=00000000beef9a40,addr=0000000000000000)
Boot failed (err=-22)
Signed-off-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Petr Štetiar <ynezz@true.cz> [backport to 2023.04]
---
(no changes since v8)
Changes in v8:
- Add new patch to use blk uclass device numbers to set efi bootdev
boot/bootmeth_efi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/boot/bootmeth_efi.c
+++ b/boot/bootmeth_efi.c
@@ -117,7 +117,9 @@ static int efiload_read_file(struct blk_
* this can go away.
*/
media_dev = dev_get_parent(bflow->dev);
- snprintf(devnum_str, sizeof(devnum_str), "%x", dev_seq(media_dev));
+ snprintf(devnum_str, sizeof(devnum_str), "%x:%x",
+ desc ? desc->devnum : dev_seq(media_dev),
+ bflow->part);
strlcpy(dirname, bflow->fname, sizeof(dirname));
last_slash = strrchr(dirname, '/');