From: Alexander Graf <agraf@suse.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 8/9] efi_loader: Add "bootefi" command
Date: Fri, 25 Dec 2015 10:02:44 +0100 [thread overview]
Message-ID: <567D0634.4010302@suse.de> (raw)
In-Reply-To: <CAJs94EYa1nc-9OGv6KzKa08BFZkw-5KivTzELgkoy54zbt_Q-A@mail.gmail.com>
On 24.12.15 12:15, Matwey V. Kornilov wrote:
> Why just not to implement standard EFI behaviour when EFI looks for
> boot-efi partition and proceed?
Well, what is "standard EFI behavior"?
There are 2 standard ways I'm aware of:
1) NVRAM
The default case for 99.9% of the boots on normal EFI systems is based
on variables in NVRAM that tell EFI which boot device to boot from.
Since we don't implement EFI variables today, we can't really make use
of this feature. And because you want to change the default boot device
at runtime, we'd have to have runtime services be able to modify them
after exiting boot services.
2) Removable Media
There is another way implemented for "Removable Media" - mostly intended
for USB sticks and the likes. Here EFI searches for a defined file name
(EFI/boot/boot{arm,a64,x64}.efi) on the ESP partition and boots it.
Part 1 is very difficult to do without major rework of a few U-Boot
components. If EFI becomes the de-facto standard way of booting with
U-Boot, I think we'll walk down that road, but it's nothing I want to
have to deal with in the initial enablement discussion.
Part 2 is easy to do. But then again it's also easy to do it using a
boot script. Or a compiled in bootcmd. If it's really desired.
Which brings me to the next idea. What if we just implement exlinux.conf
support for EFI binaries? Then all you need to do is have an
extlinux.conf available on your generic EFI media that tells U-Boot
where to load the grub binary from.
That way we wouldn't bend U-Boot completely away from its heritage, make
use of its flexibility and all distributions that actually care about
booting from U-Boot would easily be able to just put such a file in an
rpm an install it always.
> If ARM board developers will enable EFI support in the future, we can
> have single one JeOS having all possible dtb in KIWI image.
> BeagleBone Black has its own u-boot on eMMC, and the user need to push
> S2 button to force hardware to use our openSUSE u-boot from SD card.
> Maybe something like that is for other boards. If the single one
> required u-boot feature is to run EFI grub, then we can even don't
> touch preinstalled bootloader, that is not possible now, because we
> need our openSUSE boot scripts.
There are more things we need to solve before we can truly get to a
universal booting solution. But one step at a time :).
The reason I implemented "bootefi" was really because it's the natural
fit into how U-Boot handles all other formats today. I don't think this
is going to be the last patch set around EFI support.
Alex
next prev parent reply other threads:[~2015-12-25 9:02 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 13:57 [U-Boot] [PATCH 0/9] EFI payload / application support Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 1/9] disk/part.c: Expose a list of available block drivers Alexander Graf
2016-01-14 19:18 ` Tom Rini
2016-01-14 23:11 ` Simon Glass
2016-01-14 23:33 ` Alexander Graf
2016-01-15 0:46 ` Simon Glass
2016-01-15 1:04 ` Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 2/9] include/efi_api.h: Add more detailed API definitions Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 3/9] efi_loader: Add PE image loader Alexander Graf
2015-12-26 16:26 ` Leif Lindholm
2016-01-14 23:45 ` Alexander Graf
2016-01-15 12:29 ` Leif Lindholm
2015-12-22 13:57 ` [U-Boot] [PATCH 4/9] efi_loader: Add boot time services Alexander Graf
2015-12-22 14:15 ` Andreas Färber
2015-12-22 14:31 ` Alexander Graf
2015-12-26 18:09 ` Leif Lindholm
2016-01-15 0:13 ` Alexander Graf
2016-01-15 13:02 ` Leif Lindholm
2016-01-15 14:14 ` Alexander Graf
2016-01-15 14:21 ` Leif Lindholm
2016-01-15 17:04 ` Alexander Graf
2016-01-15 3:40 ` Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 5/9] efi_loader: Add console interface Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 6/9] efi_loader: Add runtime services Alexander Graf
2015-12-26 18:33 ` Leif Lindholm
2016-01-15 0:26 ` Alexander Graf
2016-01-15 13:52 ` Leif Lindholm
2016-01-15 14:15 ` Alexander Graf
2016-01-15 14:22 ` Leif Lindholm
2015-12-22 13:57 ` [U-Boot] [PATCH 7/9] efi_loader: Add disk interfaces Alexander Graf
2016-01-15 1:37 ` Simon Glass
2016-01-15 2:40 ` Alexander Graf
2015-12-22 13:57 ` [U-Boot] [PATCH 8/9] efi_loader: Add "bootefi" command Alexander Graf
2015-12-24 11:15 ` Matwey V. Kornilov
2015-12-25 9:02 ` Alexander Graf [this message]
2015-12-25 9:25 ` Andreas Färber
2015-12-25 9:40 ` Matwey V. Kornilov
2015-12-25 17:04 ` Tom Rini
2015-12-26 18:55 ` Leif Lindholm
2015-12-27 15:33 ` Alexander Graf
2015-12-26 18:45 ` Leif Lindholm
2015-12-25 16:58 ` Tom Rini
2015-12-22 13:57 ` [U-Boot] [PATCH 9/9] efi_loader: hook up in build environment Alexander Graf
2015-12-22 18:28 ` [U-Boot] [PATCH 0/9] EFI payload / application support Matwey V. Kornilov
2015-12-22 20:32 ` Alexander Graf
2015-12-25 3:29 ` Tom Rini
2015-12-25 8:53 ` Alexander Graf
2015-12-25 16:50 ` Tom Rini
2015-12-25 16:53 ` Matwey V. Kornilov
2015-12-25 17:00 ` Tom Rini
2016-01-15 3:00 ` Alexander Graf
2016-01-15 3:06 ` Tom Rini
2015-12-25 19:34 ` Blibbet
2015-12-26 15:31 ` Leif Lindholm
2015-12-26 16:27 ` Alexander Graf
2015-12-26 19:34 ` Leif Lindholm
2016-01-04 16:25 ` Alexander Graf
2016-01-04 16:56 ` Tom Rini
2016-01-04 18:03 ` Andreas Färber
2016-01-04 18:41 ` Andreas Färber
2016-01-04 19:54 ` Tom Rini
2016-01-04 22:37 ` Dennis Gilmore
2016-01-04 22:48 ` Alexander Graf
2016-01-15 3:40 ` Peter Robinson
2016-01-04 20:11 ` Matwey V. Kornilov
2016-01-15 3:32 ` Peter Robinson
2015-12-27 18:10 ` Tom Rini
2015-12-27 18:39 ` Leif Lindholm
2015-12-27 19:48 ` Tom Rini
2016-01-05 20:18 ` Tom Rini
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=567D0634.4010302@suse.de \
--to=agraf@suse.de \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.