doc: uefi: add HTTP Boot support

This adds the description about HTTP Boot.

[Ilias add the new EFI_HTTP_BOOT option in docs]
Lore: https://lore.kernel.org/u-boot/20231110042542.3797301-1-masahisa.kojima@linaro.org/T/#m36acf922a888cc14f74e823ec57bacd9f977194e
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Masahisa Kojima
2023-11-10 13:25:42 +09:00
committed by Ilias Apalodimas
parent f01c961ee3
commit c022eed4be

View File

@@ -642,6 +642,40 @@ 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
~~~~~~~~~~~~~~
HTTP Boot provides the capability for system deployment and configuration
over the network. HTTP Boot can be activated by specifying::
CONFIG_EFI_HTTP_BOOT
Enabling that will automatically select::
CONFIG_CMD_DNS
CONFIG_CMD_WGET
CONFIG_BLKMAP
Set up the load option specifying the target URI::
efidebug boot add -u 1 netinst http://foo/bar
When this load option is selected as boot selection, resolve the
host ip address by dns, then download the file with wget.
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.
The current implementation tries to resolve the IP address as a host name.
If the uri is like "http://192.168.1.1/foobar",
the dns process tries to resolve the host "192.168.1.1" and it will
end up with "host not found".
We need to preset the "httpserverip" environment variable to proceed the wget::
setenv httpserverip 192.168.1.1
Executing the built in hello world application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~