On Fri, 21 Oct 2022 at 14:51, Daniel Kiper <dki...@net-space.pl> wrote: > > On Tue, Oct 18, 2022 at 09:05:01PM +0200, Ard Biesheuvel wrote: > > This implements the LoadFile2 initrd loading protocol, which is > > essentially a callback interface into the bootloader to load the initrd > > data into a caller provided buffer. This means the bootloader no longer > > has to contain any policy regarding where to load the initrd (which > > differs between architectures and kernel versions) and no longer has to > > manipulate arch specific data structures such as DT or struct bootparams > > to inform the OS where the initrd resides in memory. This is especially > > relevant for the upcoming LoongArch support, which does not use either > > DT or struct bootparams, and would have to rely on the initrd= command > > line interface, which is deprecated and of limited utility [0]. > > > > Sample output from booting a recent Linux/arm64 kernel: > > > > grub> insmod part_msdos > > grub> linux (hd0,msdos1)/Image > > grub> initrd (hd0,msdos1)/initrd.img > > grub> boot > > EFI stub: Booting Linux Kernel... > > EFI stub: EFI_RNG_PROTOCOL unavailable > > EFI stub: Generating empty DTB > > EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path > > EFI stub: Exiting boot services... > > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070] > > > > Changes since v4: > > - incorporate review feedback from Daniel regarding whitespace and other > > minor style deviations > > > > Changes since v3: > > - drop a couple of patches that have been merged independently in the > > meantime > > - update patch #1 to read the PE image header offset from the file > > instead of using the harcoded offset > > - add acks from Heinrich and Ilias > > > > Changes since v2: > > - incorporate some ancient feedback from Daniel that I never saw until > > today. (this is why I am sending two versions of the same series on > > the same day - apologies for the spam) > > > > [0] The initrd= command line loader can only access files that reside on > > the same volume as the loaded image, which means GRUB would have to > > present this volume abstraction in order to serve the initrd file. > > > > Cc: Daniel Kiper <daniel.ki...@oracle.com> > > Cc: Leif Lindholm <quic_llind...@quicinc.com> > > Cc: Nikita Ermakov <a...@altlinux.org> > > Cc: Atish Patra <ati...@atishpatra.org> > > Cc: Huacai Chen <chenhua...@loongson.cn> > > Cc: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > > Cc: dann frazier <dann.fraz...@canonical.com> > > Cc: Julian Andres Klode <julian.kl...@canonical.com> > > Cc: Ilias Apalodimas <ilias.apalodi...@linaro.org> > > > > Ard Biesheuvel (6): > > efi: move MS-DOS stub out of generic PE header definition > > linux/arm: unify ARM/arm64 vs Xen PE/COFF header handling > > linux/arm: account for COFF headers appearing at unexpected offsets > > efi/efinet: Don't close connections at fini_hw() time > > efi: implement LoadFile2 initrd loading protocol for Linux > > linux: ignore FDT unless we need to modify it > > Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com> for all patches... >
Thanks > Though one comment. Probably I would pull stdbool.h into include/grub/types.h > in the patch #5. If I do not hear any objections I will do that for you before > merging the patches. > Sure > Thank you for doing this work guys! And sorry it took so long to review > all these patches... > No worries _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel