Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Getting Started with EDK II
This page shows the steps for downloading EDK II from GitHub and compiling projects under various OS/compiler environments.
Several build environments are supported and documented. If instructions are not available for your exact system configuration, you may still be able to tweak the instructions to work on your system.
- Linux: Using EDK II with Native GCC (recommended for current versions of Linux)
- Microsoft Windows: Windows systems (Win7/8/8.1/10)
- Mac OS X: Xcode
- UNIX: Unix-like systems (For non-Linux UNIX, older Linux distros, or when using Cygwin)
Note: Some other build tools may be required depending on the project or package:
- ASL Compiler
- Install Python 2.7.10 or later (https://www.python.org/) to run python tool from source
- PYTHON_HOME - set it as Python 2.7 installation directory
Note: Some of the examples use the Multiple_Workspace feature to configure EDK II BaseTools. This is required for using platform code based on edk2-platforms: (https://github.com/tianocore/edk2-platforms)
Once you have a basic build environment running, you can build a project in RELEASE or DEBUG mode.
GitHub (https://help.github.com/index.html) provides step-by-step instructions for user registration and basic features supported by GitHub
- Setup GitHub for Linux/Windows/MAC (https://help.github.com/articles/set-up-git)
- Download and install a git GUI interface: git GUI Clients (https://git-scm.com/download/gui/win) | TortoiseGit (https://tortoisegit.org/)
- The EDK II project repository is available at https://github.com/tianocore/edk2.
- Prebuilt Windows tools are available at https://github.com/tianocore/edk2-BaseTools-win32.
- EDK II Platforms are available at https://github.com/tianocore/edk2-platforms.
- Content that is not released under an accepted open source license can be found at https://github.com/tianocore/edk2-non-osi.
After setting up your build environment see EDK II Development Process for making contributions to the EDK II Project.
If you have questions about the code or run into obstacles getting things to work, please join the edk2-devel email list and ask your EDK II related questions on the list.
For info on writing a simple UEFI EDK II Application, see: Getting Started Writing Simple Application
To review the basic setup of .DSC, .DEC, and .INF files, see: Build Description Files