[PATCH v2 07/39] efi: Add a script for building and testing U-Boot on UEFI

Simon Glass sjg at chromium.org
Mon Oct 18 20:12:18 CEST 2021


Hi Heinrich,

On Mon, 18 Oct 2021 at 11:35, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 9/25/21 2:30 AM, Simon Glass wrote:
> > It is quite complicating to run U-Boot on qemu since we have four
>
> Nits:
> %s/complicating/complicated/   %/qemu/QEMU/
>
> > different builds and they must use different versions of qemu and the
>
> QEMU
>
> > UEFI binaries.
> >
> > Add a script to help.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v2:
> > - Add MAINTAINERS entry
> > - Add support for creating a partition table with a filesystem inside
> > - Add support for running qemu with just a serial console (no display)
> >
> >   MAINTAINERS                        |   1 +
> >   doc/develop/uefi/u-boot_on_efi.rst |  62 ++++++++++
> >   scripts/build-efi.sh               | 188 +++++++++++++++++++++++++++++
> >   3 files changed, 251 insertions(+)
> >   create mode 100755 scripts/build-efi.sh

[..]

> > diff --git a/scripts/build-efi.sh b/scripts/build-efi.sh
> > new file mode 100755
> > index 00000000000..e6c035a7495
> > --- /dev/null
> > +++ b/scripts/build-efi.sh
> > @@ -0,0 +1,188 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-2.0+
> > +#
> > +# Script to build an EFI thing suitable for booting with qemu, possibly running
> > +# it also.
> > +
> > +# This just an example. It assumes that
> > +
> > +# - you build U-Boot in /tmp/b/<name> where <name> is the U-Boot board config
> > +# - /mnt/x is a directory used for mounting
> > +# - you have access to the 'pure UEFI' builds for qemu
> > +#
> > +# UEFI binaries for QEMU used for testing this script:
> > +#
> > +# OVMF-pure-efi.i386.fd at
> > +# https://drive.google.com/file/d/1jWzOAZfQqMmS2_dAK2G518GhIgj9r2RY/view?usp=sharing
> > +
> > +# OVMF-pure-efi.x64.fd at
> > +# https://drive.google.com/file/d/1c39YI9QtpByGQ4V0UNNQtGqttEzS-eFV/view?usp=sharing
> > +
> > +set -e
> > +
> > +usage() {
> > +     echo "Usage: $0 [-a | -p] [other opts]" 1>&2
> > +     echo 1>&2
> > +     echo "   -a   - Package up the app" 1>&2
> > +     echo "   -o   - Use old EFI app build (before 32/64 split)" 1>&2
>
> Why is this option needed?

I think it is wise for now, in case we hit regressions. This allows
comparing the 'old' build with the new one. I have used it quite a few
times. We can drop this option once everything is settled.

[..]

Regards,
Simon


More information about the U-Boot mailing list