[PATCH v2 0/4] Add pmem node for preserving distro ISO's

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Dec 19 12:11:13 CET 2024


Just a ping in case we can move this forward.

Heinrich we've tested with various distros including the generic arm64
poky image and this works fine. The poky image[0] is missing OF_MEM
support, but someone is working to add it already. With a modified
kernel this boots fine including the missing modules this boots to the
login screen [1]

[0] https://www.yoctoproject.org/development/releases/
[1] https://paste.debian.net/1340517/

Thanks
/Ilias

On Tue, 3 Dec 2024 at 18:36, Sughosh Ganu <sughosh.ganu at linaro.org> wrote:
>
>
> When installing a distro via EFI HTTP boot some OS installers expect
> the .iso image to be preserved and treat it as a "CDROM" to install
> packages.
>
> This is problematic in EFI, since U-Boot mounts the image, starts the
> installer, and eventually calls ExitBootServices. At that point the
> image U-Boot mounted disappears. Some distros don't care and download
> the missing packages from a web archive, while others halt the
> installation complaining they can't find certain packages.
>
> If the firmware uses ACPI, this is supported by using NFIT which
> provides NVDIMM ramdisks to the OS and preserves the image.
> We don't have anything in place for Device Trees though. Since DT
> supports persistent memory nodes (pmem) use those and preserve the
> .iso for installers.
>
> The issue can be reproduced by attempting an EFI HTTP boot with Ubuntu
> live server ISO, or a Rocky Linux ISO. The installation would fail
> with the failure to locate certain packages.
>
>
> Changes since V1:
> * s/ommit/remove in the commit message
> * s/rfom/from in the commit message
> * Add a period at the end of the sentence in the commit message
> * Use log_err() to print the error message in image_setup_libfdt()
> * Remove "ERROR:" from the error print in image_setup_libfdt()
>
>
> Ilias Apalodimas (2):
>   efi_loader: add a function to remove memory from the EFI map
>   efi_loader: preserve installer images in pmem
>
> Masahisa Kojima (1):
>   fdt: add support for adding pmem nodes
>
> Sughosh Ganu (1):
>   efi: add helper functions to insert pmem node for DT fixup
>
>  boot/fdt_support.c           | 41 +++++++++++++++++++++++++++--
>  boot/image-fdt.c             |  9 +++++++
>  include/efi_loader.h         | 28 +++++++++++++++++---
>  include/fdt_support.h        | 13 +++++++++
>  lib/efi_loader/efi_bootmgr.c | 43 ++++++++++++++++++++++++++----
>  lib/efi_loader/efi_helper.c  | 12 +++++++++
>  lib/efi_loader/efi_memory.c  | 51 +++++++++++++++++++++++++++---------
>  lib/lmb.c                    |  4 +--
>  8 files changed, 175 insertions(+), 26 deletions(-)
>
> --
> 2.34.1
>
>


More information about the U-Boot mailing list