[PATCH v6 0/9] Add EFI HTTP boot support

Masahisa Kojima masahisa.kojima at linaro.org
Mon Oct 16 08:35:40 CEST 2023


Hi Michal,

On Mon, 16 Oct 2023 at 15:25, Michal Simek <michal.simek at amd.com> wrote:
>
>
>
> On 10/16/23 04:39, Masahisa Kojima wrote:
> > On Mon, 16 Oct 2023 at 08:50, Masahisa Kojima
> > <masahisa.kojima at linaro.org> wrote:
> >>
> >> 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)
> >> by selecting automatically created boot option when the new disk is
> >> detected.
> >>
> >> This version still does not include the test.
> >>
> >> To enable EFI HTTP boot, we need to enable the following Kconfig options.
> >>   CONFIG_CMD_DNS
> >>   CONFIG_CMD_WGET
> >>   CONFIG_BLKMAP
> >>   CONFIG_EFI_HTTP_BOOT
> >>
> >> 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
> >>
> >> [TODO]
> >> - add test
> >> - stricter wget uri check
> >> - omit the dns process if the given uri has ip address
> >>     -> this will be supported when the lwip migration completes
> >> - uri device path support in eficonfig
> >>
> >> [change log]
> >> v5 -> v6
> >> - add patch #4 "Boot var automatic management for removable medias"
> >> - boot from automatically created boot option
> >>    rather than searching default file on the fly
> >> - introduce new CONFIG_EFI_HTTP_BOOT Kconfig option
> >> - comment in one place
> >> - use log_err() rather than printf()
> >> - use env_get_hex("filesize", 0) instead of return value of net_loop()
> >> - use more suitable error code
> >> - blkmap can be build for SPL/TPL
> >> - add CDROM short-form device path support
> >
> > Sorry but I forgot to include the necessary changes.
> > I will resend this series soon.
>
> Which pretty much means that that next series is v7. If not you will confuse
> tools like b4.

Thank you, yes, I will send the updated version as v7.
Sorry for sending so many emails.

Thanks,
Masahisa Kojima

>
> Thanks,
> Michal
>


More information about the U-Boot mailing list