From: Julien Olivain via buildroot <buildroot@buildroot.org>
To: "Vincent Stehlé" <vincent.stehle@arm.com>
Cc: buildroot@buildroot.org, Dick Olsson <hi@senzilla.io>
Subject: Re: [Buildroot] [PATCH 2/2] configs/aarch64_efi: support net boot with devicetree
Date: Sun, 05 Jul 2026 14:52:08 +0200 [thread overview]
Message-ID: <97ad31a7ec85178d511d669de397c62d@free.fr> (raw)
In-Reply-To: <20260617-pmem-v1-2-bac54881145c@arm.com>
Hi Vincent,
On 17/06/2026 19:10, Vincent Stehlé wrote:
> UEFI platforms with a Devicetree have recently gained support for some
> form
> of network booting. [1][2]
>
> On those platforms, the UEFI firmware downloads the disk image over the
> network and presents it to UEFI applications using the simple
> filesystem
> protocol. This is sufficient for OS loaders such as e.g. GRUB to find
> their
> configuration and load the kernel image.
>
> The firmware must also describe the ramdisk to the OS, so that it finds
> its
> root filesystem. On ACPI based platforms this is done with an NVDIMM
> Firmware Interface Table (NFIT). On Devicetree based platforms, this
> can be
> done with a pmem node. [3]
>
> Add a kernel config fragment to add pmem support, which enables network
> boot on UEFI platforms with Devicetree.
> Also, briefly mention that we support this scenario in the readme.
>
> This can be tested on Qemu, with the following procedure:
>
> Build aarch64_efi_defconfig in a folder, to obtain
> output/images/disk.img,
> and serve the image over HTTP with python:
>
> $ python -m http.server -d output/images/
>
> In another terminal and another folder, configure a U-Boot based
> firmware
> starting from qemu_aarch64_ebbr_defconfig, and with the following
> additional configurations:
>
> BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2026.04"
> BR2_TARGET_UBOOT_NEEDS_DTC=y
>
> Add the following U-Boot configurations to
> board/qemu/aarch64-ebbr/u-boot.fragment:
>
> CONFIG_EFI_HTTP_BOOT=y
> CONFIG_NET_LWIP=y
Maybe those config changes in qemu_aarch64_ebbr_defconfig and
board/qemu/aarch64-ebbr/u-boot.fragment you are mentioning here
could be included in a followup update of qemu_aarch64_ebbr_defconfig.
What do you think?
If you do so, you could probably add a small section in
board/qemu/aarch64-ebbr/readme.txt
quickly describing this new capability, same as you did here.
> Build everything; you should obtain output/images/flash.bin.
>
> Start Qemu as per board/qemu/aarch64-ebbr/readme.txt, but omitting the
> hd0
> -device and -drive stanzas.
> U-Boot should start; interrupt it with enter.
>
> At U-Boot prompt, type the following commands:
>
> => setenv loadaddr 0x43000000
> => efidebug boot rm 0
While testing, this comment reported a message that looked like an
error:
=> efidebug boot rm 0
Cannot persist EFI variables without system partition
Missing TPMv2 device for EFI_TCG_PROTOCOL
Cannot remove Boot0000
But the whole sequence successfully booted the aarch64 efi image.
Is this command really needed?
> => efidebug boot add -u 0 net http://10.0.2.2:8000/disk.img
> => efidebug boot order 0
> => bootefi bootmgr
>
> U-Boot should download the disk image over HTTP and boot Linux with
> UEFI.
> Look for the following message in Linux boot log, to confirm that it
> did
> indeed mount its rootfs from the downloaded image:
>
> EXT4-fs (pmem0p2): mounted filesystem ...
>
> Link:
> https://www.linaro.org/blog/installing-fedora-with-uefi-http-boot/ [1]
> Link:
> https://docs.u-boot-project.org/en/latest/develop/uefi/uefi.html#uefi-http-boot-using-the-legacy-tcp-stack
> [2]
> Link:
> https://github.com/ARM-software/edge-iot-arch-guide/blob/main/source/http-boot/pmem_node.md
> [3]
> Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
> Cc: Dick Olsson <hi@senzilla.io>
Best regards,
Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2026-07-05 12:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-17 17:10 [Buildroot] [PATCH 0/2] aarch64-efi: support net boot with devicetree Vincent Stehlé
2026-06-17 17:10 ` [Buildroot] [PATCH 1/2] DEVELOPERS: add Vincent Stehlé for aarch64-efi files Vincent Stehlé
2026-07-05 12:48 ` Julien Olivain via buildroot
2026-06-17 17:10 ` [Buildroot] [PATCH 2/2] configs/aarch64_efi: support net boot with devicetree Vincent Stehlé
2026-07-05 12:52 ` Julien Olivain via buildroot [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=97ad31a7ec85178d511d669de397c62d@free.fr \
--to=buildroot@buildroot.org \
--cc=hi@senzilla.io \
--cc=ju.o@free.fr \
--cc=vincent.stehle@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox