On 4 August 2015 at 17:21, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote:
> The ARM build still needs an intermediate loader to boot Linux,
> since ARM/Linux has no builtin UEFI boot stub (yet).
>
> So add the LinuxLoader UEFI application to the FV, and enable
> the FvSimpleFileSystemDxe driver so that we can invoke the
> Linux loader from the shell, e.g.,
>
>   Shell> linuxloader fs2:zImage -c console=ttyAMA0
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Reviewed-by: Laszlo Ersek <ler...@redhat.com>
> ---
>  ArmVirtPkg/ArmVirt.dsc.inc | 6 +++---
>  ArmVirtPkg/ArmVirtQemu.dsc | 9 +++++++++
>  ArmVirtPkg/ArmVirtQemu.fdf | 5 +++++
>  3 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
> index ced45c8194bc..7bba6eba05a8 100644
> --- a/ArmVirtPkg/ArmVirt.dsc.inc
> +++ b/ArmVirtPkg/ArmVirt.dsc.inc
> @@ -206,6 +206,9 @@ [LibraryClasses.common.UEFI_APPLICATION]
>    PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
>    
> MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.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/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
> @@ -396,9 +399,6 @@ [Components.common]
>        
> NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
>        
> NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
>        
> HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.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/UefiShellBcfgCommandLib.inf
>
> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
> index 5a644090be7c..61e95517259c 100644
> --- a/ArmVirtPkg/ArmVirtQemu.dsc
> +++ b/ArmVirtPkg/ArmVirtQemu.dsc
> @@ -354,3 +354,12 @@ [Components.common]
>    MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
>    MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
>    MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
> +
> +[Components.ARM]
> +  #
> +  # The ARM/Linux kernel has no built in EFI boot stub (yet), so we still 
> need
> +  # an intermediate OS loader. Add the LinuxLoader UEFI application so we can
> +  # invoke it from the shell.
> +  #
> +  MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
> +  ArmPkg/Application/LinuxLoader/LinuxLoader.inf

This needs

+    <LibraryClasses>
+      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf

since I removed the common BdsLib resolution from ArmVirt.dsc.inc in patch #1.

I will just add that when committing, unless anyone feels I need to repost.

-- 
Ard.


> diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
> index a9ad9ca6fe2d..6faf3bc12172 100644
> --- a/ArmVirtPkg/ArmVirtQemu.fdf
> +++ b/ArmVirtPkg/ArmVirtQemu.fdf
> @@ -237,6 +237,11 @@ [FV.FvMain]
>      SECTION RAW = MdeModulePkg/Logo/Logo.bmp
>    }
>
> +!if $(ARCH) == ARM
> +  INF MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
> +  INF ArmPkg/Application/LinuxLoader/LinuxLoader.inf
> +!endif
> +
>  [FV.FVMAIN_COMPACT]
>  FvAlignment        = 16
>  ERASE_POLARITY     = 1
> --
> 1.9.1
>
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to