TianoCore EDK II
TianoCore EDK II (precedentemente noto Tiano) è l'implementazione di riferimento dell'UEFI sviluppata da Intel. EDK è l'abbreviazione di EFI Development Kit ed è mantenuto dalla comunità TianoCore.[1] TianoCore EDK II è lo standard de facto per l’implementazione generica dei servizi UEFI.[2]
TianoCore EDK II software | |
---|---|
![]() | |
Genere | |
Sviluppatore | Intel |
Ultima versione | 202505 (23 maggio 2025) |
Sistema operativo | |
Licenza | BSD-2-Clause-Patent (licenza libera) |
Sito web | www.tianocore.org |

Storia
modificaNel 2004, Intel ha rilasciato con una licenza libera il proprio "Foundation Code", parte dell'implementazione EFI.[3] Il codice risultante ha costituito la base del progetto EDK gestito dalla comunità su SourceForge e avviato nel 2004. Il nome "Tiano" era già presente nel codice originario fornito da Intel.[4] L'ultimo aggiornamento del progetto EDK (versione 1) risale al maggio 2010.[5] La versione 2 è tuttora in fase di sviluppo.[6][necessaria fonte non primaria ]
Nell'aprile 2006, su SourceForge è stato importato un progetto chiamato "edk2", con un base di codice organizzata in pacchetti sviluppata da Intel. Il manuale di sviluppo iniziale ("Developer Manual) si riferiva a questo progetto come "Tiano R9".[7] Nel 2008, una versione stabile e validata di EDK II è stata etichettata come "UEFI Development Kit 2008" (UDK2008). Il tag include un BuildNotes.txt risalente a novembre 2006 che descrive il codice presente nell'importazione iniziale e un file BuildNotes2.txt relativo ai moduli aggiunti nel maggio 2008.[8] UDK2010 è stata la prima versione di EDK II ad essere ampiamente conosciuta.[9] Intel ha continuato a validare alcuni snapshot di EDK II come UDK fino al 2018, quando EDK II è passato a un formato basato su "tag stabili".[10]
Nel dicembre 2023 è stata scoperta una vulnerabilità denominata "LogoFAIL" associata a EDK II che permetteva a un attaccante di inserire codice malevolo al posto dei moduli di caricamento delle immagini bitmap del logo personalizzato durante l'avvio.[11]
Sebbene EDK II implementi la specifica UEFI, non è approvato dall'UEFI Forum.[12]
Progetti
modificaIl codice EDK II è stato integrato in altri progetti.
Una parte di TianoCore è rappresentata dalla shell UEFI. Quando un determinato produttore UEFI non fornisce una shell UEFI, è possibile utilizzare quella di TianoCore.[13]
Google utilizza una versione di coreboot modificata per avviare Tiano. Questa funzionalità è chiamata PIANO (payload into Tiano) o tianocoreboot. Il codice PIANO è stato integrato in coreboot nel 2013.[14] Il codice è stato aggiornato per essere compatibile con EDK II nel 2017.[15]
Il codice sorgente di EDK2 include istruzioni per la compilazione come payload per coreboot o per il "slim bootloader" di Intel.[16]
Il progetto Mu è un fork di EDK-II sviluppato da Microsoft.[17][18] Si tratta di una versione open source del core UEFI utilizzato nei prodotti Microsoft Surface e Hyper-V, avviata da Microsoft nel dicembre 2018.[19] Il progetto promuove il concetto di firmware come servizio.[20] È stato creato per basarsi sull'implementazione di EDK II di TianoCore per migliorare la modularità e aumentare la qualità dei test nella costruzione del firmware UEFI.[21]
EFIDroid è un bootloader per dispositivi Android basati su processori Snapdragon che si basa su EDK II.[22]
Note
modifica- ^ What is TianoCore?, su www.tianocore.org. URL consultato il 24 giugno 2025.
- ^ Marvin Häuser e Vitaly Cheptsov, 2020 Ivannikov Ispras Open Conference (ISPRAS), 2020, pp. 16–25, DOI:10.1109/ISPRAS51486.2020.00010, ISBN 978-1-6654-1291-9.
- ^ What is TianoCore?, su www.tianocore.org. URL consultato il 24 giugno 2025.
- ^ tianocore/edk, su github.com, tianocore, 9 marzo 2023. URL consultato il 24 giugno 2025.
- ^ (EN) Commits · tianocore/edk, su GitHub. URL consultato il 24 giugno 2025.
- ^ (EN) Releases · tianocore/edk2, su GitHub. URL consultato il 24 giugno 2025.
- ^ EDK II / Code / [r29574] /tags/InitialImport, su sourceforge.net. URL consultato il 24 giugno 2025.
- ^ EDK II Project (TXT), su github.com, tianocore, 18 maggio 2023. URL consultato il 24 giugno 2025.
- ^ Peter Barry, Modern embedded computing : designing connected, pervasive, media-rich systems, Elsevier/Morgan Kaufmann, 2012, p. 173, ISBN 978-0-12-394407-8, OCLC 778434967.
- ^ (EN) UDK, su tianocore documentation (GitHub). URL consultato il 24 giugno 2025.
- ^ The Far-Reaching Consequences of LogoFAIL, su binarly.io, Binarly, 29 novembre 2023. URL consultato il 24 giugno 2025.
- ^ What is TianoCore?, su www.tianocore.org. URL consultato il 24 giugno 2025.
- ^ Yogesh Babar, Hands-on booting learn the boot process of Linux, Windows, and Unix, Apress L. P, 2020, p. 119, ISBN 978-1-4842-5890-3, OCLC 1164505064.
- ^ Google Pushes "Project PIANO" Into Coreboot - Phoronix, su www.phoronix.com. URL consultato il 24 giugno 2025.
- ^ Coreboot Now Has Basic UEFI Support Working With TianoCore - Phoronix, su www.phoronix.com. URL consultato il 24 giugno 2025.
- ^ EDK II Project: BuildAndIntegrationInstructions.txt (TXT), su GitHub, tianocore, 18 maggio 2023. URL consultato il 24 giugno 2025.
- ^ (EN) Microsoft releases Mu open-source UEFI firmware | bit-tech.net, su Bit-tech. URL consultato il 24 giugno 2025.
- ^ Microsoft Announces "Project Mu" For Open-Source UEFI Alternative To TianoCore - Phoronix, su www.phoronix.com. URL consultato il 24 giugno 2025.
- ^ (EN) Microsoft Announces "Project Mu" For Open-Source UEFI Alternative To TianoCore, su www.phoronix.com. URL consultato il 24 giugno 2025.
- ^ Microsoft announces Project Mu, an open-source release of the UEFI core, su betanews.com, 20 dicembre 2018. URL consultato il 24 giugno 2025.
- ^ Microsoft announces Project Mu to promote Firmware as a Service, su neowin.net, 16 giugno 2023. URL consultato il 24 giugno 2025.
- ^ (EN) EFIDroid: A Second-Stage Bootloader Using UEFI Firmware to Multiboot [XDA Spotlight], su xda-developers, 6 marzo 2017. URL consultato il 24 giugno 2025.
Collegamenti esterni
modifica- (EN) Sito ufficiale, su tianocore.org.
- (EN) EDK II, su GitHub.
- (EN) Project Mu BaseCore, su GitHub.