TianoCore_EDK_II

TianoCore EDK II

TianoCore EDK II

Reference software implementation for UEFI


TianoCore EDK II (formerly Tiano) is the reference implementation of UEFI by Intel. EDK is the abbreviation for EFI Development Kit and is developed by the TianoCore community.[1] TianoCore EDK II is the de facto standard generic UEFI services implementation.[2]

Quick Facts Developer(s), Repository ...

History

In 2004, Intel released their "Foundation Code" of their EFI implementation using a free license.[1] The resulting code formed the basis of the community-run EDK project on SourceForge, started in 2004. The name "Tiano" was present in the initial Intel code.[3] The last update to the EDK (version 1) project happened in May 2010.[4] Version 2 is in active development.[5][non-primary source needed]

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".[6] 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.[7] UDK2010 was the first version of EDK II to be widely known.[8] Intel would continue to validate certain snapshots of EDK II as UDK until 2018, when EDK II moved into a "stable tag" format.[9]

Although EDK II implements the UEFI specification, it is not endorsed by the UEFI Forum.[1]

Projects

UEFI shell 2.2, a part of TianoCore EDK II

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.[10]

Coreboot

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 in 2013.[11] The code was updated to be compatible with EDK II in 2017.[12]

EDK2 source code includes instructions for building as a payload for coreboot or Intel's "slim bootloader".[13]

Project Mu

Project Mu is a fork of EDK-II by Microsoft.[14][15] It is an open source release of the UEFI core used in Microsoft Surface and Hyper-V products initiated by Microsoft in December 2018.[16] The project promotes the idea of Firmware as a Service.[17] The project was started to replace TianoCore's edk2 implementation to improve quality tests of the competing open source UEFI core.[18]

EFIDroid

EFIDroid is a bootloader for Android devices based on Snapdragon processors that is based on EDK-II.[19]

LogoFAIL vulnerability

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.[20]


References

  1. "What is TianoCore?". www.tianocore.org. Retrieved 2021-03-26.
  2. Häuser, Marvin; Cheptsov, Vitaly (2020). "Securing the EDK II Image Loader". 2020 Ivannikov Ispras Open Conference (ISPRAS). pp. 16–25. arXiv:2012.05471. doi:10.1109/ISPRAS51486.2020.00010. ISBN 978-1-6654-1291-9. S2CID 228084173.
  3. "tianocore/edk". tianocore. 9 March 2023.
  4. "Releases · tianocore/edk2". GitHub. Retrieved 2024-02-23.
  5. "EDK II Project". tianocore. 18 May 2023.
  6. Barry, Peter (2012). Modern embedded computing : designing connected, pervasive, media-rich systems. Patrick Crowley. Amsterdam: Elsevier/Morgan Kaufmann. p. 173. ISBN 978-0-12-394407-8. OCLC 778434967.
  7. "UDK". tianocore documentation (GitHub).
  8. "Google Pushes "Project PIANO" Into Coreboot - Phoronix". www.phoronix.com. Retrieved 2021-03-26.

Share this article:

This article uses material from the Wikipedia article TianoCore_EDK_II, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.