[U-Boot] [BUG] U-Boot hangs on fatload, commit ee88eacbdd840199a3dec707234579fb15ddd46a

Gray Remlin gryrmln at gmail.com
Sat Nov 9 15:11:55 UTC 2019

On Fri, 8 Nov 2019 at 20:08, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:

> On 11/8/19 7:32 PM, Gray Remlin wrote:
> > Please excuse the noise. I would like to file a bug report against the
> > above commit, a quick search of www.denx.de <http://www.denx.de> did not
> > reveal how I should proceed. Please point me in the right direction.
> >
> >
> > Issue:
> > U-Boot hangs (i.e. during boot) whenever the command 'fatload' is used.
> >
> > Details:
> > U-Boot 2019.10 compiled with either dreamplug_defconfig or
> > guruplug_defconfig.
> >
> > After the commit do_load() now additionally calls efi_set_bootdev()
> > which was moved out of do_load_wrapper() which is only called by the
> > 'load' command.
> >
> > Reverting the commit fixes this issue for me.
> >
> Dear Gray,
> thanks for reporting the issue with commit
> fs: do_load: pass device path for efi payload
> ee88eacbdd840199a3dec707234579fb15ddd46a
> Is it only the fatload command that fails on your device or also the
> load command?
> There is no bug tracker for U-Boot. So sending a mail to the U-Boot
> mailing list, the patch author, and the maintainer is the best way to
> inform the developers about bugs.
> Best regards
> Heinrich

Additional information:
cross-compiler gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi

The U-Boot environment being used is the default obtained by
compiling U-Boot 2020.01-rc1-00100-gee93ef0c4b as dreamplug_defconfig

=> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1;
${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv
bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
x_bootargs_root=root=/dev/sda2 rootdelay=10
x_bootcmd_kernel=fatload usb 0 0x6400000 uImage
x_bootcmd_usb=usb start

U-Boot hangs for other syntactically correct invocations of either
'fatload' or 'load'
Other commands such as 'fatls' function as expected.

Program flow is as follows:

command 'fatload' (or 'load')
                                *while exit condition never met*
                                        *infinite loop*

This is not an attempted EFI boot, why is EFI code being invoked ?
Whilst the proposition 'EFI boot = FAT filesystem' is True
the converse 'FAT filesystem = EFI boot' is Not True

I am willing to help, but that may require some EFI hand-holding.

PS. If anyone knows how to set '>' on reply content in GMail, please email
me off list.

More information about the U-Boot mailing list