]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
bootstd: Work around missing partition 1
authorSimon Glass <sjg@chromium.org>
Fri, 28 Apr 2023 19:18:09 +0000 (13:18 -0600)
committerTom Rini <trini@konsulko.com>
Sat, 13 May 2023 13:52:32 +0000 (09:52 -0400)
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

index 57d294464764568fa0f069b245845f6a38342bd4..9660ff75676d6607f57fbf645d6ffea2f981dd4d 100644 (file)
@@ -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