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 <[email protected]> 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 > >

