mirror of
https://github.com/Dasharo/edk2.git
synced 2026-06-13 10:16:24 -07:00
DasharoPayloadPkg: Add iPXE support
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
committed by
Sergii Dmytruk
parent
92a43cbc73
commit
b76a3b1f1c
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
---------------
|
||||
|
||||
Reference in New Issue
Block a user