Build: Add network stack drivers into build (#384)

This commit adds basic set of NetworkPkg drivers with HTTP boot support
This commit is contained in:
Savva Mitrofanov 2022-08-31 14:34:32 +06:00 committed by GitHub
parent 59aaf7b1a1
commit 7e69946021
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 193 additions and 9 deletions

View File

@ -1979,6 +1979,150 @@
<key>Path</key> <key>Path</key>
<string>Ext4Dxe.efi</string> <string>Ext4Dxe.efi</string>
</dict> </dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>DpcDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>SnpDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>MnpDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ArpDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Dhcp4Dxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Ip4Dxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Udp4Dxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>TcpDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>DnsDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HttpDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HttpUtilitiesDxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HttpBootDxe.efi</string>
</dict>
<dict> <dict>
<key>Arguments</key> <key>Arguments</key>
<string></string> <string></string>

View File

@ -23,6 +23,23 @@
SKUID_IDENTIFIER = DEFAULT SKUID_IDENTIFIER = DEFAULT
DSC_SPECIFICATION = 0x00010006 DSC_SPECIFICATION = 0x00010006
#
# Network definition
#
DEFINE NETWORK_ENABLE = TRUE
DEFINE NETWORK_SNP_ENABLE = TRUE
DEFINE NETWORK_IP4_ENABLE = TRUE
DEFINE NETWORK_IP6_ENABLE = FALSE
DEFINE NETWORK_TLS_ENABLE = FALSE
DEFINE NETWORK_HTTP_ENABLE = TRUE
DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE
DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
DEFINE NETWORK_ISCSI_ENABLE = FALSE
DEFINE NETWORK_ISCSI_MD5_ENABLE = FALSE
DEFINE NETWORK_VLAN_ENABLE = FALSE
!include NetworkPkg/NetworkDefines.dsc.inc
!include MdePkg/MdeLibs.dsc.inc !include MdePkg/MdeLibs.dsc.inc
[LibraryClasses] [LibraryClasses]
@ -334,6 +351,11 @@
# Ext4 driver # Ext4 driver
Ext4Pkg/Ext4Dxe/Ext4Dxe.inf Ext4Pkg/Ext4Dxe/Ext4Dxe.inf
#
# Network Support
#
!include NetworkPkg/NetworkComponents.dsc.inc
[LibraryClasses] [LibraryClasses]
NULL|OpenCorePkg/Library/OcCompilerIntrinsicsLib/OcCompilerIntrinsicsLib.inf NULL|OpenCorePkg/Library/OcCompilerIntrinsicsLib/OcCompilerIntrinsicsLib.inf
@ -367,6 +389,10 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xFF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo|{0xFF,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|64
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
#
# Network Pcds
#
!include NetworkPkg/NetworkPcds.dsc.inc
[BuildOptions] [BuildOptions]
# While there are no PCDs as of now, there at least are some custom macros. # While there are no PCDs as of now, there at least are some custom macros.
@ -395,3 +421,5 @@
XCODE:*_*_*_MTOC_FLAGS = -align 0x1000 XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:512 CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:512
CLANGGCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 CLANGGCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
!include NetworkPkg/NetworkBuildOptions.dsc.inc

View File

@ -159,11 +159,20 @@ package() {
cp "${arch}/Shell.efi" "${dstdir}/${arch}/EFI/OC/Tools/OpenShell.efi" || exit 1 cp "${arch}/Shell.efi" "${dstdir}/${arch}/EFI/OC/Tools/OpenShell.efi" || exit 1
efiDrivers=( efiDrivers=(
"ArpDxe.efi"
"AudioDxe.efi" "AudioDxe.efi"
"BiosVideo.efi" "BiosVideo.efi"
"CrScreenshotDxe.efi" "CrScreenshotDxe.efi"
"Dhcp4Dxe.efi"
"DnsDxe.efi"
"DpcDxe.efi"
"Ext4Dxe.efi" "Ext4Dxe.efi"
"HiiDatabase.efi" "HiiDatabase.efi"
"HttpBootDxe.efi"
"HttpDxe.efi"
"HttpUtilitiesDxe.efi"
"Ip4Dxe.efi"
"MnpDxe.efi"
"NvmExpressDxe.efi" "NvmExpressDxe.efi"
"OpenCanopy.efi" "OpenCanopy.efi"
"OpenHfsPlus.efi" "OpenHfsPlus.efi"
@ -172,12 +181,15 @@ package() {
"OpenPartitionDxe.efi" "OpenPartitionDxe.efi"
"OpenRuntime.efi" "OpenRuntime.efi"
"OpenUsbKbDxe.efi" "OpenUsbKbDxe.efi"
"OpenVariableRuntimeDxe.efi"
"Ps2KeyboardDxe.efi" "Ps2KeyboardDxe.efi"
"Ps2MouseDxe.efi" "Ps2MouseDxe.efi"
"ResetNvramEntry.efi" "ResetNvramEntry.efi"
"SnpDxe.efi"
"TcpDxe.efi"
"ToggleSipEntry.efi" "ToggleSipEntry.efi"
"Udp4Dxe.efi"
"UsbMouseDxe.efi" "UsbMouseDxe.efi"
"OpenVariableRuntimeDxe.efi"
"XhciDxe.efi" "XhciDxe.efi"
) )
for efiDriver in "${efiDrivers[@]}"; do for efiDriver in "${efiDrivers[@]}"; do