public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"osteffen@redhat.com" <osteffen@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: Ard Biesheuvel <ardb@kernel.org>,
	Michael Kubacki <mikuback@linux.microsoft.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] arm64 support for stuart
Date: Wed, 25 Jan 2023 19:00:17 +0000	[thread overview]
Message-ID: <CO1PR11MB4929A2F61B553FF26EE3E64BD2CE9@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CA+bRGFrz8CdzSzfzTtZHw1J1rznvsw-UmBN-2NW5C58Sfx8CsQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3482 bytes --]

Sounds like a reasonable feature request to disable install of all external tools.  Pytools uses GitHub issues, so a feature request like this can be entered there.

One caution on this approach is that you make see passing conditions using your local versions of dependent tools,
but when you submit a PR and the CI tools run with potentially different tools, there may be failures.

If a failure it detected, then you will likely need to install the same version of tools the CI uses to reproduce,
debug, and resolve.

Mike

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oliver Steffen
Sent: Wednesday, January 25, 2023 10:28 AM
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Ard Biesheuvel <ardb@kernel.org>; Michael Kubacki <mikuback@linux.microsoft.com>; Sean Brogan <sean.brogan@microsoft.com>; Kinney, Michael D <michael.d.kinney@intel.com>; edk2-devel-groups-io <devel@edk2.groups.io>; Yao, Jiewen <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] arm64 support for stuart



On Wed, Jan 25, 2023 at 5:56 PM Gerd Hoffmann <kraxel@redhat.com<mailto:kraxel@redhat.com>> wrote:
  Hi,

> Given that nasm is x86 specific, we should be able to work around this
> by moving the nasm_ext_dep.yaml file into the right place.

Overall stuart feels kind of alien to linux.  It just goes download
stuff from the internet, even in case the tools are already available
locally.  Oliver fixed some (but not all) of these when moving CI over
to using containers.  IIRC at least the cross compilers are just the
standard fedora cross compiler packages now.

While being at it:  edk2-pytool-library fails to build with network
access turned off[1] because it tries to download vswhere.exe from the
internet.  Even when building on linux.

> Then, if/when mu_nasm for arm64 becomes available, we will also be
> able to build OVMF from arm64 (although I am probably the only person
> in the world who does that regularly.)

Fedora build system does that too.  We have a patch to make x86 cross
builds work like arm cross builds, by just setting GCC5_${ARCH}_PREFIX
environment variable:
  https://github.com/kraxel/edk2/commit/6b2ca6f01bb76a3b9632e902b4bf0ef9e912ce40

Guess I should submit that one for upstream inclusion ;)

> iasl is a different matter, as we need it to build for arm64 as well.
> iasl is already available in the arm64 distros, so as I see it, there
> are 3 options here:
> - build iasl for Linux/arm64 and add it to the nuget repo
> - allow a fallback to system-wide iasl (how?)

Just use the system-wide tools is the best option IMHO.  The packages
are available in Fedora (other distros should be have them too), on both
x86_64 and aarch64, we only need to add them to the CI container image.
So why bother adding nuget builds?

That is also less fragile than downloading them on each CI run and have
checks fail now and then due to network problems.

Is it possible to run github actions (used to build containers) and
azure pipelines on aarch64 systems?  So we could move ArmVirt CI from
x86 cross builds to native arm builds?

Not natively, AFAIK, at least not without self-hosting a runner or using 3rd-party
services.
Most suggestions I came across suggest running in Qemu (tcg)...


take care,
  Gerd

[1] Offline builds are standard for linux distro builds to make sure
    all sources needed are to produce the binary package are actually
    included in the source package.


[-- Attachment #2: Type: text/html, Size: 45028 bytes --]

  reply	other threads:[~2023-01-25 19:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 14:32 arm64 support for stuart Ard Biesheuvel
2023-01-25 16:55 ` Gerd Hoffmann
2023-01-25 17:52   ` [edk2-devel] " Michael Brown
2023-01-25 18:04   ` Oliver Steffen
2023-01-25 18:27   ` Oliver Steffen
2023-01-25 19:00     ` Michael D Kinney [this message]
2023-01-25 20:21       ` [edk2-devel] " Oliver Steffen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB4929A2F61B553FF26EE3E64BD2CE9@CO1PR11MB4929.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox