Welcome to the home of EDK II Development!

If you are new to the project, welcome! We are still in heavy development, but we wish to invite you to take a look at what we have done so far.

Your feedback is critical to making EDK II a success! Please submit any enhancements, defects, or requests through the Project Tracker tool.

The EDK II Project

The EDK II project is the response to the EFI community’s request for a better build and version tracking environment for the EDK. The main differentiation of the EDK II to the current product EDK is the Enhanced Build Environment of the EDK II.

The advantages of the Enhanced Build Environment include:

The EDK II enhanced build environment is a significant departure from the build environment of the current EDK. There are many new concepts and features in the EDK II, which have altered the environment radically. If you are familiar with the current EDK these changes will be obvious, while the benefits of them will be apparent to everyone.

It is important to note, that the compiled results of the EDK II are equivalent to our current EDK, the changes are in the build environment and only affect the sources at the build environment level. In other words, any differences in the code files of the EDK II from the current EDK are only to support the changes in the build environment, once the modules are created, they are functionally identical.

In point of fact, the EDK II is classified at a development level project and the current EDK is an official level project. The current EDK is still intended to be used for volume production and shipments while the EDK II is being further refined through additional development (a process of a year, possibly two).

As the EDK II project matures and the active participation of the EFI open source community members expand the project’s scope (features, functionality, and support) the EDK II project will grow into an official level project. In the mean time, we are pleased in your interest in the EDK II project and encourage your participation and feedback.

Getting Started

To get the code please follow this document. It will walk you through the installation of the Subversion Software Configuration management Client, TortoiseSVN, and show you how to pull the latest copy of the tree.

You will need to Install some external tools that are necessary to build the code.

Further instructions for using the EDK II are provided in the ReleaseNotes.txt at the top of the edk2 directory tree. You may also view the Release Notes using the web interface to the Subversion repository.

Help! If you have questions about the code or run into obstacles getting things to work for you, please post a note on the dev@edk2.tianocore.org mailing list. One of our friendly developers will be happy to help you.

You are not signed up to the project mailing lists by default. We encourage you to subscribe to the mail lists of the edk2 project here. If you were registered and logged in, you could join these lists.

Notes on FAT II Driver Project

FAT Driver Projects are projects for the FAT32 File System Driver, which is based on Microsoft's FAT32 File System Driver Specification. The Fat Drivers are separate from the EDK projects only because the terms of use of the code are unique, requiring us to keep them in a separate code repository (the terms are basically that code developed using the FAT32 Specification must be associated with EFI).

Since the EDK II involved making changes to the source files to support the enhanced build environment, FAT file system driver sources required changes to be compatible with the EDK II build environment. The FAT II sub-project provides those compatible sources without impacting the original FAT driver sub project of the current EDK.

The FAT II Driver Project is a subproject of the EDK II project, and is only used to house the FAT32 code repository. All development tools in the EDK II project are integrated with this sub-project. This project is to be used only to update the repository or to get access to the latest code snapshots. Use the EDK II project to post issues, join mailing lists, participate in discussion forums, etc. In short, consider them one project with two code repositories.