I have a related question. The EFI stub documentation (see [1]), seems to suggest that we have the support to boot the kernel Image, DTB and Rootfs when supplied as separate images to the EFI stub.
However, other Bootloaders like u-boot are supporting newer FIT image format (see [2]), where these 3 images can be bundled into one and passed to the bootloader for verification (both crc as well as cryptographic checks) and loading. This is supported on both x86 and ARM platforms. At Freescale, we have a internal re-worked version of the ARM Bds Linux Loader, where we can parse a FIT format Linux image and load Linux using the same on ARM64 platforms. With the EFI_STUB becoming more or less mandatory and the leagacy ARM Bds Linux Loader being deprecated, are there any plans to provide means to pass FIT format images via EFI_STUB to the ARM64 Linux kernel? [1] https://www.kernel.org/doc/Documentation/efi-stub.txt [2] http://git.denx.de/?p=u-boot.git;a=blob_plain;f=doc/uImage.FIT/kernel.its;hb=HEAD Regards, Bhupesh > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Ard > Biesheuvel > Sent: Tuesday, August 04, 2015 1:27 PM > To: edk2-devel@lists.01.org; leif.lindh...@linaro.org; ler...@redhat.com > Cc: ryan.har...@linaro.org; Ard Biesheuvel > Subject: [edk2] [PATCH] ArmVirtPkg: align ARM BDS build with LinuxLoader > changes > > LinuxLoader has been split off from the ARM BDS into a separate EFI > application. Because we never included this application into the > ArmVirtPkg platforms, its ARM BDS builds have effectively been broken ever > since that change was merged. > > Let's fix the situation by: > - Disabling LinuxLoader support for AARCH64 builds: arm64 Linux kernels > have UEFI stub support enabled by default, and the LinuxLoader code for > booting arm64 Linux kernels is buggy. Note that this does not disable > the ARM BDS text menu, it just removes the ability to boot bare Linux > kernels. > - Adding the LinuxLoader EFI application to the ARM builds. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > --- > ArmVirtPkg/ArmVirt.dsc.inc | 9 ++++++--- ArmVirtPkg/ArmVirtQemu.dsc | 5 > +++++ ArmVirtPkg/ArmVirtQemu.fdf | 3 +++ > 3 files changed, 14 insertions(+), 3 deletions(-) > > diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index > 2e2708d1c281..735f9edc58d6 100644 > --- a/ArmVirtPkg/ArmVirt.dsc.inc > +++ b/ArmVirtPkg/ArmVirt.dsc.inc > @@ -206,6 +206,9 @@ [LibraryClasses.common.UEFI_APPLICATION] > > PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.in > f > > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAlloc > ationLib.inf > HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf > + ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf > + FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf > + SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf > > [LibraryClasses.common.UEFI_DRIVER] > > ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLib > Framework/DxeReportStatusCodeLib.inf > @@ -277,6 +280,9 @@ [PcdsFeatureFlag.common] > > gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE > > +[PcdsFeatureFlag.AARCH64] > + gArmPlatformTokenSpaceGuid.PcdBdsLinuxSupport|FALSE > + > [PcdsFixedAtBuild.common] > gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Virtualization > Platform" > > @@ -398,9 +404,6 @@ [Components.common] > > NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1Comman > dsLib.inf > > NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1Comman > dsLib.inf > > HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLi > b.inf > - ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf > - > FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf > - SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf > > BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgComma > ndLib.inf > > diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index > a2a82a4dba8c..92d55c770f55 100644 > --- a/ArmVirtPkg/ArmVirtQemu.dsc > +++ b/ArmVirtPkg/ArmVirtQemu.dsc > @@ -381,3 +381,8 @@ [Components.common] > MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf > MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > + > +[Components.ARM] > +!if $(INTEL_BDS) == FALSE > + ArmPkg/Application/LinuxLoader/LinuxLoader.inf > +!endif > diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf index > 3c0487cd95b6..47f9b095b3af 100644 > --- a/ArmVirtPkg/ArmVirtQemu.fdf > +++ b/ArmVirtPkg/ArmVirtQemu.fdf > @@ -177,6 +177,9 @@ [FV.FvMain] > INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf > !else > INF ArmPlatformPkg/Bds/Bds.inf > +!if $(ARCH) == ARM > + INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf > +!endif > !endif > > # > -- > 1.9.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel