[U-Boot] [PATCH 2/6] efi_loader: Respect $boot_prefixes for EFI .dtb search

Andreas Färber afaerber at suse.de
Tue Jul 12 06:21:43 CEST 2016


Just like boot configs or scripts, .dtb files may be in /boot.
Search $efi_dtb_prefixes for all $boot_prefixes.

Cc: Alexander Graf <agraf at suse.de>
Signed-off-by: Andreas Färber <afaerber at suse.de>
---
 include/config_distro_bootcmd.h | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index b1c9d36..087f576 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -125,19 +125,25 @@
 	\
 	"load_efi_dtb="                                                   \
 		"load ${devtype} ${devnum}:${distro_bootpart} "           \
-			"${fdt_addr_r} ${prefix}${efi_fdtfile}\0"         \
+			"${fdt_addr_r} "                                  \
+			"${prefix}${dtb_prefix}${efi_fdtfile}\0"          \
 	\
-	"efi_dtb_prefixes=/ /dtb/ /dtb/current/\0"                        \
+	"efi_dtb_prefixes=\"\" dtb/ dtb/current/\0"                       \
+	"scan_dev_for_efi_fdt="                                           \
+		"for prefix in ${boot_prefixes}; do "                     \
+			"for dtb_prefix in ${efi_dtb_prefixes}; do "      \
+				"if test -e ${devtype} "                  \
+					"${devnum}:${distro_bootpart} "   \
+					"${prefix}${dtb_prefix}"          \
+					"${efi_fdtfile}; then "           \
+					"run load_efi_dtb; "              \
+				"fi; "                                    \
+			"done; "                                          \
+		"done\0"                                                  \
 	"scan_dev_for_efi="                                               \
 		"setenv efi_fdtfile ${fdtfile}; "                         \
 		BOOTENV_EFI_SET_FDTFILE_FALLBACK                          \
-		"for prefix in ${efi_dtb_prefixes}; do "                  \
-			"if test -e ${devtype} "                          \
-					"${devnum}:${distro_bootpart} "   \
-					"${prefix}${efi_fdtfile}; then "  \
-				"run load_efi_dtb; "                      \
-			"fi; "                                            \
-		"done; "                                                  \
+		"run scan_dev_for_efi_fdt; "                              \
 		"if test -e ${devtype} ${devnum}:${distro_bootpart} "     \
 					"efi/boot/"BOOTEFI_NAME"; then "  \
 				"echo Found EFI removable media binary "  \
-- 
2.6.6



More information about the U-Boot mailing list