Delete README.efi. It is replaced by a further patch. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>master
parent
e70f8dfa2c
commit
e1214151e8
@ -1,86 +0,0 @@ |
|||||||
# |
|
||||||
# Copyright (C) 2015 Google, Inc |
|
||||||
# |
|
||||||
# SPDX-License-Identifier: GPL-2.0+ |
|
||||||
# |
|
||||||
|
|
||||||
EFI on U-Boot |
|
||||||
============= |
|
||||||
This document provides information about the implementation of the UEFI API [1] |
|
||||||
in U-Boot. |
|
||||||
|
|
||||||
|
|
||||||
=========== Table of Contents =========== |
|
||||||
|
|
||||||
Motivation |
|
||||||
How do I get it? |
|
||||||
Status |
|
||||||
Future work |
|
||||||
|
|
||||||
|
|
||||||
Motivation |
|
||||||
---------- |
|
||||||
|
|
||||||
With this API support in place, you can run any UEFI payload (such as the Linux |
|
||||||
kernel, grub2 or gummiboot) on U-Boot. This dramatically simplifies boot loader |
|
||||||
configuration, as U-Boot based systems now look and feel (almost) the same way |
|
||||||
as TianoCore based systems. |
|
||||||
|
|
||||||
How do I get it? |
|
||||||
---------------- |
|
||||||
|
|
||||||
EFI support for 32bit ARM and AArch64 is already included in U-Boot. All you |
|
||||||
need to do is enable |
|
||||||
|
|
||||||
CONFIG_CMD_BOOTEFI=y |
|
||||||
CONFIG_EFI_LOADER=y |
|
||||||
|
|
||||||
in your .config file and you will automatically get a bootefi command to run |
|
||||||
an efi application as well as snippet in the default distro boot script that |
|
||||||
scans for removable media efi binaries as fallback. |
|
||||||
|
|
||||||
Status |
|
||||||
------ |
|
||||||
|
|
||||||
I am successfully able to run grub2 and Linux EFI binaries with this code on |
|
||||||
ARMv7 as well as AArch64 systems. |
|
||||||
|
|
||||||
When enabled, the resulting U-Boot binary only grows by ~10KB, so it's very |
|
||||||
light weight. |
|
||||||
|
|
||||||
All storage devices are directly accessible from the uEFI payload |
|
||||||
|
|
||||||
Removable media booting (search for /efi/boot/boota{a64,arm}.efi) is supported. |
|
||||||
|
|
||||||
Simple use cases like "Plug this SD card into my ARM device and it just |
|
||||||
boots into grub which boots into Linux", work very well. |
|
||||||
|
|
||||||
|
|
||||||
Running HelloWord.efi |
|
||||||
--------------------- |
|
||||||
|
|
||||||
You can run a simple 'hello world' EFI program in U-Boot. |
|
||||||
Enable the option CONFIG_CMD_BOOTEFI_HELLO. |
|
||||||
|
|
||||||
Then you can boot into U-Boot and type: |
|
||||||
|
|
||||||
> bootefi hello |
|
||||||
|
|
||||||
The 'hello world EFI' program will then run, print a message and exit. |
|
||||||
|
|
||||||
|
|
||||||
Future work |
|
||||||
----------- |
|
||||||
|
|
||||||
Of course, there are still a few things one could do on top: |
|
||||||
|
|
||||||
- Improve disk media detection (don't scan, use what information we |
|
||||||
have) |
|
||||||
- Add EFI variable support using NVRAM |
|
||||||
- Add GFX support |
|
||||||
- Make EFI Shell work |
|
||||||
- Network device support |
|
||||||
- Support for payload exit |
|
||||||
- Payload Watchdog support |
|
||||||
|
|
||||||
[1] http://uefi.org/ |
|
Loading…
Reference in new issue