[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 0/6] linux: implement LoadFile2 initrd loading
From: |
Ard Biesheuvel |
Subject: |
Re: [PATCH v5 0/6] linux: implement LoadFile2 initrd loading |
Date: |
Fri, 21 Oct 2022 15:15:10 +0200 |
On Fri, 21 Oct 2022 at 14:51, Daniel Kiper <dkiper@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.kiper@oracle.com>
> > Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> > Cc: Nikita Ermakov <arei@altlinux.org>
> > Cc: Atish Patra <atishp@atishpatra.org>
> > Cc: Huacai Chen <chenhuacai@loongson.cn>
> > Cc: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> > Cc: dann frazier <dann.frazier@canonical.com>
> > Cc: Julian Andres Klode <julian.klode@canonical.com>
> > Cc: Ilias Apalodimas <ilias.apalodimas@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.kiper@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
- [PATCH v5 0/6] linux: implement LoadFile2 initrd loading, Ard Biesheuvel, 2022/10/18
- [PATCH v5 1/6] efi: move MS-DOS stub out of generic PE header definition, Ard Biesheuvel, 2022/10/18
- [PATCH v5 5/6] efi: implement LoadFile2 initrd loading protocol for Linux, Ard Biesheuvel, 2022/10/18
- [PATCH v5 6/6] linux: ignore FDT unless we need to modify it, Ard Biesheuvel, 2022/10/18
- [PATCH v5 3/6] linux/arm: account for COFF headers appearing at unexpected offsets, Ard Biesheuvel, 2022/10/18
- [PATCH v5 2/6] linux/arm: unify ARM/arm64 vs Xen PE/COFF header handling, Ard Biesheuvel, 2022/10/18
- [PATCH v5 4/6] efi/efinet: Don't close connections at fini_hw() time, Ard Biesheuvel, 2022/10/18
- Re: [PATCH v5 0/6] linux: implement LoadFile2 initrd loading, Daniel Kiper, 2022/10/21
- Re: [PATCH v5 0/6] linux: implement LoadFile2 initrd loading,
Ard Biesheuvel <=