From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 755A7740037 for ; Mon, 30 Oct 2023 23:09:30 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=eWI/oZ5H8Ws0BA2aPdoALzk2lMBDoZqAJXfwdHLIglc=; c=relaxed/simple; d=groups.io; h=DKIM-Filter:From:To:Cc:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1698707369; v=1; b=kw+3A4mEOHRrquTG+PB7Gjuo0KS4IgdmQPGAAusGDBz1djWkX/8mS7ImUhXuMuvoOQni++JC lSnyr5+V1xf+fDlxGcP1/lEtJd2+kJwcq7vLqdxDCRzwyD6MmvHdRE1+4boydzyj2MI1V/fTAyg cJv7WHho+vN2bmLg33Mlhu9Q= X-Received: by 127.0.0.2 with SMTP id jOpHYY7687511xpHcarHQ3TS; Mon, 30 Oct 2023 16:09:29 -0700 X-Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web10.173797.1698707368640696182 for ; Mon, 30 Oct 2023 16:09:28 -0700 X-Received: from localhost.localdomain (unknown [47.201.241.95]) by linux.microsoft.com (Postfix) with ESMTPSA id 61CD220B74C0; Mon, 30 Oct 2023 16:09:27 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 61CD220B74C0 From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Gerd Hoffmann , Julien Grall , Leif Lindholm , Sami Mujawar Subject: [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents Date: Mon, 30 Oct 2023 19:09:02 -0400 Message-ID: <20231030230902.849-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Precedence: Bulk 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 List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 2EdISLGTfXKhDs9FPuxrTtXvx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=kw+3A4mE; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=linux.microsoft.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io From: Michael Kubacki Since the code is most regularly tested in CI, distro/versioning details are updated to match the latest CI configuration. CI has moved from Ubuntu 18.04 to Ubuntu 22.04 since the time of the file's creation, but the code is actually built in a Fedora container so Fedora is mentioned as the primary build/test environment. Updates the following information: - Build OS: Fedora 37 Linux - Supported Configuration: Additional DSCs added - Python: 3.12.x - Packaging Tool: dnf instead of apt - Container Details: Added - Primary Build Example: QemuBuild.py instead of PlatformBuild.py Cc: Ard Biesheuvel Cc: Gerd Hoffmann Cc: Julien Grall Cc: Leif Lindholm Cc: Sami Mujawar Signed-off-by: Michael Kubacki --- Notes: I don't use ArmVirtPkg that often. I was reviewing the file for the latest build instructions and realized it was quite out of date, leading to this patch. =20 The project is using Python 3.11.x right now, but a patch is going in the next day or so that has shown Python 3.12 will work: https://edk2.groups.io/g/devel/message/110323 =20 So I went ahead and made the Python version in this patch mention 3.12.x. ArmVirtPkg/PlatformCI/ReadMe.md | 53 +++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/ArmVirtPkg/PlatformCI/ReadMe.md b/ArmVirtPkg/PlatformCI/Read= Me.md index ee8d8cd61e73..c0f2b2a43b3c 100644 --- a/ArmVirtPkg/PlatformCI/ReadMe.md +++ b/ArmVirtPkg/PlatformCI/ReadMe.md @@ -5,28 +5,43 @@ to use the same Pytools based build infrastructure loca= lly. =20 ## Supported Configuration Details =20 -This solution for building and running ArmVirtPkg has only been validate= d with Ubuntu -18.04 and the GCC5 toolchain. Two different firmware builds are supporte= d and are -described below. +This solution for building and running ArmVirtPkg has been validated wit= h Fedora +37 Linux and the GCC5 toolchain. Two different firmware builds are suppo= rted +and are described below. =20 -| Configuration name | Architecture | DSC File |Addit= ional Flags | -| :---------- | :----- | :----- | :---= - | -| AARCH64 | AARCH64 | ArmVirtQemu.dsc | None= | -| ARM | ARM | ArmVirtQemu.dsc | None= | +| Configuration name | Architecture | DSC File = | Additional Flags | +| :---------- | :----- | :----- = | :---- | +| AARCH64 - KVM Cloud HV | AARCH64 | ArmVirtCloudHv.dsc = | None | +| ARM - KVM Cloud HV | ARM | ArmVirtCloudHv.dsc = | None | +| AARCH64 - kvmtool | AARCH64 | ArmVirtKvmTool.dsc = | None | +| ARM - kvmtool | ARM | ArmVirtKvmTool.dsc = | None | +| AARCH64 - QEMU | AARCH64 | ArmVirtQemu.dsc = | None | +| ARM - QEMU | ARM | ArmVirtQemu.dsc = | None | +| AARCH64 - QEMU Kernel | AARCH64 | ArmVirtQemuKernel.dsc = | None | +| ARM - QEMU Kernel | ARM | ArmVirtQemuKernel.dsc = | None | +| AARCH64 - Xen HV | AARCH64 | ArmVirtXen.dsc = | None | +| ARM - Xen HV | ARM | ArmVirtXen.dsc = | None | =20 ## EDK2 Developer environment =20 -- [Python 3.8.x - Download & Install](https://www.python.org/downloads/) +- [Python 3.12.x - Download & Install](https://www.python.org/downloads/= ) - [GIT - Download & Install](https://git-scm.com/download/) - [QEMU - Download, Install, and add to your path](https://www.qemu.org/= download/) - [Edk2 Source](https://github.com/tianocore/edk2) -- Additional packages found necessary for Ubuntu 18.04 - - apt-get install gcc g++ make uuid-dev +- Additional packages found necessary for Fedora Linux 37 + - dnf install gcc g++ make libuuid-devel =20 Note: edksetup, Submodule initialization and manual installation of NASM= , iASL, or the required cross-compiler toolchains are **not** required, this is han= dled by the Pytools build system. =20 +The code is built in CI using a container. The latest Fedora Linux 37 co= ntainer is +available in this GitHub container registry feed +[fedora-37-test](https://github.com/tianocore/containers/pkgs/container/= containers%2Ffedora-37-test). + +The exact container version tested in CI is maintained in this file +[edk2/.azurepipelines/templates/default.yml](https://github.com/tianocor= e/edk2/blob/HEAD/.azurepipelines/templates/defaults.yml). + ## Building with Pytools for ArmVirtPkg =20 If you are unfamiliar with Pytools, it is recommended to first read thro= ugh @@ -57,16 +72,16 @@ the generic set of edk2 [Build Instructions](https://= github.com/tianocore/tianoc pip install --upgrade -r pip-requirements.txt ``` =20 -4. Initialize & Update Submodules - only when submodules updated +4. Initialize & Update Submodules - only when submodules updated (QEMU b= uild example) =20 ``` bash - stuart_setup -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TA= G=3D -a + stuart_setup -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=3D= -a ``` =20 -5. Initialize & Update Dependencies - only as needed when ext_deps chang= e +5. Initialize & Update Dependencies - only as needed when ext_deps chang= e (QEMU build example) =20 ``` bash - stuart_update -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_T= AG=3D -a + stuart_update -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=3D= -a ``` =20 6. Compile the basetools if necessary - only when basetools C source fil= es change @@ -75,13 +90,13 @@ the generic set of edk2 [Build Instructions](https://= github.com/tianocore/tianoc python BaseTools/Edk2ToolsBuild.py -t ``` =20 -7. Compile Firmware +7. Compile Firmware (QEMU build example) =20 ``` bash - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TA= G=3D -a + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=3D= -a ``` =20 - - use `stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py -h` op= tion to see additional + - use `stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py -h` option= to see additional options like `--clean` =20 8. Running Emulator @@ -90,7 +105,7 @@ the generic set of edk2 [Build Instructions](https://g= ithub.com/tianocore/tianoc - or use the `--FlashOnly` feature to just run the emulator. =20 ``` bash - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_= TAG=3D -a --FlashOnly + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=3D= -a --FlashOnly ``` =20 ### Notes @@ -120,7 +135,7 @@ command-line. _stuart_build_ currently requires value= s to be assigned, so add an For example, to enable the TPM2 support, instead of the traditional "-D = TPM2_ENABLE=3DTRUE", the stuart_build command-line would be: =20 -`stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py BLD_*_TPM2_ENABL= E=3DTRUE` +`stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py BLD_*_TPM2_ENABLE=3D= TRUE` =20 ## References =20 --=20 2.42.0.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110348): https://edk2.groups.io/g/devel/message/110348 Mute This Topic: https://groups.io/mt/102287336/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-