From cde7e37f80909dad4199b230f11d386efd34c493 Mon Sep 17 00:00:00 2001 From: Mathew McBride Date: Tue, 20 May 2025 13:40:07 +1000 Subject: [PATCH] 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 Link: https://github.com/openwrt/openwrt/pull/18862 Signed-off-by: Robert Marko --- package/boot/uboot-armsr/Makefile | 9 ++- ...ss-device-numbers-to-set-efi-bootdev.patch | 62 ------------------- 2 files changed, 6 insertions(+), 65 deletions(-) delete mode 100644 package/boot/uboot-armsr/patches/001-v2023.07-bootstd-Use-blk-uclass-device-numbers-to-set-efi-bootdev.patch diff --git a/package/boot/uboot-armsr/Makefile b/package/boot/uboot-armsr/Makefile index ce53d19b796..582e152402b 100644 --- a/package/boot/uboot-armsr/Makefile +++ b/package/boot/uboot-armsr/Makefile @@ -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)) diff --git a/package/boot/uboot-armsr/patches/001-v2023.07-bootstd-Use-blk-uclass-device-numbers-to-set-efi-bootdev.patch b/package/boot/uboot-armsr/patches/001-v2023.07-bootstd-Use-blk-uclass-device-numbers-to-set-efi-bootdev.patch deleted file mode 100644 index f4c81189521..00000000000 --- a/package/boot/uboot-armsr/patches/001-v2023.07-bootstd-Use-blk-uclass-device-numbers-to-set-efi-bootdev.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Simon Glass -To: U-Boot Mailing List -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 - -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=) - distro_efi_read_bootflow_file start (efi,fname=) - 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 -Signed-off-by: Simon Glass -Signed-off-by: Petr Å tetiar [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, '/'); -- 2.47.2