EdkRepo is the multi-repository tool for EDK II firmware development. EdkRepo is built on top of git. It is intended to automate common developer workflows for projects that use more than one git repository. For example many of the new projects in the edk2-platforms repository require the user to clone several git repositories. EdkRepo makes it easier to set up and upstream changes for these projects. EdkRepo does not replace git, rather it provides higher level extensions that make it easier to work with git. EdkRepo is written in Python and is compatible with Python 3.5 or later.
- Git 2.13.x or later
- Python 3.5 or later
- Python SetupTools
- Python Pip
Tested versions: 22.04 LTS, 20.04 LTS, 18.04 LTS, 16.04 LTS
sudo apt-get install git python3 python3-setuptools python3-pip
The version of git that is installed by default in Ubuntu 16.04 is too old for EdkRepo (16.04 includes git 2.7.4, the minimum is 2.13+). To upgrade git, run the following commands:
sudo apt-add-repository ppa:git-core/ppa
Press [ENTER] to confirm that you want to add the new repository.
sudo apt-get update
sudo apt-get install git
sudo zipper install git python3 python3-setuptools python3-pip
sudo dnf install git python3-pip
Installing EdkRepo on Linux requires one to extract the tarball and run the included installer script.
- Extract the archive using the following command
tar -xzvf edkrepo-<version>.tar.gz
- Run the installer script
./install.py
and follow the on-screen prompts.
The -v flag can be added for more verbose output if desired.
For an automated non-interactive install, one must provide at least 2 arguments: --local
or --system
and --prompt
or --no-prompt
.
--local
requests installation to the current user's home directory. Root access is not required and no system wide changes are made. This is the recommended installation method.
--system
request a system-wide installation. Root access is required. This method is useful for systems where multiple users will be running EdkRepo as it saves disk space in that scenario.
For system level installations, one must provide the --user
parameter and run the installation script as root.
To build a EdkRepo distribution tarball, the Python wheel package is required in addition to the above dependencies. On Ubuntu, one can install it using:
sudo apt-get install python3-wheel
cd build-scripts
./build_linux_installer.py
To install from source, one must have installed using the tarball method above at least once in order to setup the EdkRepo configuration files. One this is done, one may use the standard distutils method to install EdkRepo from source:
./setup.py install
a) Open a Terminal and type the following command:
xcode-select --install
b) A new window will appear, click Install. c) Accept the license agreement. d) Wait for the installation to complete.
Install Homebrew if it has not been installed already. Homebrew is a package manager for macOS that has become the most common method of installing command line software on macOS that was not originally provided by Apple. EdkRepo has several dependencies that are distributed via Homebrew.
Type the following command to install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Follow the on-screen prompts.
Run the following commands to install EdkRepo's dependencies:
brew install bash-completion git git-gui xz pyenv
pyenv install 3.8.16
pyenv global 3.8.16
During installation, you may be prompted to enter your password.
To enable usage of Pyenv installed Python interpreters and Git command completions, run the following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/tianocore/edk2-edkrepo/main/edkrepo_installer/mac-scripts/setup_git_pyenv_mac.sh)"
Restart your shell so the Pyenv changes can take effect:
exec $SHELL
Extract the archive:
tar -xzvf edkrepo-<version>.tar.gz
If you are installing from source, you will need to build the distribution tarball using the following commands first:
pip install wheel
(If not done already)cd build-scripts
./build_linux_installer.py
Install EdkRepo:
./install.py
Restart your shell so the new Pyenv shim for EdkRepo can take effect:
exec $SHELL
- Git 2.13.x or later
- Python 3.8.8 or later
Git 2.27.0 is the version that has received the most validation, though any version of Git 2.13 or later works fine. If you want to install 2.27.0, here are some links:
Python 3.8.8 or later is recommended due to performance improvements and CVE-2021-3177. You can get Python from here: https://www.python.org/
Windows installer .exe will fail if Python 3.8.8 or later is not detected.
- Run the installer .exe
- Click Install
To install from source, one must build and run the installer .exe using the instructions below at least once in order to setup the EdkRepo configuration files. One this is done, one may use the standard distutils method to install EdkRepo from source:
py -3 setup.py install
- Visual Studio 2015 or later with the C# language and C++ compiler installed
- Python Wheel
Install Python wheel using the following:
py -3 -m pip install wheel
Open a command prompt and type the following:
cd build-scripts
build_windows_installer.bat
Time | Event |
---|---|
WW 10 2021 | Moved from edk2-staging to a dedicated repository |
WW 26 2019 | Initial commit of EdkRepo |
... | ... |
- Ashley DeSimone [email protected]
- Nate DeSimone [email protected]
Please see https://github.com/tianocore/edk2-edkrepo/issues