This patch updates the HTTP Boot driver to support the download and boot a RAM disk image from HTTP server. The HTTP RAM disk boot is described in section 23.7 "HTTP Boot" in UEFI 2.6. HTTP server could provide either an UEFI image or a RAM disk image for the HTTP boot client to use. The RAM disk image must contain a UEFI compliant file system in it. HTTP boot driver will identify the image type either by the "Content-Type" entity header filed or by the file name extension as below: "application/efi" or *.efi -> EFI Image *.iso -> CD/DVD Image *.img -> Virtual Disk Image Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>
98 lines
3.3 KiB
INI
98 lines
3.3 KiB
INI
## @file
|
|
# This modules produce the Load File Protocol for UEFI HTTP boot.
|
|
#
|
|
# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = HttpBootDxe
|
|
FILE_GUID = ecebcb00-d9c8-11e4-af3d-8cdcd426c973
|
|
MODULE_TYPE = UEFI_DRIVER
|
|
VERSION_STRING = 1.0
|
|
ENTRY_POINT = HttpBootDxeDriverEntryPoint
|
|
UNLOAD_IMAGE = NetLibDefaultUnload
|
|
MODULE_UNI_FILE = HttpBootDxe.uni
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
NetworkPkg/NetworkPkg.dec
|
|
|
|
[Sources]
|
|
HttpBootConfigNVDataStruc.h
|
|
HttpBootDxe.h
|
|
HttpBootDxe.c
|
|
HttpBootConfig.h
|
|
HttpBootConfig.c
|
|
HttpBootComponentName.h
|
|
HttpBootComponentName.c
|
|
HttpBootImpl.h
|
|
HttpBootImpl.c
|
|
HttpBootDhcp4.h
|
|
HttpBootDhcp4.c
|
|
HttpBootDhcp6.h
|
|
HttpBootDhcp6.c
|
|
HttpBootSupport.h
|
|
HttpBootSupport.c
|
|
HttpBootClient.h
|
|
HttpBootClient.c
|
|
HttpBootConfigVfr.vfr
|
|
HttpBootConfigStrings.uni
|
|
|
|
[LibraryClasses]
|
|
UefiDriverEntryPoint
|
|
UefiBootServicesTableLib
|
|
MemoryAllocationLib
|
|
BaseLib
|
|
UefiLib
|
|
DevicePathLib
|
|
DebugLib
|
|
NetLib
|
|
HttpLib
|
|
HiiLib
|
|
PrintLib
|
|
UefiHiiServicesLib
|
|
|
|
[Protocols]
|
|
## TO_START
|
|
## BY_START
|
|
gEfiDevicePathProtocolGuid
|
|
|
|
gEfiLoadFileProtocolGuid ## BY_START
|
|
gEfiHttpServiceBindingProtocolGuid ## CONSUMES
|
|
gEfiHttpProtocolGuid ## CONSUMES
|
|
gEfiDhcp4ServiceBindingProtocolGuid ## TO_START
|
|
gEfiDhcp4ProtocolGuid ## TO_START
|
|
gEfiIp4Config2ProtocolGuid ## TO_START
|
|
gEfiDhcp6ServiceBindingProtocolGuid ## TO_START
|
|
gEfiDhcp6ProtocolGuid ## TO_START
|
|
gEfiDns6ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiDns6ProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiIp6ServiceBindingProtocolGuid ## TO_START
|
|
gEfiIp6ProtocolGuid ## TO_START
|
|
gEfiIp6ConfigProtocolGuid ## TO_START
|
|
gEfiNetworkInterfaceIdentifierProtocolGuid_31 ## SOMETIMES_CONSUMES
|
|
gEfiRamDiskProtocolGuid ## SOMETIMES_CONSUMES
|
|
gEfiHiiConfigAccessProtocolGuid ## BY_START
|
|
|
|
[Guids]
|
|
## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch mHttpBootConfigStorageName
|
|
## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr mHttpBootConfigStorageName
|
|
## SOMETIMES_PRODUCES ## GUID # HiiGetBrowserData mHttpBootConfigStorageName
|
|
## SOMETIMES_CONSUMES ## HII
|
|
gHttpBootConfigGuid
|
|
gEfiVirtualCdGuid ## SOMETIMES_CONSUMES ## GUID
|
|
gEfiVirtualDiskGuid ## SOMETIMES_CONSUMES ## GUID
|
|
|
|
[UserExtensions.TianoCore."ExtraFiles"]
|
|
HttpBootDxeExtra.uni
|