[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/4] linux: implement LoadFile2 initrd loading
From: |
Leif Lindholm |
Subject: |
Re: [PATCH 0/4] linux: implement LoadFile2 initrd loading |
Date: |
Fri, 23 Oct 2020 13:50:55 +0100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Fri, Oct 23, 2020 at 14:08:21 +0200, Ard Biesheuvel wrote:
> This implements the LoadFile2 initrd loading protocol, which is
> essentially a callback face 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.
>
> 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, KASLR will be disabled
> EFI stub: Generating empty DTB
> EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
> EFI stub: Exiting boot services and installing virtual address map...
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070]
I don't review enough grub code to be certain I've caught all aspects
of style adherence, so with that in mind, for 1-2/4:
Reviewed-by: Leif Lindholm <leif@nuviainc.com>
For 3-4/4, I did have some minor comments, but this is a really great
feature and I would like to see it merged.
/
Leif
> Cc: grub-devel@gnu.org
> Cc: daniel.kiper@oracle.com
> Cc: leif@nuviainc.com
>
> Ard Biesheuvel (4):
> loader/linux: permit NULL argument for argv[] in grub_initrd_load()
> efi: add definition of LoadFile2 protocol
> efi: implemented LoadFile2 initr loading protocol for Linux
> linux: ignore FDT unless we need to modify it
>
> grub-core/commands/efi/lsefi.c | 1 +
> grub-core/loader/arm64/linux.c | 139 ++++++++++++++++++--
> grub-core/loader/efi/fdt.c | 7 +-
> grub-core/loader/linux.c | 2 +-
> include/grub/efi/api.h | 15 +++
> 5 files changed, 149 insertions(+), 15 deletions(-)
>
> --
> 2.17.1
>