doc: uefi: Describe UEFI HTTPs boot

We now can use a combination og lwIP & mbedTLS and download from
https://. Describe the config options needed to enable it as well
as some limitations

Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Ilias Apalodimas 2024-11-10 10:28:42 +02:00 committed by Tom Rini
parent d9c4ee3838
commit 99649c6757

View file

@ -681,8 +681,8 @@ UEFI variables. Booting according to these variables is possible via::
As of U-Boot v2020.10 UEFI variables cannot be set at runtime. The U-Boot
command 'efidebug' can be used to set the variables.
UEFI HTTP Boot
~~~~~~~~~~~~~~
UEFI HTTP Boot using the legacy TCP stack
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HTTP Boot provides the capability for system deployment and configuration
over the network. HTTP Boot can be activated by specifying::
@ -715,6 +715,47 @@ We need to preset the "httpserverip" environment variable to proceed the wget::
setenv httpserverip 192.168.1.1
UEFI HTTP(s) Boot using lwIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Similar to the above U-Boot can do EFI HTTP boot using lwIP. If we combine this
with Mbed TLS we can also download from https://
HTTP(s) Boot can be activated by specifying::
CONFIG_EFI_HTTP_BOOT
CONFIG_NET_LWIP
CONFIG_WGET_HTTPS
For QEMU targets there's a Kconfig that supports this by default::
make qemu_arm64_lwip_defconfig
The commands and functionality are similar to the legacy stack, with the notable
exception of not having to define an "httpserverip" if you are trying to resolve
an IP. However, lwIP code doesn't yet support redirects::
=> efidebug boot add -u 1 netinst https://cdimage.debian.org/cdimage/weekly-builds/arm64/iso-cd/debian-testing-arm64-netinst.iso
=> dhcp
DHCP client bound to address 10.0.2.15 (3 ms)
=> efidebug boot order 1
=> bootefi bootmgr
HTTP server error 302
Loading Boot0001 'netinst' failed
EFI boot manager: Cannot load any image
If the url you specified isn't a redirect::
=> efidebug boot add -u 1 netinst https://download.rockylinux.org/pub/rocky/9/isos/aarch64/Rocky-9.4-aarch64-minimal.iso
=> dhcp
=> bootefi bootmgr
#######################################
If the downloaded file extension is .iso or .img file, efibootmgr tries to
mount the image and boot with the default file(e.g. EFI/BOOT/BOOTAA64.EFI).
If the downloaded file is PE-COFF image, load the downloaded file and
start it.
Executing the built in hello world application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~