[U-Boot] [PATCH 1/3] efi_loader: support USB boot in distro boot script

Alexander Graf
2018-10-16T13:18:11Z

On 15.10.18 06:53, AKASHI Takahiro wrote:
> On Sun, Oct 14, 2018 at 02:21:11AM +0300, Tuomas Tynkkynen wrote:
>> Hi Takahiro,
>>
>> On Fri, 12 Oct 2018 14:09:07 +0900
>> AKASHI Takahiro <takahiro.akashi@linaro.org> wrote:
>>
>>> With this patch, a removable USB mass storage device attached to the
>>> system will also be scanned to find and boot an EFI binary (that is
>>> BOOTEFI_NAME, see config_distro_bootcmd.h).
>>>
>>> Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
>>> ---
>>> include/config_distro_bootcmd.h | 7 ++++++-
>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/include/config_distro_bootcmd.h
>>> b/include/config_distro_bootcmd.h index 76e12b7bf4ee..dd47e27d6835
>>> 100644 --- a/include/config_distro_bootcmd.h
>>> +++ b/include/config_distro_bootcmd.h
>>> @@ -26,7 +26,12 @@
>>> */
>>>
>>> #define BOOTENV_SHARED_BLKDEV_BODY(devtypel) \
>>> - "if " #devtypel " dev ${devnum}; then " \
>>> + "if test " #devtypel " = usb ; then " \
>>> + "if " #devtypel " info ${devnum}; then " \
>>> + "setenv devtype " #devtypel "; " \
>>> + "run scan_dev_for_boot_part; " \
>>> + "fi;" \
>>> + "elif " #devtypel " dev ${devnum}; then " \
>>> "setenv devtype " #devtypel "; " \
>>> "run scan_dev_for_boot_part; " \
>>> "fi\0"
>>
>> I can't see how this patch is needed - "usb dev" is a valid command
>> (via do_usb() -> blk_common_cmd()) as long as CONFIG_USB_STORAGE is set.
>
> Right.
> I didn't notice this sub-command, dev, because I first consulted
> "help usb" with default qemu_arm64_defconfig which doesn't have
> CONFIG_USB_STORAGE. Since then I've believed it was not available.
>
> Yet my patch #2&#3 should work.

Yes, distro boot already supports USB booting just fine. All you need to
do is what you did in patch 3 to enable it on a particular target board.

Alex