On 4 August 2015 at 10:07, Sharma Bhupesh <bhupesh.sha...@freescale.com> wrote:
> 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.
>

OK, first of all, I should point out that the ARM BDS does not adhere
to the UEFI spec regarding booting removable media. This means that,
as long as you use the ARM BDS, you will not be able to run OS
installers that have their GRUB or kernel image in
/EFI/BOOT/BOOTAA64.EFI, which is a default path defined by the spec.

> 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?
>

No. FIT images are a U-Boot construct. The recommended way under UEFI
is to install the device tree as a FDT configuration table in the
firmware. Look at FdtPlatformDxe for more info. The initrd can be
loaded by the EFI stub, by passing the initrd= option.

The recommended way of doing authentication of bootable images is to
use UEFI Secure Boot. DTB authentication is implicit if it is part of
the UEFI image itself. How to do initrd authentication is undefined.

Regards,
Ard.

>> -----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

Reply via email to