DasharoPayloadPkg: Add iPXE support

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
Patrick Rudolph
2020-05-11 14:38:51 +02:00
committed by Sergii Dmytruk
parent 92a43cbc73
commit b76a3b1f1c
6 changed files with 34 additions and 1 deletions
+3
View File
@@ -61,6 +61,9 @@ gDasharoPayloadPkgTokenSpaceGuid.PcdPayloadStackTop|0x90000|UINT32|0x10000004
## FFS filename to find the shell application.
gDasharoPayloadPkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1c, 0x4f, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }|VOID*|0x10000005
### FFS filename to find the ipxe application.
gDasharoPayloadPkgTokenSpaceGuid.PcdiPXEFile|{ 0xC7, 0x53, 0x86, 0xb6, 0xA1, 0xEE, 0x35, 0x44, 0xA1, 0x99, 0xA4, 0x4F, 0x59, 0xE4, 0x47, 0x6C }|VOID*|0x10000006
## Used to help reduce fragmentation in the EFI memory map
gDasharoPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0x08|UINT32|0x10000012
gDasharoPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0x04|UINT32|0x10000013
+4
View File
@@ -96,6 +96,10 @@
DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
!include NetworkPkg/NetworkDefines.dsc.inc
#
# IPXE support
#
DEFINE NETWORK_IPXE = FALSE
[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
+9
View File
@@ -230,6 +230,15 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
#
!include NetworkPkg/Network.fdf.inc
#
# iPXE support
#
!if $(NETWORK_IPXE) == TRUE
FILE FREEFORM = B68653C7-EEA1-4435-A199-A44F59E4476C {
SECTION PE32 = DasharoPayloadPkg/NetworkDrivers/ipxe.efi
}
!endif
#
# Random Number Generator
#
@@ -289,7 +289,17 @@ PlatformBootManagerAfterConsole (
//
PlatformRegisterFvBootOption (PcdGetPtr (PcdShellFile), L"UEFI Shell", LOAD_OPTION_ACTIVE);
Print (L"Press ESC to enter Boot Manager Menu.\n");
//
// Register iPXE
//
PlatformRegisterFvBootOption (PcdGetPtr (PcdiPXEFile), L"iPXE Network boot", LOAD_OPTION_ACTIVE);
Print (
L"\n"
L"F2 or Down to enter Boot Manager Menu.\n"
L"ENTER to boot directly.\n"
L"\n"
);
}
/**
@@ -66,6 +66,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand
gDasharoPayloadPkgTokenSpaceGuid.PcdShellFile
gDasharoPayloadPkgTokenSpaceGuid.PcdiPXEFile
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
+6
View File
@@ -64,6 +64,12 @@ OvmfPkg_Ubuntu_GCC_ | IA32 |op32du| |op32ru| |op3
`More OvmfPkg CI Build Information <OvmfPkg/PlatformCI/ReadMe.md>`__
To use iPXE as payload:
.. code-block:: bash
build -D NETWORK_IPXE=TRUE -D SERIAL_TERMINAL=FALSE -D SECURE_BOOT_ENABLE=TRUE -D BOOTLOADER=COREBOOT -D PCIE_BASE=0xe0000000 -DPS2_KEYBOARD_ENABLE -a IA32 -a X64 -t GCC5 -b DEBUG -p DasharoPayloadPkg/DasharoPayloadPkgIa32X64.dsc`
License Details
---------------