Intel recently released the UEFI Development Kit 2017 (UDK2017) for development of Unified Extensible Firmware Interface (UEFI) firmware, device drivers, and applications. UDK2017 is a snapshot of EDK II from the TianoCore open source project.
If this ‘stable snapshot’ concept sounds familiar, it’s probably because you read my article on the UDK2015 release. The last UDK update followed the same format, but based on an earlier set of specifications. UDK2017 adds a number of features, along with updates to core specifications. Some key features:
- Industry Standards: UEFI 2.6, UEFI PI 1.4a, UEFI Shell 2.2, and SMBIOS 3.1.0/3.1.1
- Storage Technologies: NVMe and RAM Disk (UEFI 2.6, Section 12.17, RAM Disk Protocol)
- Compilers & Tools: GCC 5.x, CLANG/LLVM, NASM, OpenSSL 1.1.0e
- UEFI HTTP/HTTPS Boot with TLS
- Signed Capsule Update and Recovery Images
- Improvements to SMI (SMI Handler Profile, SMM Communication Buffer Protections, SMM Page Protection Feature)
- NX Page Protection in DXE
- LZMA Compression 16.04 and Brotli Compression
- MP Init Library and CPU Feature Initialization
These features have been in development in open source EDK II for some time, but UDK2017 provides a stable branch for projects utilizing these improvements. New platforms like the upcoming MinnowBoard 3 will be based on UDK2017, while cutting edge development continues in the EDK II master branch. EDK II is the most active TianoCore project, deployed by major manufacturers on millions of platforms including servers, clients, and IoT edge devices.
As with previous UDK releases, UDK2017 is a subset of EDK II applicable to Intel architecture firmware. EDK II covers a broad set of requirements, including obsolete packages or features that can’t be verified on Intel platforms. Since UDK2017 maps to a specific branch of EDK II, it’s easy to add packages that aren’t part of the validated subset.
For more information, please refer to the UDK2017 Release Page.