TianoCore EDK II (formerly Tiano) is the
reference implementation
In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation ...
of
UEFI
Unified Extensible Firmware Interface (UEFI, as an acronym) is a Specification (technical standard), specification for the firmware Software architecture, architecture of a computing platform. When a computer booting, is powered on, the UEFI ...
by
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
. EDK is the abbreviation for EFI Development Kit and is developed by the TianoCore community.
TianoCore EDK II is the
de facto standard
A ''de facto'' standard is a custom or convention that is commonly used even though its use is not required.
is a Latin phrase (literally " of fact"), here meaning "in practice but not necessarily ordained by law" or "in practice or actuality, ...
generic UEFI services implementation.
History
In 2004, Intel released their "Foundation Code" of their EFI implementation using a
free license
A free license or open license is a license that allows copyrighted work to be reused, modified, and redistributed. These uses are normally prohibited by copyright, patent or other Intellectual property (IP) laws. The term broadly covers '' fr ...
.
The resulting code formed the basis of the community-run EDK project on
SourceForge
SourceForge is a web service founded by Geoffrey B. Jeffery, Tim Perdue, and Drew Streib in November 1999. SourceForge provides a centralized software discovery platform, including an online platform for managing and hosting open-source soft ...
, started in 2004. The name "Tiano" was present in the initial Intel code. The last update to the EDK (version 1) project happened in May 2010. Version 2 is in active development.
An "edk2" project was imported into SourceForge in April 2006, with a package-oriented code base again written by Intel. The initial "DeveloperManual" referred to this project as "Tiano R9". In 2008, a stable, validated version of EDK II was tagged as "UEFI Development Kit 2008" (UDK2008). The tag includes a BuildNotes.txt dating to November 2006 describing the code found in the initial import, and a BuildNotes2.txt describing modules added in May 2008. UDK2010 was the first version of EDK II to be widely known. Intel would continue to validate certain snapshots of EDK II as UDK until 2018, when EDK II moved into a "stable tag" format.
In December 2023 a vulnerability termed "
LogoFAIL" was discovered associated with EDK II which enabled an attacker to insert their own code in place of custom boot logo bitmap loader modules.
Although EDK II implements the UEFI specification, it is not endorsed by the
UEFI Forum
UEFI Forum, Inc. is an Business alliance, alliance between technology companies to coordinate the development of the UEFI specifications. The board of directors includes representatives from twelve ''promoter'' companies: Advanced Micro Devices, ...
.
Projects

EDK II code has been integrated into other projects.
A part of TianoCore is the UEFI shell. When a specific UEFI vendor does not provide a UEFI shell, the one from TianoCore can be used.
Google uses a version of coreboot modified to launch Tiano. This feature is called PIANO (payload into Tiano) or tianocoreboot. PIANO code was merged into
coreboot
coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware (BIOS or UEFI) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and r ...
in 2013. The code was updated to be compatible with EDK II in 2017.
EDK2 source code includes instructions for building as a payload for coreboot or Intel's "slim bootloader".
Project Mu is a fork of EDK-II by
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
. It is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
release of the
UEFI
Unified Extensible Firmware Interface (UEFI, as an acronym) is a Specification (technical standard), specification for the firmware Software architecture, architecture of a computing platform. When a computer booting, is powered on, the UEFI ...
core used in
Microsoft Surface
Microsoft Surface is a family of touchscreen-based personal computer, tablet, and interactive whiteboard hardware products designed and developed by Microsoft. The majority of them run the Windows operating system and use Intel processors.
...
and
Hyper-V
Hyper-V is a native hypervisor developed by Microsoft; it can create virtual machines on x86-64 systems running Windows. It is included in Pro and Enterprise editions of Windows (since Windows 8) as an optional feature to be manually enabled. A ...
products initiated by Microsoft in December 2018. The project promotes the idea of
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
as a service. The project was started to build on TianoCore's EDK II implementation to improve modularity and increase the quality of tests when building UEFI firmware.
EFIDroid is a bootloader for Android devices based on Snapdragon processors that is based on EDK II.
References
External links
*
*
* {{Github, Microsoft/mu_basecore, Project Mu BaseCore
Free BIOS implementations
Firmware
Custom firmware
Software related to embedded Linux
Software using the BSD license
Free software programmed in C
Free software programmed in C++
Unified Extensible Firmware Interface