Here is the V2 version of the proposal for the edk2-platforms repo.
Changes from V1:
* edk2-platform is not a fork of edk2.
* edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
* edk2-plaforms/master contains all open platforms that are synced with
* Each edk2-platforms branch may support many platforms (not just one)
* Use PACKAGES_PATH to do builds using packages from multiple repositories
* Update edk2-platforms branch naming to clearly identify platforms that
are considered stable and platforms that are under active development.
* edk2 developers may be required to verify platforms in edk2-platforms
builds as part of test criteria. Especially platforms that are intended
to be used with edk2/master in edk2-platforms/stable-* branches.
Similar to edk2-staging, we also have a need to manage platforms
that have been ported to edk2. Jordan has created a repository
called edk2-platforms and has created a branch for the
minnowboard-max that uses a validated release of the UDK 2015 for
the dependent packages:
Instead of creating a branch per feature in edk2-staging, the
proposal is to create a branch per platform or set of platforms
in edk2-platforms. The maintainer(s) that create and support a
platform branch can decide if the platform uses edk2/master for
dependent packages, or uses a stable release of the edk2 for dependent
This proposal provides an area for platform development so we can
minimize the number of platforms that are included in edk2/master.
It is important to keep some platforms in edk2/master so we can use
those platforms to validate features in non-platform packages in
edk2/master. If a new platform does not add feature coverage to
edk2/master, then an edk2-platforms branch would be recommended.
Please review the proposal below for edk2-platforms.
If this proposal is accepted, then a review of the platforms in
edk2/master can be done to see if any of them should be moved to
branches in edk2-platforms.
Need place on tianocore.org where platforms can be maintained by the
EDK II community. This serves several purposes:
* Encourage more platforms sources to be shared earlier in the
* Allow platform sources to be shared that may not yet meet all edk2
required quality criteria
* Allow platform source to be shared so the EDK II community may
choose to help finish and validate
* Allow more platforms to be used as part of the edk2 validation and
* Not intended to be used for bug fixes.
1) Create a new repo called edk2-platforms
a) The default branch edk2-platforms/master contains all open
platforms that are actively validated against the packages
b) The intent is for packages in edk2-platforms to be CPU, Chipset,
SoC, or platform specific. Drivers that are CPU arch and platform
agnostic should be put into the edk2 repo.
2) edk2-platforms discussions use the edk2-devel mailing list
for design/patch/test using the following style for discussion
of a platform branch in edk2-platforms repo.
3) All commits to edk2-platforms must follow same rules use for
commits to edk2 (e.g. Tiano Contributor's Agreement)
4) Process to add a new branch to edk2-platforms
a) Maintainer sends patch email to edk2-devel mailing list
announcing the creation of a new branch in edk2-platforms
with Readme.MD. Readme.MD must be in root of branch with
summary, owners, status, build instructions, target update
instructions, OS compatibility, known issues/limitations,
links to related materials, and anything else a developer
needs to use platform(s) in that branch.
b) Readme.MD must provide the PACKAGES_PATH setting required to
build along with the branch names of other repos that platform
requires. This allows a platform developer(s) to use packages
from edk2/master or to use packages from a validates UDK release
c) Maintainer creates branch with Readme.MD in edk2-platforms
d) An edk2-platforms branch for platforms under developer use the
following branch naming convention:
e) An edk2-platforms branch for stable platforms use the following
branch naming convention:
5) Process to update sources in edk2-platforms branch
a) Commit message subject format:
[platforms/branch PATCH]: Package/Module: Subject
b) Directly commit changes to branch or if community review is desired,
use edk2-devel review process.
7) Process to remove an edk2-platforms branch
a) Stewards may periodically review of branches in edk2-platforms
(once a quarter?)
b) If no activity on a branch for extended period of time and the branch
is not being maintained and is no longer functional then stewards
send email to edk2-devel to request deletion of edk2-platforms branch.
c) If no objections from EDK II community, then branch is deleted and
8) How to evaluate a platform in edk2-platforms
a) Clone edk2-platforms/[branch name]
b) Following instructions in Readme.MD to build firmware and
update target platform
edk2-devel mailing list