tianocore/edk2 logo

tianocore/edk2

Free

EDK II

FreeFree tier
Type
Open Source

About tianocore/edk2

EDK II is a modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org. Developed by the TianoCore community as an open-source project on GitHub, it provides a comprehensive set of tools, libraries, and packages to build UEFI-compliant firmware for a wide range of architectures including x86, ARM, and RISC-V. The repository includes over 36,000 commits, extensive CI/CD pipeline support across multiple toolchains (VS, GCC, CLANG), and a BSD-2-Clause Plus Patent License for the majority of its content.

Key Features

Cross-platform firmware development for UEFI and PI specifications
Supports multiple toolchains: Visual Studio, GCC, CLANGPDB, CLANGDWARF
Includes packages for ARM, x86, RISC-V, and other architectures
Active CI/CD integration with Azure Pipelines and GitHub Actions
BSD-2-Clause Plus Patent License (open source)
Large community with 6.1k stars and 3.2k forks on GitHub

Pros & Cons

Pros
  • Free and open-source under permissive BSD license
  • Cross-platform support (Windows, Linux, macOS via toolchains)
  • Comprehensive package set covering many hardware platforms
  • Well-maintained with active community and regular commits
  • Standardized environment aligned with UEFI Forum specifications
Cons
  • Steep learning curve for newcomers unfamiliar with UEFI and firmware development
  • Large codebase (36k+ commits) can be daunting to navigate
  • Setup requires specific toolchains and Python dependencies
  • Limited documentation for advanced use cases beyond basic build instructions

Best For

Building UEFI firmware for PCs, servers, and embedded devicesDeveloping bootloaders and system firmwareResearch and education in firmware engineeringPlatform initialization and hardware abstraction layer development

FAQ

What is the EDK II project?
EDK II is a modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications, hosted on GitHub by the TianoCore community.
Is EDK II free to use?
Yes, EDK II is open-source and free. The majority of the content uses a BSD-2-Clause Plus Patent License.
What toolchains are supported?
EDK II supports multiple toolchains including Visual Studio (VS), GCC, CLANGPDB, and CLANGDWARF across Windows and Ubuntu environments.
Can I use EDK II for ARM firmware development?
Yes, EDK II includes ArmPkg, ArmPlatformPkg, and ArmVirtPkg specifically for ARM and AArch64 architectures.