* [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents
@ 2023-10-30 23:09 Michael Kubacki
2023-10-31 12:23 ` Laszlo Ersek
0 siblings, 1 reply; 5+ messages in thread
From: Michael Kubacki @ 2023-10-30 23:09 UTC (permalink / raw)
To: devel
Cc: Ard Biesheuvel, Gerd Hoffmann, Julien Grall, Leif Lindholm,
Sami Mujawar
From: Michael Kubacki <michael.kubacki@microsoft.com>
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 <ardb+tianocore@kernel.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Julien Grall <julien@xen.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
---
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.
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
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/ReadMe.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 locally.
## Supported Configuration Details
-This solution for building and running ArmVirtPkg has only been validated with Ubuntu
-18.04 and the GCC5 toolchain. Two different firmware builds are supported and are
-described below.
+This solution for building and running ArmVirtPkg has been validated with Fedora
+37 Linux and the GCC5 toolchain. Two different firmware builds are supported
+and are described below.
-| Configuration name | Architecture | DSC File |Additional 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 |
## EDK2 Developer environment
-- [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
Note: edksetup, Submodule initialization and manual installation of NASM, iASL, or
the required cross-compiler toolchains are **not** required, this is handled by the
Pytools build system.
+The code is built in CI using a container. The latest Fedora Linux 37 container 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/tianocore/edk2/blob/HEAD/.azurepipelines/templates/defaults.yml).
+
## Building with Pytools for ArmVirtPkg
If you are unfamiliar with Pytools, it is recommended to first read through
@@ -57,16 +72,16 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
pip install --upgrade -r pip-requirements.txt
```
-4. Initialize & Update Submodules - only when submodules updated
+4. Initialize & Update Submodules - only when submodules updated (QEMU build example)
``` bash
- stuart_setup -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+ stuart_setup -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
```
-5. Initialize & Update Dependencies - only as needed when ext_deps change
+5. Initialize & Update Dependencies - only as needed when ext_deps change (QEMU build example)
``` bash
- stuart_update -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+ stuart_update -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
```
6. Compile the basetools if necessary - only when basetools C source files change
@@ -75,13 +90,13 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
python BaseTools/Edk2ToolsBuild.py -t <ToolChainTag>
```
-7. Compile Firmware
+7. Compile Firmware (QEMU build example)
``` bash
- stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+ stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
```
- - use `stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py -h` option to see additional
+ - use `stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py -h` option to see additional
options like `--clean`
8. Running Emulator
@@ -90,7 +105,7 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
- or use the `--FlashOnly` feature to just run the emulator.
``` bash
- stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
+ stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
```
### Notes
@@ -120,7 +135,7 @@ command-line. _stuart_build_ currently requires values to be assigned, so add an
For example, to enable the TPM2 support, instead of the traditional "-D TPM2_ENABLE=TRUE", the stuart_build
command-line would be:
-`stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py BLD_*_TPM2_ENABLE=TRUE`
+`stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py BLD_*_TPM2_ENABLE=TRUE`
## References
--
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]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents
2023-10-30 23:09 [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents Michael Kubacki
@ 2023-10-31 12:23 ` Laszlo Ersek
2023-10-31 13:43 ` Laszlo Ersek
2023-10-31 15:15 ` Michael Kubacki
0 siblings, 2 replies; 5+ messages in thread
From: Laszlo Ersek @ 2023-10-31 12:23 UTC (permalink / raw)
To: devel, mikuback
Cc: Ard Biesheuvel, Gerd Hoffmann, Julien Grall, Leif Lindholm,
Sami Mujawar
On 10/31/23 00:09, Michael Kubacki wrote:
> From: Michael Kubacki <michael.kubacki@microsoft.com>
>
> 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 <ardb+tianocore@kernel.org>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> ---
>
> 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.
>
> 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
>
> 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/ReadMe.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 locally.
>
> ## Supported Configuration Details
>
> -This solution for building and running ArmVirtPkg has only been validated with Ubuntu
> -18.04 and the GCC5 toolchain. Two different firmware builds are supported and are
> -described below.
> +This solution for building and running ArmVirtPkg has been validated with Fedora
> +37 Linux and the GCC5 toolchain. Two different firmware builds are supported
> +and are described below.
"Two different firmware builds" is now stale; we're listing 10.
I'd suggest "The following different firmware builds".
No need to repost just for that; I'm fine if it gets updated upon merge.
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Thanks
Laszlo
>
> -| Configuration name | Architecture | DSC File |Additional 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 |
>
> ## EDK2 Developer environment
>
> -- [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
>
> Note: edksetup, Submodule initialization and manual installation of NASM, iASL, or
> the required cross-compiler toolchains are **not** required, this is handled by the
> Pytools build system.
>
> +The code is built in CI using a container. The latest Fedora Linux 37 container 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/tianocore/edk2/blob/HEAD/.azurepipelines/templates/defaults.yml).
> +
> ## Building with Pytools for ArmVirtPkg
>
> If you are unfamiliar with Pytools, it is recommended to first read through
> @@ -57,16 +72,16 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
> pip install --upgrade -r pip-requirements.txt
> ```
>
> -4. Initialize & Update Submodules - only when submodules updated
> +4. Initialize & Update Submodules - only when submodules updated (QEMU build example)
>
> ``` bash
> - stuart_setup -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> + stuart_setup -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> ```
>
> -5. Initialize & Update Dependencies - only as needed when ext_deps change
> +5. Initialize & Update Dependencies - only as needed when ext_deps change (QEMU build example)
>
> ``` bash
> - stuart_update -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> + stuart_update -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> ```
>
> 6. Compile the basetools if necessary - only when basetools C source files change
> @@ -75,13 +90,13 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
> python BaseTools/Edk2ToolsBuild.py -t <ToolChainTag>
> ```
>
> -7. Compile Firmware
> +7. Compile Firmware (QEMU build example)
>
> ``` bash
> - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
> ```
>
> - - use `stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py -h` option to see additional
> + - use `stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py -h` option to see additional
> options like `--clean`
>
> 8. Running Emulator
> @@ -90,7 +105,7 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
> - or use the `--FlashOnly` feature to just run the emulator.
>
> ``` bash
> - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
> + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
> ```
>
> ### Notes
> @@ -120,7 +135,7 @@ command-line. _stuart_build_ currently requires values to be assigned, so add an
> For example, to enable the TPM2 support, instead of the traditional "-D TPM2_ENABLE=TRUE", the stuart_build
> command-line would be:
>
> -`stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py BLD_*_TPM2_ENABLE=TRUE`
> +`stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py BLD_*_TPM2_ENABLE=TRUE`
>
> ## References
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110405): https://edk2.groups.io/g/devel/message/110405
Mute This Topic: https://groups.io/mt/102287336/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents
2023-10-31 12:23 ` Laszlo Ersek
@ 2023-10-31 13:43 ` Laszlo Ersek
2023-10-31 15:25 ` Laszlo Ersek
2023-10-31 15:15 ` Michael Kubacki
1 sibling, 1 reply; 5+ messages in thread
From: Laszlo Ersek @ 2023-10-31 13:43 UTC (permalink / raw)
To: devel, mikuback
Cc: Ard Biesheuvel, Gerd Hoffmann, Julien Grall, Leif Lindholm,
Sami Mujawar
On 10/31/23 13:23, Laszlo Ersek wrote:
> On 10/31/23 00:09, Michael Kubacki wrote:
>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>
>> 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 <ardb+tianocore@kernel.org>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Cc: Julien Grall <julien@xen.org>
>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
>> Cc: Sami Mujawar <sami.mujawar@arm.com>
>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>> ---
>>
>> 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.
>>
>> 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
>>
>> 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/ReadMe.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 locally.
>>
>> ## Supported Configuration Details
>>
>> -This solution for building and running ArmVirtPkg has only been validated with Ubuntu
>> -18.04 and the GCC5 toolchain. Two different firmware builds are supported and are
>> -described below.
>> +This solution for building and running ArmVirtPkg has been validated with Fedora
>> +37 Linux and the GCC5 toolchain. Two different firmware builds are supported
>> +and are described below.
>
> "Two different firmware builds" is now stale; we're listing 10.
>
> I'd suggest "The following different firmware builds".
>
> No need to repost just for that; I'm fine if it gets updated upon merge.
>
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
With the proposed update included:
Queued via <https://github.com/tianocore/edk2/pull/4984>.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110416): https://edk2.groups.io/g/devel/message/110416
Mute This Topic: https://groups.io/mt/102287336/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents
2023-10-31 13:43 ` Laszlo Ersek
@ 2023-10-31 15:25 ` Laszlo Ersek
0 siblings, 0 replies; 5+ messages in thread
From: Laszlo Ersek @ 2023-10-31 15:25 UTC (permalink / raw)
To: devel, mikuback
Cc: Ard Biesheuvel, Gerd Hoffmann, Julien Grall, Leif Lindholm,
Sami Mujawar
On 10/31/23 14:43, Laszlo Ersek wrote:
> On 10/31/23 13:23, Laszlo Ersek wrote:
>> On 10/31/23 00:09, Michael Kubacki wrote:
>>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>>
>>> 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 <ardb+tianocore@kernel.org>
>>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>>> Cc: Julien Grall <julien@xen.org>
>>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
>>> Cc: Sami Mujawar <sami.mujawar@arm.com>
>>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>>> ---
>>>
>>> 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.
>>>
>>> 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
>>>
>>> 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/ReadMe.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 locally.
>>>
>>> ## Supported Configuration Details
>>>
>>> -This solution for building and running ArmVirtPkg has only been validated with Ubuntu
>>> -18.04 and the GCC5 toolchain. Two different firmware builds are supported and are
>>> -described below.
>>> +This solution for building and running ArmVirtPkg has been validated with Fedora
>>> +37 Linux and the GCC5 toolchain. Two different firmware builds are supported
>>> +and are described below.
>>
>> "Two different firmware builds" is now stale; we're listing 10.
>>
>> I'd suggest "The following different firmware builds".
>>
>> No need to repost just for that; I'm fine if it gets updated upon merge.
>>
>> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>
> With the proposed update included:
>
> Queued via <https://github.com/tianocore/edk2/pull/4984>.
Commit a6871b53599e2bf23bfa16adae638cc9a6f0755f.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110425): https://edk2.groups.io/g/devel/message/110425
Mute This Topic: https://groups.io/mt/102287336/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents
2023-10-31 12:23 ` Laszlo Ersek
2023-10-31 13:43 ` Laszlo Ersek
@ 2023-10-31 15:15 ` Michael Kubacki
1 sibling, 0 replies; 5+ messages in thread
From: Michael Kubacki @ 2023-10-31 15:15 UTC (permalink / raw)
To: devel, lersek
Cc: Ard Biesheuvel, Gerd Hoffmann, Julien Grall, Leif Lindholm,
Sami Mujawar
On 10/31/2023 8:23 AM, Laszlo Ersek wrote:
> On 10/31/23 00:09, Michael Kubacki wrote:
>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>
>> 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 <ardb+tianocore@kernel.org>
>> Cc: Gerd Hoffmann <kraxel@redhat.com>
>> Cc: Julien Grall <julien@xen.org>
>> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
>> Cc: Sami Mujawar <sami.mujawar@arm.com>
>> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
>> ---
>>
>> 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.
>>
>> 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
>>
>> 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/ReadMe.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 locally.
>>
>> ## Supported Configuration Details
>>
>> -This solution for building and running ArmVirtPkg has only been validated with Ubuntu
>> -18.04 and the GCC5 toolchain. Two different firmware builds are supported and are
>> -described below.
>> +This solution for building and running ArmVirtPkg has been validated with Fedora
>> +37 Linux and the GCC5 toolchain. Two different firmware builds are supported
>> +and are described below.
>
> "Two different firmware builds" is now stale; we're listing 10.
>
> I'd suggest "The following different firmware builds".
>
> No need to repost just for that; I'm fine if it gets updated upon merge.
>
Thanks for catching that and getting those changes merged.
> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
>
> Thanks
> Laszlo
>
>>
>> -| Configuration name | Architecture | DSC File |Additional 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 |
>>
>> ## EDK2 Developer environment
>>
>> -- [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
>>
>> Note: edksetup, Submodule initialization and manual installation of NASM, iASL, or
>> the required cross-compiler toolchains are **not** required, this is handled by the
>> Pytools build system.
>>
>> +The code is built in CI using a container. The latest Fedora Linux 37 container 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/tianocore/edk2/blob/HEAD/.azurepipelines/templates/defaults.yml).
>> +
>> ## Building with Pytools for ArmVirtPkg
>>
>> If you are unfamiliar with Pytools, it is recommended to first read through
>> @@ -57,16 +72,16 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
>> pip install --upgrade -r pip-requirements.txt
>> ```
>>
>> -4. Initialize & Update Submodules - only when submodules updated
>> +4. Initialize & Update Submodules - only when submodules updated (QEMU build example)
>>
>> ``` bash
>> - stuart_setup -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> + stuart_setup -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> ```
>>
>> -5. Initialize & Update Dependencies - only as needed when ext_deps change
>> +5. Initialize & Update Dependencies - only as needed when ext_deps change (QEMU build example)
>>
>> ``` bash
>> - stuart_update -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> + stuart_update -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> ```
>>
>> 6. Compile the basetools if necessary - only when basetools C source files change
>> @@ -75,13 +90,13 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
>> python BaseTools/Edk2ToolsBuild.py -t <ToolChainTag>
>> ```
>>
>> -7. Compile Firmware
>> +7. Compile Firmware (QEMU build example)
>>
>> ``` bash
>> - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
>> ```
>>
>> - - use `stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py -h` option to see additional
>> + - use `stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py -h` option to see additional
>> options like `--clean`
>>
>> 8. Running Emulator
>> @@ -90,7 +105,7 @@ the generic set of edk2 [Build Instructions](https://github.com/tianocore/tianoc
>> - or use the `--FlashOnly` feature to just run the emulator.
>>
>> ``` bash
>> - stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
>> + stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH> --FlashOnly
>> ```
>>
>> ### Notes
>> @@ -120,7 +135,7 @@ command-line. _stuart_build_ currently requires values to be assigned, so add an
>> For example, to enable the TPM2 support, instead of the traditional "-D TPM2_ENABLE=TRUE", the stuart_build
>> command-line would be:
>>
>> -`stuart_build -c ArmVirtPkg/PlatformCI/PlatformBuild.py BLD_*_TPM2_ENABLE=TRUE`
>> +`stuart_build -c ArmVirtPkg/PlatformCI/QemuBuild.py BLD_*_TPM2_ENABLE=TRUE`
>>
>> ## References
>>
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110420): https://edk2.groups.io/g/devel/message/110420
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]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-10-31 15:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-30 23:09 [edk2-devel] [PATCH v1 1/1] ArmVirtPkg/PlatformCI/ReadMe.md: Update contents Michael Kubacki
2023-10-31 12:23 ` Laszlo Ersek
2023-10-31 13:43 ` Laszlo Ersek
2023-10-31 15:25 ` Laszlo Ersek
2023-10-31 15:15 ` Michael Kubacki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox