boot: Consider non-bootable partitions
Any 'bootable' flag in a DOS partition causes boostd to only scan bootable partitions for that media. This can mean that extlinux.conf files on the root disk are missed. Put this logic behind a flag and update the documentation. For now, the flag is enabled, to preserve the existing behaviour of bootstd which is to ignore non-bootable partitions so long as there is at least one bootable partition on the disk. Future work may provide a command (or some other mechanism) to control this. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -168,8 +168,10 @@ int bootdev_find_in_blk(struct udevice *dev, struct udevice *blk,
|
||||
*/
|
||||
|
||||
/* if there are bootable partitions, scan only those */
|
||||
} else if (iter->first_bootable >= 0 &&
|
||||
} else if ((iter->flags & BOOTFLOWIF_ONLY_BOOTABLE) &&
|
||||
iter->first_bootable >= 0 &&
|
||||
(iter->first_bootable ? !info.bootable : iter->part != 1)) {
|
||||
log_debug("Skipping non-bootable partition %d\n", iter->part);
|
||||
return log_msg_ret("boot", -EINVAL);
|
||||
} else {
|
||||
ret = fs_set_blk_dev_with_part(desc, bflow->part);
|
||||
|
Reference in New Issue
Block a user