-
Notifications
You must be signed in to change notification settings - Fork 344
SourceForge to Github Quick Start
__NOTOC__
GitHub (https://help.github.com/index.html) provides step-by-step instructions for user registration and basic features supported by GitHub.
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.
Please note that FatPkg is not included in the EDKII project repository, it is an independent repository which can be found at https://github.com/tianocore/edk2-FatPkg.
Content that is not released under an accepted open source license can be found at https://github.com/tianocore/edk2-non-osi.
Note: Some of the following examples use the Multiple Workspace feature to configure the EDK II BaseTools. More information on the Multiple Workspace feature can be found at the following location.
- Clone the EDK II project repository
- git clone https://github.com/tianocore/edk2
- Change to the edk2 directory
- Build the tools
- make -C BaseTools
- Run the edksetup.sh script
- . edksetup.sh
When the above steps are done, you can work in the edk2 directory for code development.
- Create a workspace directory
- Change to the workspace directory
- Clone the EDK II project repository
- git clone https://github.com/tianocore/edk2
- Clone the edk2-FatPkg repository to “FatPkg”
- git clone https://github.com/tianocore/edk2-FatPkg FatPkg
- Build the tools
- make -C edk2/BaseTools
- Set environment variables
- WORKSPACE – The workspace directory created above
- PACKAGES_PATH – Set it to $WORKSPACE/edk2
Example:
export WORKSPACE=/Sample/Path
export PACKAGES_PATH=$WORKSPACE/edk2
- Run the edksetup.sh script
- . edk2/edksetup.sh
When the above steps are done, the directory structure will look like:
Sample
└───Path (WORKSPACE)
├───edk2
└───FatPkg
- Create a workspace directory
- Change to the workspace directory
- Clone the EDK II project repository
- git clone https://github.com/tianocore/edk2
- Clone the edk2-BaseTools-win32 repository
- Set environment variables:
- EDK_TOOLS_BIN – Set it as the edk2-BaseTools-win32 directory
Example:
set EDK_TOOLS_BIN=c:\efi\test\edk2-BaseTools-win32
- Change to the edk2 directory
- Run the edksetup.bat script
When the above steps are done, the directory structure will look like:
efi
└───test (WORKSPACE)
├───edk2
└───edk2-BaseTools-win32
- Create a workspace directory
- Change to the workspace directory
- Clone the EDK II project repository
- git clone https://github.com/tianocore/edk2
- Clone the edk2-BaseTools-win32 repository
- Clone the edk2-FatPkg repository to “FatPkg”
- git clone https://github.com/tianocore/edk2-FatPkg FatPkg
- Set environment variables:
- WORKSPACE – The workspace directory created above
- PACKAGES_PATH – Set it to %WORKSPACE%\edk2
- EDK_TOOLS_BIN – Set it to %WORKSPACE%\edk2-BaseTools-win32
Example:
set WORKSPACE=c:\efi\test
set PACKAGES_PATH=%WORKSPACE%\edk2
set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
- Run the edksetup.bat script
- edk2\edksetup.bat
When the above steps are done, the directory structure will look like:
efi
└───test (WORKSPACE)
├───edk2
├───edk2-BaseTools-win32
└───FatPkg
Please keep in mind that the EDK II project, FatPkg and edk2-BaseTools-win32 are independent Git repositories. Each of these repositories must be updated individually.
The developer process for the EDK II project is:
-
Setup the EDK II tree if you do not have one
-
Create and checkout a topic branch for new feature or bug fix
-
Make changes in the working tree
-
Break up working tree changes into independent commits that do not break git bisect
-
Follow the commit message template given below when writing commit messages
-
Use the ‘PatchCheck.py’ script under ‘edk2\BaseTools\Scripts’ directory to verify the commits are correctly formatted
-
Update the master branch (pull or fetch/merge)
-
Rebase the topic branch onto master branch
-
Create patch (serial) to the edk2-devel mailing list or upload the topic branch to your forked EDK II project and send the URL and branch name of the fork to the above mailing list
- Using git send-email is the preferred method for posting patches to the mailing list
-
Modify local commits based on the review feedbacks and repeat steps 3 to 9
The maintainer process for the EDK II project is:
- Determine if a patch has met the review requirements for the package
- Update the master branch
- Create and checkout an integration branch
- Integrate reviewed commits on the integration branch
- Rebase commit message to include any reviewed-by or other attributions
- Push changes to the EDKII project repository
- Pushing the integration branch directly to origin/master is preferred
Home
Getting Started with EDK II
Build Instructions
EDK II Platforms
EDK II Documents
EDK II Release Planning
Reporting Issues
Reporting Security Issues
Community Information
Inclusive Language
Additional Projects & Tasks
Training
Community Support
Community Virtual Meetings
GHSA GitHub Security Advisories Proceess (Draft)