From 76afc8457eb2f55771d9c9e2ba6106bac43a166b Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Fri, 28 Apr 2023 13:18:09 -0600
Subject: [PATCH] bootstd: Work around missing partition 1

If there is no partition numbered 1, we decide that there are no
partitions at all. That may not be correct, since at least one Debian
installed has just a single partition numbered 2.

Continue searching up to partition 3, just in case.

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 boot/bootdev-uclass.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c
index 57d2944647..9660ff7567 100644
--- a/boot/bootdev-uclass.c
+++ b/boot/bootdev-uclass.c
@@ -154,8 +154,15 @@ int bootdev_find_in_blk(struct udevice *dev, struct udevice *blk,
 		ret = -ESHUTDOWN;
 	else
 		bflow->state = BOOTFLOWST_MEDIA;
-	if (ret)
+	if (ret) {
+		/* allow partition 1 to be missing */
+		if (iter->part == 1) {
+			iter->max_part = 3;
+			ret = -ENOENT;
+		}
+
 		return log_msg_ret("part", ret);
+	}
 
 	/*
 	 * Currently we don't get the number of partitions, so just
-- 
2.39.5