diff --git a/uboot-tools.spec b/uboot-tools.spec index adff3dd..fa7c75d 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -7,7 +7,7 @@ Name: uboot-tools Version: 2024.04 -Release: 0.5%{?candidate:.%{candidate}}%{?dist} +Release: 0.6%{?candidate:.%{candidate}}%{?dist} Epoch: 1 Summary: U-Boot utilities License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ @@ -190,6 +190,9 @@ install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir} %endif %changelog +* Fri Mar 15 2024 Peter Robinson - 1:2024.04-0.6.rc4 +- Updated fix for FDT load + * Wed Mar 13 2024 Peter Robinson - 1:2024.04-0.5.rc4 - Fixes for Rockchip rk3399 autoboot diff --git a/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch b/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch index e1937f8..2b425f1 100644 --- a/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch +++ b/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch @@ -1,6 +1,6 @@ -From 47bf70fe95dd3883c08af3478f29564476f0950e Mon Sep 17 00:00:00 2001 +From 751b1c4ec581f3546c49e4d59485306601fe6e2d Mon Sep 17 00:00:00 2001 From: Peter Robinson -Date: Tue, 12 Mar 2024 00:05:23 +0000 +Date: Fri, 15 Mar 2024 16:42:23 +0000 Subject: [PATCH] initial find_fdt_location for finding the DT on disk The old distro boot looked for a DT on the first boot partition @@ -16,12 +16,11 @@ so that devices will continue to work as they did previously. Signed-off-by: Peter Robinson --- - cmd/bootefi.c | 1 + cmd/bootmenu.c | 5 +++ include/efi_loader.h | 2 + - lib/efi_loader/efi_helper.c | 82 ++++++++++++++++++++++++++++++++++++- - 4 files changed, 89 insertions(+), 1 deletion(-) + lib/efi_loader/efi_helper.c | 83 ++++++++++++++++++++++++++++++++++++- + 4 files changed, 90 insertions(+), 1 deletion(-) diff --git a/cmd/bootefi.c b/cmd/bootefi.c index 9cf9027bf40..8b6194a8702 100644 @@ -65,7 +64,7 @@ index 7daca0afba2..a969378ff2f 100644 int efi_init_early(void); /* Initialize efi execution environment */ diff --git a/lib/efi_loader/efi_helper.c b/lib/efi_loader/efi_helper.c -index 5dd9cc876e4..59bdb2d030c 100644 +index 5dd9cc876e4..8d51c9570b7 100644 --- a/lib/efi_loader/efi_helper.c +++ b/lib/efi_loader/efi_helper.c @@ -12,6 +12,7 @@ @@ -76,7 +75,7 @@ index 5dd9cc876e4..59bdb2d030c 100644 #include #include #include -@@ -24,6 +25,76 @@ +@@ -24,6 +25,77 @@ const efi_guid_t efi_lf2_initrd_guid = EFI_INITRD_MEDIA_GUID; #endif @@ -128,6 +127,7 @@ index 5dd9cc876e4..59bdb2d030c 100644 + if (retfdt) { + /* we have a fdt!*/ + log_debug("FFL: we have found a DT on disk\n"); ++ pbraddr = (ulong)(env_get("fdt_addr")); + retload = fs_read(fdt_fullpath, pbraddr, 0, 0, &len_read); + if (retload) { + log_debug("FFL: we have a loaded DT, size %ld we can return\n", sizeof(len_read)); @@ -153,7 +153,7 @@ index 5dd9cc876e4..59bdb2d030c 100644 /** * efi_create_current_boot_var() - Return Boot#### name were #### is replaced by * the value of BootCurrent -@@ -432,11 +503,20 @@ efi_status_t efi_install_fdt(void *fdt) +@@ -432,11 +504,20 @@ efi_status_t efi_install_fdt(void *fdt) /* Look for device tree that is already installed */ if (efi_get_configuration_table(&efi_guid_fdt)) return EFI_SUCCESS;