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