public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH 0/2] Add EFI HTTP boot support
@ 2023-08-23  8:37 Masahisa Kojima
  2023-08-23  8:37 ` [PATCH 1/2] cmd: efidebug: add uri device path Masahisa Kojima
  2023-08-23  8:37 ` [PATCH 2/2] efi_loader: support boot from URI " Masahisa Kojima
  0 siblings, 2 replies; 16+ messages in thread
From: Masahisa Kojima @ 2023-08-23  8:37 UTC (permalink / raw)
  To: u-boot; +Cc: Heinrich Schuchardt, Ilias Apalodimas, Masahisa Kojima

This series adds the EFI HTTP boot support.
User can add the URI device path with "efidebug boot add" command.
efibootmgr handles the URI device path, download the
specified file using wget, mount the downloaded image with
blkmap, then boot with the default file(e.g. EFI/BOOT/BOOTAA64.EFI).

To enable EFI HTTP boot, we need to enable the following Kconfig options.
 CONFIG_CMD_DNS
 CONFIG_CMD_WGET
 CONFIG_BLKMAP

On the Socionext Developerbox, enter the following commands then
debian installer is downloaded into "loadaddr" and installer
automatically starts.
 => dhcp
 => setenv serverip 192.168.1.1
 => efidebug boot add -u 3 debian-netinst http://ftp.riken.jp/Linux/debian/debian-cd/12.1.0/arm64/iso-cd/debian-12.1.0-arm64-netinst.iso
 => efidebug boot order 3
 => bootefi bootmgr

Note that this debian installer can not proceed the installation
bacause RAM disk of installer image is not recogniged by the kernel.
I'm still investigating this issue, but drivers/nvdimm/of_pmem.c in linux
will be one of the solution to recognize RAM disk from kernel.
(In EDK2, the equivalent solution is called ACPI NFIT.)

On QEMU, I can not make DNS work from the QEMU guest.
The following commands work on qemu_arm64(manually set the http server ip in URI).
  => dhcp
  => setenv gatewayip 10.0.2.2
  => setenv httpserverip 134.160.38.1
  => efidebug boot add -u 3 debian-netinst http://134.160.38.1/Linux/debian/debian-cd/12.1.0/arm64/iso-cd/debian-12.1.0-arm64-netinst.iso
  => efidebug boot order 3
  => bootefi bootmgr

Masahisa Kojima (2):
  cmd: efidebug: add uri device path
  efi_loader: support boot from URI device path

 cmd/efidebug.c               |  39 +++++++
 lib/efi_loader/efi_bootmgr.c | 213 +++++++++++++++++++++++++++++++++++
 2 files changed, 252 insertions(+)


base-commit: 4e73b0153cce064e10dee4722cb2b6833361c227
-- 
2.34.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-08-28  6:02 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-23  8:37 [PATCH 0/2] Add EFI HTTP boot support Masahisa Kojima
2023-08-23  8:37 ` [PATCH 1/2] cmd: efidebug: add uri device path Masahisa Kojima
2023-08-24  0:11   ` AKASHI Takahiro
2023-08-25  5:57     ` Masahisa Kojima
2023-08-26  2:21       ` Heinrich Schuchardt
2023-08-28  6:02         ` Masahisa Kojima
2023-08-24  5:38   ` Heinrich Schuchardt
2023-08-25  5:58     ` Masahisa Kojima
2023-08-23  8:37 ` [PATCH 2/2] efi_loader: support boot from URI " Masahisa Kojima
2023-08-23 23:57   ` Simon Glass
2023-08-25  6:31     ` Masahisa Kojima
2023-08-24  2:24   ` AKASHI Takahiro
2023-08-24  2:32     ` AKASHI Takahiro
2023-08-25  6:40     ` Masahisa Kojima
2023-08-24  6:58   ` Heinrich Schuchardt
2023-08-25  7:56     ` Masahisa Kojima

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox