On Wed, 19 Mar 2025 at 14:12, Adriano Córdova <adria...@gmail.com> wrote: > > > > El mié, 19 mar 2025 a las 5:48, Ilias Apalodimas > (<ilias.apalodi...@linaro.org>) escribió: >> >> Hi Adriano, >> >> On Tue, 18 Mar 2025 at 15:23, Adriano Cordova <adria...@gmail.com> wrote: >> > >> > Next boot stages can acces an initrd via a handle with a specific device >> > path and an EFI_LOAD_FILE2_PROTOCOL installed on it. In U-Boot, this >> > functionality >> > is currently only implemented when booting with the EFI boot manager. This >> > series >> > implements this functionality also for the bootm command when the os is of >> > EFI type, >> > e.g. when booting FIT images with an EFI kernel. >> >> I'll have a look at the patches shortly. I have a question about the >> entire series though. >> >> The initrd was plugged into the efi boot manager because it's easy to >> configure entries of >> kernel-initrd-dtb. The initrd can also be loaded by passing a kernel >> command line parameter. >> >> That parameter can either be initrd=<file> with the limitation that >> the initrd needs to be on the same filesystem as the kernel image. >> On newer kernels you can also pass initrd=<device path>. I am not sure >> what's the best option when loading the initrd for a FIT image. >> >> Thanks >> /Ilias > > > Currently the initrd in FIT images with EFI os is completely ignored. It > can't be passed as initrd=<file> > because it is not a file, it is just memory mapped, and I am not sure if it > can be passed as initrd=<device path> > as I am not sure if the kernel expects a file system device path or if a > memory device path would be picked > up. > In this series the functionality is added following what bootmgr already > does, which also works for passing > the initrd to a boot stage that understands EFI but not command line, but > investigating the other way is also an option.
Yea, I don't know if loading it from a memory-backed device path is an option either. I am fine with the current idea, I was just wondering if we specifically want EFI LOAD2 or just find a way to load it. Thanks /Ilias > > Thanks, > Adriano >> >> >> >> > >> > Adriano Cordova (3): >> > efi_loader: efi_load_initrd: provide a memory mapped initrd >> > efi_loader: binary_run: register an initrd >> > bootm: add support for initrd in do_bootm_efi >> > >> > boot/bootm_os.c | 4 +- >> > cmd/bootefi.c | 2 +- >> > include/efi_loader.h | 4 +- >> > lib/efi_loader/efi_bootbin.c | 20 +++++++-- >> > lib/efi_loader/efi_bootmgr.c | 2 +- >> > lib/efi_loader/efi_load_initrd.c | 71 +++++++++++++++++++++++++++----- >> > 6 files changed, 84 insertions(+), 19 deletions(-) >> > >> > -- >> > 2.48.1 >> >