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 <s...@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 57d29446476..9660ff75676 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.40.1.495.gc816e09b53d-goog

Reply via email to