This readme.txt is the same as: UDK2014-ReleaseNotes-MyWorkSpace.txt
================================================================================
UEFI Development Kit (UDK) 2014 Release
File: UDK2014.Complete.MyWorkSpace.zip
SVN Versions
https://svn.code.sf.net/p/edk2/code/branches/UDK2014: r15322
https://svn.code.sf.net/p/edk2-fatdriver2/code/trunk/FatPkg: r84
March 12th, 2014
================================================================================
================================================================================
DISCLAIMER
================================================================================
These release notes as well as the software described is furnished under license
and may only be used or copied in accordance with the terms of the license.
The contens of this file is furnished for informational use only, is subject to
change without notice, and should not be construed as a commitment by Intel Corporation.
Intel Corporation assumes no responsibility or liability for any errors or inaccuracies
that may appear in this document or any software that may be provided in association
with this document.
Except as permitted by such license, no part of this document may be reproduced,
stored in a retrieval system, or transmitted in any form or by any means without
the express written consent of Intel Corporation.
================================================================================
ADDITIONAL DISCLAIMER
================================================================================
This code is based upon the EDK II code base as found on the UEFI Open Source
Community Website (URL:www.tianocore.org).
================================================================================
INDEX
================================================================================
1. FILES LIST
2. REFERENCE PLATFORMS
3. HOW TO BUILD (WINDOWS SYSTEM)
4. HOW TO BUILD (UNIX-LIKE SYSTEM)
5. NEW FEATURES AND CHANGES
6. CORE UPGRADE NOTES
7. KNOWN ISSUES
8. MISC
================================================================================
FILES LIST
================================================================================
1. "UDK2014-ReleaseNotes-MyWorkSpace.txt"
Release notes for entire UEFI Development Kit (UDK) 2014 Release
2. "BaseTools(Windows).zip"
3. "BaseTools(Unix).tar"
4. UDK2014.MyWorkSpace.zip (expand into the following Directories)
1) "CryptoPkg"
2) "EdkCompatibilityPkg"
3) "EdkShellBinPkg"
4) "FatBinPkg"
5) "IntelFrameworkModulePkg"
6) "IntelFrameworkPkg"
7) "MdeModulePkg"
8) "MdePkg"
9) "PcAtChipsetPkg"
10) "PerformancePkg"
11) "ShellBinPkg"
12) "ShellPkg"
13) "UefiCpuPkg"
14) "Nt32Pkg"
15) "DuetPkg"
16) "NetworkPkg"
17) "SecurityPkg"
18) "SourceLevelDebugPkg"
19) "FatPkg"
5. "Documents" Directory
a) "CryptoPkg Document.chm"
b) "CryptoPkg Document.zip"
c) "EdkCompatibilityPkg Document.chm"
d) "EdkCompatibilityPkg Document.zip"
e) "IntelFrameworkModulePkg Document.chm"
f) "IntelFrameworkModulePkg Document.zip"
g) "IntelFrameworkPkg Document.chm"
h) "IntelFrameworkPkg Document.zip"
i) "MdeModulePkg Document.chm"
j) "MdeModulePkg Document.zip"
k) "MdePkg Document With Libraries.chm"
l) "MdePkg Document With Libraries.zip"
m) "MdePkg Document.chm"
n) "MdePkg Document.zip"
o) "NetworkPkg Document With Modules.chm"
p) "NetworkPkg Document With Modules.zip"
q) "SecurityPkg Document With Modules.chm"
r) "SecurityPkg Document With Modules.zip"
6. "Notes" Directory
a) "BaseTools Notes.txt"
b) "CryptoPkg Notes.txt"
c) "EdkCompatibilityPkg Notes.txt"
d) "EdkShellBinPkg Notes.txt"
e) "IntelFrameworkModulePkg Notes.txt"
f) "IntelFrameworkPkg Notes.txt"
g) "MdeModulePkg Notes.txt"
h) "MdePkg Notes.txt"
i) "PcAtChipsetPkg Notes.txt"
j) "UefiCpuPkg Notes.txt"
k) "NetworkPkg Notes.txt"
l) "SecurityPkg Notes.txt"
m) "FatPkg Notes.txt"
n) "SourceLevelDebugPkg Notes.txt"
================================================================================
REFERENCE PLATFORMS
================================================================================
1. Desktop - [Nt32Pkg]
Nt32Pkg\Nt32Pkg.dsc
2. DUET - UEFI Simulation Environment directly on Hardware (via boot process)
There are some feature flags defined by MACROs as listed below. They are introduced
in DSC/FDF files to help a user easily support the specific features.
1) SECURE_BOOT_ENABLE : Provides access for generic authentication information
associated with specific device path.
2) TPM_UID_ENABLE : Provides TCG-defined service, and user identification
feature.
3) IP6_NETWORK_ENABLE : Provides Ipv6 network stack support.
4) DUAL_NETWORK_ENABLE: Provides both Ipv4 and Ipv6 network stacks support.
5) SOURCE_DEBUG_ENABLE: Provides source debugging feature.
For example, the user could support secure boot in firmware by running command:
"build -D SECURE_BOOT_ENABLE"
================================================================================
HOW TO BUILD (WINDOWS SYSTEM)
================================================================================
Windows System Configuration:
Microsoft Windows 7 Ultimate 64-bit*
1. Setup Build Environment
1) Install Microsoft Visual Studio 2008* SP1 in the build machine and make
sure that AMD64 complier was selected when installing.
2. Extract Common Source Code
Extract files in [UDK2014.MyWorkSpace.zip] to the working space directory (e.g C:). Note the
Directory "MyWorkSpace" will be created as a result.
In this case, it is C:\MyWorkspace. There are two BaseTools package one
is for Windows system and another is for UNIX-Like system. Please make
sure BaseTools(Windows).zip is used here. Expand the appropriate BaseTools to C:\MyWorkSpace
3. Generate OpenSSL* Crypto Library
1) Open file "C:\MyWorkspace\CryptoPkg\Library\OpensslLib\Patch-HOWTO.txt"
and follow the instruction to install OpenSSL* for UEFI building.
4. Build Steps
*** NT32 ***
1) Open a command prompt, type command "cd C:\MyWorkspace" to enter the
workspace directory, and then type command "edksetup --NT32" to initialize the
working environment.
2) Type below commands to build platforms
"build -t VS2008x86
There are two methods to select the tool chain (Use Microsoft Visual Studio 2008*
as sample):
1. Update TOOL_CHAIN_TAG in file Conf/target.txt: TOOL_CHAIN_TAG = VS2008
2. Add -t build option in command line: "build -t VS2008 ... "
For 32-bit VS2008 on 64-bit WINDOWS OS, VS2008x86 should be selected instead of
VS2008.
Please refer to tools_def.txt for all supported tool chains and detailed descriptions.
(tools_def.txt will be generated in the "Conf" directory after running "edksetup".)
================================================================================
HOW TO BUILD (UNIX-LIKE SYSTEM)
================================================================================
Unix-Like System Configuration:
DistributorID: Ubuntu*
Description: Ubuntu 10*
Release: Ubuntu 10.10*
Codename: Karmic*
1. Extract Common Source Code
1) Create a working space directory in the build machine, for example, ~/src/MyWorkspace
2) Extract files in [UDK2014.MyWorkSpace] the working space directory.
In this case, it is ~/src/MyWorkSpace. There are two BaseTools package one
is for Windows system and another is for UNIX-Like system. Please make
sure BaseTools(Unix).tar is used here.
3. Generate OpenSSL* Crypto Library
1) Open file "~/src/MyWorkspace/CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt"
and follow the instruction to install OpenSSL* for UEFI building.
4. Setup Build Environment
1) Follow instructions for setting up the build environment on tianocore.org.
"http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Using_EDK_II_with_Native_GCC_4.4"
a) Please be noticed that here the root is "~/src/MyWorkSpace" instead
of "~/src/edk2"
b) Make sure BaseTools is built and required software is installed well.
c) Some operations need switch to user "root" to execute.
5. Build Steps
*** Nt32 ***
1) Open a terminal and type "cd ~/src/MyWorkSpace" to enter the workspace
directory.
2) Initialize the build environment by typing ". edksetup.sh BaseTools".
3) Type below commands to build platforms
"build -t GCC44
================================================================================
NEW FEATURES AND CHANGES
================================================================================
1. Support Unified Extensible Firmware(UEFI) specification 2.4.
NOTE: The below LIST* mantis are not implemented.
2. Support Platform Initialization(PI) specification 1.3.
3. Support OpenSSL version 0.98w and whole X509v3 extension check.
4. Support TPM 2.0.
5. Support I2C.
6. Support NVM Express.
7. Update ACPI5.0 tables, PCI definitions and Atapi definitions.
8. Update BaseTools Python version to 2.7.3.
NOTE:
Please refer to the folder "Notes and Documents" in the C:/MyWorkspace" directory.
This folder contains detailed change text for each Package in this release and
all related documentation for this release.
The changes reflect the difference between this release and the Intel(r) UEFI
Development Kit (Intel (r) UDK) 2010 SR1.UP1 Release.
The following UEFI.ORG mantis tickets have not been implemented:
1) 956 Require network drivers to return EFI_NO_MEDIA
2) 1009 Enable hashes of certificates to be used for revocation, and timestamp
support
3) 1022 adapter information protocol for NIC iSCSI and FCoE boot capabilities
and current Booot Mode
4) 1029 Method for delivery of Capsule on disk; Method for reporting Capsule
processing status
5) 1050 2.4 Draft April 25 has missing text for ECR 1009
================================================================================
CORE UPGRADE NOTES
================================================================================
1. Fixed buffer overflow issues reported by Corey Kallenberg, Xeno Kovah,
John Butterworth, and Sam Cornwell of the MITRE Corporation.
2.MdeModulePkg\Universal\SetupBrowerDxe is updated:
1) Please add the following library instance in platform DSC file.
[LibraryClasses.common]
CustomizedDisplayLib|MdeModulePkg\Library\CustomizedDisplayLib\CustomizedDisplayLib.inf
2) Please add the following module in platform DSC and FDF file, it will work in
cooperation with the SetupBrowerDxe driver.
MdeModulePkg\Universal\DisplayEngineDxe\DisplayEngineDxe.inf
3) Refresh Question CallBack() Action is changed from CHANGING to RETERIEVE.
If HII Driver CallBack() function handles the refresh question in CHANGING
action, the handling code should move to RETERIEVE action.
4) The question value saved to the browser data action is changed from before
CHANGING to after CHANGING. If HII Driver CallBack() function calls HiiGetBrowserData()
in CHANGING action, the handling code should move from CHANGING to CHANGED
action.
3. Fault Tolerant Write PEIM is added in MdeModulePkg, add it to the platform
DSC and FDF file.
MdeModulePkg\Universal\FaultTolerantWritePei\FaultTolerantWritePei.inf
Please refer to OvmfPkg\OvmfPkgX64.fdf to update DATA value for NV_FTW_WORKING.
4. CPU Exception Handler Library is added, add the following library instances
in platform DSC file accordingly.
1) For SEC and PEIM type modules use
CpuExceptionHandlerLib|UefiCpuPkg\Library\CpuExceptionHandlerLib\SecPeiCpuExceptionHandlerLib.inf
2) For DXE_CORE and DXE_DRIVER type modules, use
CpuExceptionHandlerLib|UefiCpuPkg\Library\CpuExceptionHandlerLib\DxeCpuExceptionHandlerLib.inf
3) For DXE_SMM_DRIVER type modules, use
CpuExceptionHandlerLib|UefiCpuPkg\Library\CpuExceptionHandlerLib\SmmCpuExceptionHandlerLib.inf
NOTE: To save size:
CpuExceptionHandlerLib|MdeModulePkg\Library\CpuExceptionHandlerLibNull\CpuExceptionHandlerLibNull.inf
may be used for all modules excepte for CPU AP driver which must use real instance.
5. gEfiGlobalVariableGuid may only be used for UEFI defined variable. Any non-UEFI
defined variables must be use their own GUIDs. Fix all such cases in the
platform drivers. Otherwise variable drivers will return EFI_INVALID_PARAMETER.
6. PCI Host Bridge Driver supports EfiPciHostBridgeEndEnumeration.
7. SecutiryPkg is updated:
1) Add the following library instances in platform DSC file.
[LibraryClasses.common]
TpmMeasurementLib|SecurityPkg\Library\DxeTpmMeasurementLib\DxeTpmMeasurementLib.inf
Tpm12DeviceLib|SecurityPkg\Library\Tpm12DeviceLibDTpm\Tpm12DeviceLibDTpm.inf
Tpm12CommandLib|SecurityPkg\Library\Tpm12CommandLib\Tpm12CommandLib.inf
2) Add the following dynamic PCDs in platform DSC file.
[PcdsDynamicDefault.common.DEFAULT]
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0xb6, 0xe5, 0x01, 0x8b, 0x19, 0x4f, 0xe8, 0x46, 0xab,
0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc}
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy|1
3) Add the following module into DSC and FDF file.
SecurityPkg\Tcg\TrEEConfig\TrEEConfigPei.inf
4) Make sure the following modules link the real PCD library instances and not
the NULL ones.
a. SecurityPkg\Tcg\TcgPei\TcgPei.inf links PcdLib|MdePkg\Library\PeiPcdLib\PeiPcdLib.inf.
b. SecurityPkg\Tcg\TcgDxe\TcgDxe.inf and
SecurityPkg\Tcg\TcgConfigDxe\TcgConfigDxe.inf link PcdLib|MdePkg\Library\DxePcdLib\DxePcdLib.inf
8. Make sure DSC files use the NULL ReportStatusCode Library instance for SEC module
as below:
[LibraryClasses.IA32.SEC]
ReportStatusCodeLib|MdePkg\Library\BaseReportStatusCodeLibNull\BaseReportStatusCodeLibNull.inf
9. PCD gEfiSecurityPkgTokenSpaceGuid.PcdMorEnable has been retired from SecurityPkg.
Remove its reference from the source code and Platform DSC file.
10. BaseTools has been updated to fix HII DEFAULT IFR opcode format based on the UEFI specification.
If the HII driver dynamically updates DEFAULT IFR opcode, it needs to base on its
data type to update DEFAULT IFR value field.
NOTE:
This section and the package notes found in the folder: "C:/Notes and documents" describe
the differences between this release and the earlier
Intel(r) UEFI Development Kit (Intel(r) UDK) 2010 SR1.UP1 Release.
================================================================================
KNOWN ISSUES
================================================================================
1. "edksetup.bat" does not support directories (folders) containing spaces in their name.
Therefore, do not use spaces with any folder name (e.g. "MyWorkspace" NOT "My Workspace").
2. Refer to Package notes in the folder "C:/Notes and Documents" for details surrounding
known issues.
================================================================================
MISC
================================================================================
1. EDKII documentation may be obtained from http://sourceforge.net/projects/edk2/files/.
General Documentation: EDKII User Manual and EDK II Module Writer's Guide.
Specifications: EDKII Build, FDF, INF, DSC, DEC and VFR Specification.
2. Virus scan performed by McAfee VirusScan Enterprise 8.8.0, Virus Definitions 7366,
no virus detected.
* Other names and brands may be claimed as the property of others.
[END OF RELEASE NOTES]