U-Boot v2022.07-rc2 regression: Bootmenu is completely broken
Masahisa Kojima
masahisa.kojima at linaro.org
Tue May 24 02:26:08 CEST 2022
On Tue, 24 May 2022 at 04:41, Pali Rohár <pali at kernel.org> wrote:
>
> On Monday 23 May 2022 15:29:04 Tom Rini wrote:
> > On Mon, May 23, 2022 at 09:27:37PM +0200, Pali Rohár wrote:
> > > Hello!
> > >
> > > U-Boot Bootmenu in git master branch is completely broken and does not
> > > work. You can test it e.g. in qemu version of nokia n900 (see rx51.rst).
> > >
> > > Bootmenu just prints garbage on both serial console and VGA video
> > > output and no option works.
> > >
> > > *** U-Boot Boot Menu ***
> > >
> > > A
> > > I
> > > E
> > > U
> > > U
> > >
> > >
> > > Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
> > >
> > > I bisected this issue and problem is in:
> > >
> > > a3d0aa87acbec4b983f54c24a6e7fd8e9e7b9728 is the first bad commit
> > > commit a3d0aa87acbec4b983f54c24a6e7fd8e9e7b9728
> > > Author: Masahisa Kojima <masahisa.kojima at linaro.org>
> > > Date: Thu Apr 28 17:09:41 2022 +0900
> > >
> > > bootmenu: update bootmenu_entry structure
This patch modified the menu title from char* to
u16*(UTF16 string) to support the EFI system.
But if the system does not support EFI, printf("%ls") does not
work correctly.
# I think currently only the first character is displayed.
I will send a fix.
Sorry for bothering you.
Thanks,
Masahisa Kojima
> > >
> > > This is a preparation for succeeding addition of uefi boot
> > > and distro boot menu entries into bootmenu.
> > > The bootmenu_entry title is updated to u16 string because
> > > uefi use u16 string. This commit also factors out the function
> > > to prepare the entries generated by "bootmenu_x" U-Boot environment
> > > variable.
> > >
> > > Signed-off-by: Masahisa Kojima <masahisa.kojima at linaro.org>
> > > Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> > >
> > > :040000 040000 37c91714b049be307521831c0470b3b6c8af2407 b3e865073a46108cccbf4dc0b401789ef0b05a2e M cmd
> > >
> > > Before that commit Bootmenu works fine and on serial console prints:
> > >
> > > *** U-Boot Boot Menu ***
> > >
> > > Attached kernel
> > > Internal eMMC
> > > External SD card
> > > U-Boot boot order
> > > U-Boot console
> > >
> > >
> > > Press UP/DOWN to move, ENTER to select, ESC/CTRL+C to quit
> > >
> > >
> > > Could you please look at it and fix it?
> >
> > To be clear, the bootmenu stuff is or is not supposed to be tested with
> > the current rx51 test script?
>
> rx51 test script sets bootmenu timeout to 1s and just let bootmenu
> timeout. Timeout cause that default boot action is taken. Script does
> not interact with stdin / bootmenu.
>
> So... not selecting anything in bootmenu is working and hence rx51 test
> script did not complained.
More information about the U-Boot
mailing list