U-Boot zboot on x86-64 VirtualBox UEFI.

Simon Glass sjg at chromium.org
Sun Aug 1 23:12:54 CEST 2021


Hi Christian,

On Sat, 26 Jun 2021 at 12:30, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Christian,
>
> On Fri, 11 Jun 2021 at 23:59, Christian Melki
> <christian.melki at t2data.com> wrote:
> >
> > On 6/11/21 3:40 PM, Simon Glass wrote:
> > > +Heinrich Schuchardt
> > >
> > > Hi Christian,
> > >
> > > On Fri, 11 Jun 2021 at 07:30, Christian Melki
> > > <christian.melki at t2data.com> wrote:
> > >>
> > >> Hi.
> > >>
> > >> I have been trying to boot a bzImage with zboot from a VirtualBox UEFI
> > >> instance -> U-Boot UEFI payload. So far I've been using 2021.07-rc1. I'd
> > >> like to try a newer rc, but even if built exactly the same with the same
> > >> .config, newer won't boot as an UEFI payload. So right now, I'm stuck at
> > >> rc1.
> > >>
> > >> Anyway.
> > >> The kernel in question starts when configured with an EFI stub from the
> > >> UEFI shell.
> > >>
> > >> U-boot fails to boot the bzImage from the console using zboot though.
> > >> Just freezes after "Starting kernel..."
> > >
> > > We don't actually have tests for this in CI at present.
> > >
> > > I don't see any changes in the zboot stuff though. There is quite a
> > > bit in efi_loader. You could perhaps try a bisect.
> >
> > I can live with 2021.07-rc1 right now as it atleast starts as an UEFI
> > payload.
> > But my big issue is that I can't start the kernel with zboot.
> > Full debug build isn't that much more informative either.
> > I was thinking different load offsets, but mine seems pretty much
> > standard, so I don't know. I've played around a bit with configuration
> > on both halves, but it doesn't help.
> >
> > >
> > > Heinrich, do you have any ideas?
> > >
> > >>
> > >> zboot 01080000 - 04000000 319c000
> > >> Valid Boot Flag
> > >> Magic signature found
> > >> Linux kernel version 5.12.0 (ptxdist at ptxdist) #2 SMP PREEMPT
> > >> 2021-06-01T00:00:00+00:00
> > >> Building boot_params at 0x00090000
> > >> Loading bzImage at address 100000 (6516096 bytes)
> > >> Initial RAM disk at linear address 0x04000000, size 52019200 bytes
> > >> Kernel command line: "console=ttyS0,115200 rw quiet"
> > >> Kernel loaded at 00100000, setup_base=00090000
> > >>
> > >> Starting kernel ...
> > >>
> > >> Any ideas?
>
> Can you make sure that U-Boot is not writing out SMBIOS or other
> tables? It should be letting the kernel use the ones written by UEFI I
> think.
>
> Also start linux with a serial console and early printk or whatever it
> is called these days.

Just for the record, this was fixed with the patch:

x86: Ensure the e820 map is installed in all cases

which is now applied.

Regards,
Simon


More information about the U-Boot mailing list