From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: Simon Glass <sjg@chromium.org>,
u-boot@lists.denx.de, pali@kernel.org, xypron.glpk@gmx.de,
trini@konsulko.com, agraf@csgraf.de,
yamada.masahiro@socionext.com
Subject: Re: [PATCH 0/7] efi: Various tidy-ups and drop the default
Date: Mon, 28 Jun 2021 11:59:48 +0300 [thread overview]
Message-ID: <YNmPhIhBnPSTSgUm@iliass-mbp> (raw)
In-Reply-To: <5613706c36261e2a@bloch.sibelius.xs4all.nl>
I generally agree with Mark here.
On Mon, Jun 28, 2021 at 10:38:50AM +0200, Mark Kettenis wrote:
> > From: Simon Glass <sjg@chromium.org>
> > Date: Sun, 27 Jun 2021 19:48:34 -0600
> >
> > It has come to light that EFI_LOADER adds an extraordinary amount of
> > code to U-Boot. For example, with nokia_rx51 the size delta is about
> > 90KB. About 170 boards explicitly disable the option, but is is clear
> > that many more could, thus saving image size and boot time.
>
> EFI_LOADER used to be a lot smaller. It is great to see that over the
> years UEFI support has become more complete, but a lot of that new
> code implements features that are not at all essential for just
> booting an OS from storage. If that growth leads to the suggestion to
> disable EFI_LOADER completely by default, we're putting the cart
> before the horse.
>
> > The current situation is affecting U-Boot's image as a svelt bootloader.
>
> Really? I know UEFI has a bad reputation in the Open Source world,
> and some of its Microsoft-isms are really annoying (yay UCS-2). But
> it works, it provides a standardized approach across several platforms
> (ARMv7, AMRv8, RISC-V) and the industry seems to like it. Personally
> I'd wish the industry had standardized on Open Firmware instead, but
> that ship sailed a long time ago...
I think the basics of EFI (mostly those that EBBR requires) are sane and
nice to boot multiple architectures as well.
>
> I find it hard to imagine that 90k is a serious amount of storage for
> something that is going to include a multi-MB Linux kernel. This
> isn't code that lives in SPL or TPL where severe size restrictions
> apply.
>
> > EFI_LOADER is required by EBBR, a new boot standard which aims to
> > bring in UEFI protocols to U-Boot. But EBRR is not required for
> > booting. U-Boot already provides support for FIT, the 'bootm' command
> > and a suitable hand-off to Linux. EBRR has made the decision to create
> > a parallel infrastructure, e.g. does not use FIT, nor U-Boot's signing
> > infrastructure.
>
> EFI_LOADER is required to boot FreeBSD and OpenBSD on several
> platforms as well as generic Linux distros. For example
> OpenBSD/armv7, OpenBSD/arm64 and OpenBSD/riscv64 all rely on
> EFI_LOADER to boot and have done so for the last 4 years. The fact
> that ARM has embraced UEFI as an embedded boot standard and branded it
> EBBR really isn't all that relevant.
>
> FIT simply isn't fit for purpose (pun intended). It only really works
> for booting Linux, and forces people to combine u-boot, kernel,
> initial ramdisk and other firmware components into a single image.
> That is really undesirable as:
>
> - This makes it sigificantly harder to update individual components of
> such an image. Making it hard to update a kernel is obviously a
> serious security risk.
>
> - This makes it impossible to build an OS install image that works om
> multiple boards/SoCs.
>
> > EBBR should be truly optional, enabled only by boards that use it. Most
> > don't use it but it is enabled anyway. The default boot path should be
> > one that makes use of the existing U-Boot support.
>
> I don't particularly care about EBBR myself, but EFI_LOADER should be
> the default for as many armv7/arm64/riscv U-Boot targets as possible
> to give users an easy way to choose the OS they want to run on their
> machines. That is the best way to guarantee that vendors ship their
> firmware with it enabled.
>
> > To try to retify this situation, this series adds a new Kconfig option
> > for EBBR so that the naming is more explicit. Then EFI_LOADER is updated
> > to depend on it.
>
> Isn't using the the term EBBR for non-ARM platforms misleading?
Not really, we are discussing with RISC-V atm and having platfomrs being
EBBR compliant. In essence we don't desire EBBR to be an Arm only thing.
> EFI_LOADER is used much more widely. Anyway, I disagree with this
> direction.
>
Same here
> If size really matters here, we should look at reducing the EFI_LOADER
> feature set to reduce the amount of code i adds, and maybe introduce
> an EBBR option that can be enabled by those boards that desire full
> EBBR compliance?
+1
[...]
next prev parent reply other threads:[~2021-06-28 9:00 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-28 1:48 [PATCH 0/7] efi: Various tidy-ups and drop the default Simon Glass
2021-06-28 1:48 ` [PATCH 1/7] configs: Resync with savedefconfig Simon Glass
2021-06-28 1:48 ` [PATCH 2/7] Makefile: Drop include/asm directory as well as symlink Simon Glass
2021-06-28 1:48 ` [PATCH 3/7] disk: Tidy up #ifdefs in part_efi Simon Glass
2021-06-28 11:20 ` Heinrich Schuchardt
2021-06-28 13:50 ` Tom Rini
2021-06-28 16:18 ` Heinrich Schuchardt
2021-06-28 1:48 ` [PATCH 4/7] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
2021-06-28 1:48 ` [PATCH 5/7] Allow efi_loader header to be included always Simon Glass
2021-06-28 11:02 ` Heinrich Schuchardt
2021-06-28 1:48 ` [PATCH 6/7] lib: Create a new Kconfig option for charset conversion Simon Glass
2021-06-28 10:37 ` Heinrich Schuchardt
2021-06-28 1:48 ` [PATCH 7/7] efi: Make EBBR optional Simon Glass
2021-06-28 9:48 ` Heinrich Schuchardt
2021-06-28 13:48 ` Tom Rini
2021-06-28 8:38 ` [PATCH 0/7] efi: Various tidy-ups and drop the default Mark Kettenis
2021-06-28 8:59 ` Ilias Apalodimas [this message]
2021-06-28 13:37 ` Tom Rini
2021-06-28 14:18 ` Simon Glass
2021-06-28 15:20 ` Heinrich Schuchardt
2021-06-28 16:26 ` Simon Glass
2021-06-28 17:09 ` Heinrich Schuchardt
2021-06-28 18:02 ` Simon Glass
2021-06-28 17:27 ` Tom Rini
2021-06-28 18:08 ` Simon Glass
2021-06-29 12:56 ` AKASHI Takahiro
2021-06-29 14:01 ` Heinrich Schuchardt
2021-06-29 14:14 ` AKASHI Takahiro
2021-06-28 17:49 ` Mark Kettenis
2021-07-02 19:05 ` Simon Glass
2021-07-02 19:48 ` Mark Kettenis
2021-07-02 20:09 ` Tom Rini
2021-07-02 20:47 ` Simon Glass
2021-06-28 14:25 ` Heinrich Schuchardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YNmPhIhBnPSTSgUm@iliass-mbp \
--to=ilias.apalodimas@linaro.org \
--cc=agraf@csgraf.de \
--cc=mark.kettenis@xs4all.nl \
--cc=pali@kernel.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox