From nobody Mon Feb 9 19:31:08 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+96991+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96991+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linux.microsoft.com ARC-Seal: i=1; a=rsa-sha256; t=1670286083; cv=none; d=zohomail.com; s=zohoarc; b=b35N6mlS5d/vyLaoie7CdHDd6a08Uy2y2mRBAXIONjNKnxSMmwe8qVB59tbmU/6rtLw72Xm3WFQRKkssDpAz0IirVecNGJYTDLZQv31ciVIH/F4PF9bWCxWgl8JvbPHKfSNOIYdjHiBF0B5vdCHQ3Z0a0Urb/HeuPlIt+Q7C2u4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670286083; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=VY57Y6pKANUrv0k+2olRiNWkoYnozHnu3iQv9mfux3A=; b=Lzv9VHd7NDSdYMm0h3aRdI3pfs7oqWKga4dVKc5wA4avD8JkpqKUINNmguxaQeDwLOPyXiIZEFoaQ6JQqg8QZyWcH8W7q5jqIYO5EssTm7sSTGuqEcQIqEpZ7pBOXoj+i/BtNZ0xre4sHitzQkd5M7l9PHtPQeGhquL5sl9NUj4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+96991+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16702860833381021.9612980360447; Mon, 5 Dec 2022 16:21:23 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id fNzOYY1788612x7znaaHoC6h; Mon, 05 Dec 2022 16:21:22 -0800 X-Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web11.33773.1670286082091267183 for ; Mon, 05 Dec 2022 16:21:22 -0800 X-Received: from localhost.localdomain (unknown [47.201.8.94]) by linux.microsoft.com (Postfix) with ESMTPSA id 2CE6220B83CB; Mon, 5 Dec 2022 16:21:21 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 2CE6220B83CB From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Sean Brogan , Michael D Kinney , Liming Gao Subject: [edk2-devel] [edk2-wiki][PATCH v2 3/4] Add top-level build instructions file Date: Mon, 5 Dec 2022 19:20:48 -0500 Message-Id: <20221206002049.3155-4-mikuback@linux.microsoft.com> In-Reply-To: <20221206002049.3155-1-mikuback@linux.microsoft.com> References: <20221206002049.3155-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mikuback@linux.microsoft.com X-Gm-Message-State: 6HyhX5WVwozbzoCJ9ls2evqYx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1670286082; bh=VY57Y6pKANUrv0k+2olRiNWkoYnozHnu3iQv9mfux3A=; h=Cc:Date:From:Reply-To:Subject:To; b=e8gAMGuYK3FADdmhxyqRlLmLL6hQ+ioajOXQncJDlMvDBunpxhEcOSeZal0IoEUzG5M BgdWOSY+Ankij5XUxSQzKULuHh6v4qzDia56CDc0jRUAnHWDJkrV9y243cVSpJ4gYJZFf cGhToI8EGcR18d4iWHpW74VoFySxfU5AAM8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1670286083973100006 Content-Type: text/plain; charset="utf-8" From: Michael Kubacki Adds a file that describes various build approaches in edk2 at a high-level and points to the documents with specific instructions for each approach. This is a starting point for this file and it will likely be expanded upon in the future. Cc: Sean Brogan Cc: Michael D Kinney Cc: Liming Gao Signed-off-by: Michael Kubacki --- Build-Instructions.md | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/Build-Instructions.md b/Build-Instructions.md new file mode 100644 index 000000000000..2b6d19725c7d --- /dev/null +++ b/Build-Instructions.md @@ -0,0 +1,35 @@ +# EDK II Build Instructions + +Over the life of the project, EDK II has evolved it's build process. A com= mon theme has been reducing the number of +manual steps involved and easing environment setup and configuration so de= velopers can more quickly get started writing +firmware code. + +There's currently three high-level approaches to build (listed in recommen= ded order): + +1. [Containers](How-to-Develop-With-Containers.md) +2. [Stuart](How-to-Build-With-Stuart.md) +3. [build](Getting-Started-with-EDK-II.mediawiki) + +## Build Option Comparison + +Containers have seen widespread adoption in software development. The capa= bility to deploy well-defined, ready-to-go +images, results in unmatched performance, portability, and consistency of = build environments. By extension, TianoCore +leverages containers for both server-side builds (e.g. for pull requests a= nd continuous integration) and for local +developer builds. The TianoCore project maintains containers in +[tianocore/containers](https://github.com/tianocore/containers). + +If you just want to get started quickly and be able to receive the best su= pport possible (since issues in containers +are easy to reproduce, fix, and deploy), then start with the container ins= tructions. + +Prior to containers, building involved a lot of manual steps. Downloading = compilers, various dependencies, running +the right commands in the right order, and so on. A lot of that work was r= educed and moved into a tool that +orchestrates a lot of the underlying steps needed to simply set up a build= environment and start building code. That +tool is called "Stuart". So if you would like a local build environment wi= thout using containers, it is recommended +to use Stuart. Containers use Stuart and the CI system uses Stuart and man= y CI checks are performed by Stuart to allow +pull requests to be submitted. So running CI locally with Stuart will put = you in a great position to have code ready +for contribution to the project. + +At the core of the build is an application called `build`. Ultimately, con= tainers and Stuart will eventually call +`build` to actually build the code and prior to the introduction of those = two approaches, `build` was the primary +build path. So, you can still call `build` directly. This will result in m= ore manual steps and a lack of the feature +set brought by the other two options but you can produce a working firmwar= e image (in most cases) with `build`. --=20 2.28.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96991): https://edk2.groups.io/g/devel/message/96991 Mute This Topic: https://groups.io/mt/95483150/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-