From 9038538b3cc61768b725db5630f528e3ca8919bf Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Tue, 4 Aug 2015 18:41:45 +0000 Subject: ArmVirtPkg/ArmVirtQemu: add LinuxLoader UEFI app to ARM build 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 Reviewed-by: Laszlo Ersek git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18155 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmVirtPkg/ArmVirt.dsc.inc | 6 +++--- ArmVirtPkg/ArmVirtQemu.dsc | 12 ++++++++++++ ArmVirtPkg/ArmVirtQemu.fdf | 5 +++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc index ced45c8..7bba6eb 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc @@ -206,6 +206,9 @@ 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 @@ 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 5a64409..77d59f3 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -354,3 +354,15 @@ 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 { + + BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf + } diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf index a9ad9ca..6faf3bc 100644 --- a/ArmVirtPkg/ArmVirtQemu.fdf +++ b/ArmVirtPkg/ArmVirtQemu.fdf @@ -237,6 +237,11 @@ READ_LOCK_STATUS = TRUE 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 -- cgit v1.1