config_distro_bootcmd: Scan all partitions for boot files

Not all devices use the convention that the boot scripts are on the
first partition. For example on chromebooks it seems common for the
first two partitions to be ChromeOS kernel partitions.

So instead of just the first partition scan all partitions on a device
with a filesystem u-boot can recognize.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
This commit is contained in:
Sjoerd Simons 2015-01-05 18:13:38 +01:00 committed by Tom Rini
parent e86df6ef4f
commit 735b1cfeb2

View file

@ -13,7 +13,7 @@
#define BOOTENV_SHARED_BLKDEV_BODY(devtypel) \ #define BOOTENV_SHARED_BLKDEV_BODY(devtypel) \
"if " #devtypel " dev ${devnum}; then " \ "if " #devtypel " dev ${devnum}; then " \
"setenv devtype " #devtypel "; " \ "setenv devtype " #devtypel "; " \
"run scan_dev_for_boot; " \ "run scan_dev_for_boot_part; " \
"fi\0" "fi\0"
#define BOOTENV_SHARED_BLKDEV(devtypel) \ #define BOOTENV_SHARED_BLKDEV(devtypel) \
@ -155,7 +155,6 @@
"boot_prefixes=/ /boot/\0" \ "boot_prefixes=/ /boot/\0" \
"boot_scripts=boot.scr.uimg boot.scr\0" \ "boot_scripts=boot.scr.uimg boot.scr\0" \
BOOTENV_BOOT_TARGETS \ BOOTENV_BOOT_TARGETS \
"bootpart=1\0" \
\ \
"boot_extlinux=" \ "boot_extlinux=" \
"sysboot ${devtype} ${devnum}:${bootpart} any " \ "sysboot ${devtype} ${devnum}:${bootpart} any " \
@ -186,12 +185,21 @@
"done\0" \ "done\0" \
\ \
"scan_dev_for_boot=" \ "scan_dev_for_boot=" \
"echo Scanning ${devtype} ${devnum}...; " \ "echo Scanning ${devtype} ${devnum}:${bootpart}...; " \
"for prefix in ${boot_prefixes}; do " \ "for prefix in ${boot_prefixes}; do " \
"run scan_dev_for_extlinux; " \ "run scan_dev_for_extlinux; " \
"run scan_dev_for_scripts; " \ "run scan_dev_for_scripts; " \
"done\0" \ "done\0" \
\ \
"scan_dev_for_boot_part=" \
"part list ${devtype} ${devnum} devplist; " \
"for bootpart in ${devplist}; do " \
"if fstype ${devtype} ${devnum}:${bootpart} " \
"bootfstype; then " \
"run scan_dev_for_boot; " \
"fi; " \
"done\0" \
\
BOOT_TARGET_DEVICES(BOOTENV_DEV) \ BOOT_TARGET_DEVICES(BOOTENV_DEV) \
\ \
"bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \ "bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \