From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web10.52678.1674669890721394906 for ; Wed, 25 Jan 2023 10:04:50 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=aSTDvf45; spf=pass (domain: redhat.com, ip: 170.10.133.124, mailfrom: osteffen@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1674669889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O/TMl0YAc5gA0RAuEk9EUe+J/e5ob3haTfjhlbmU/q0=; b=aSTDvf452EdcY/rJQsEoODQYdlLJ7Yy+y3dAhYxRBKaVWCo2Be8UEFDUXF03i+GOJipv0I MyvwIILGtcdbx5KQXJbGtHm4L8kEGjpXVC//GSFqKDTjumfcClF5k/QtMfMl197YR4zRWU mfzaRK76gUf64Japtro19zKV+5cA/CY= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-424-sMqaU30bOTGWAcXQorFPkw-1; Wed, 25 Jan 2023 13:04:48 -0500 X-MC-Unique: sMqaU30bOTGWAcXQorFPkw-1 Received: by mail-lj1-f198.google.com with SMTP id h24-20020a05651c125800b0028b843bbf33so4375478ljh.10 for ; Wed, 25 Jan 2023 10:04:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=O/TMl0YAc5gA0RAuEk9EUe+J/e5ob3haTfjhlbmU/q0=; b=Ex67L4vk8AK4Ijx2X8eqYA5NUBMbroE0qo8t6sh2XFoz3ru37JUHBC+RGxqyecbNP3 7jGKbMSampGnxIxpXIuCF3Yq+0dCEDG005B0cgDa8TXIoCkltlbg19pdhgzeN4+j77wL WefVcZpLp7QKshDZTjNooeKJBTSWfExeA70uh67DwGtYxYey1YKRtDE7dby6vHwvjZRp VOLg46EqrOcKyNuRCOvlAkp88JoiugVlv1hBnCFAcEa6Yz+gBgqNzf1h7OD510Rlevu6 tq7AxMTvd1tG5FGzSA3/2quLIp57SznykKwXVzi4s/1CISfFBdq6YRs6Ry8eYz9xoweM nvkw== X-Gm-Message-State: AFqh2koiGsuKC7FW+jj2KbwBSrOlxOSUw7o/mMAtqB8CkmG3HGBo8Dna BcXmrIJrv4ZaNm1BMM+r9suylUUtq7q6e4AwM0/1mkuAxTcRMNUp36YyGLhFZ/m1NhgzU26XPM2 N/r9cC393rn8gV3HnJhi4j4J1nPXlgA== X-Received: by 2002:a2e:9316:0:b0:27f:b787:fd31 with SMTP id e22-20020a2e9316000000b0027fb787fd31mr2140356ljh.438.1674669886207; Wed, 25 Jan 2023 10:04:46 -0800 (PST) X-Google-Smtp-Source: AMrXdXtM8IJoDzJFtM2lQ1kd7DHGf4gUjo/kXV/KDJ/qOC5dhzZ+sEfI63KrfBh2Qkzx1+0PBPBu1abKVBbDzgLrWyA= X-Received: by 2002:a2e:9316:0:b0:27f:b787:fd31 with SMTP id e22-20020a2e9316000000b0027fb787fd31mr2140351ljh.438.1674669885932; Wed, 25 Jan 2023 10:04:45 -0800 (PST) MIME-Version: 1.0 References: <20230125165556.tvp7cgjsj2kie7b6@sirius.home.kraxel.org> In-Reply-To: <20230125165556.tvp7cgjsj2kie7b6@sirius.home.kraxel.org> From: "Oliver Steffen" Date: Wed, 25 Jan 2023 19:04:34 +0100 Message-ID: Subject: Re: arm64 support for stuart To: Gerd Hoffmann Cc: Ard Biesheuvel , Michael Kubacki , Sean Brogan , Michael Kinney , edk2-devel-groups-io , Jiewen Yao X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/alternative; boundary="000000000000aadd3505f31a779d" --000000000000aadd3505f31a779d Content-Type: text/plain; charset="UTF-8" On Wed, Jan 25, 2023 at 5:56 PM Gerd Hoffmann 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. > I would like an option to just turn off all the toolchain dependency magic stuart does. I had a look at stuart and how to implement this but then did not want to attempt anything without feedback from the maintainers. For the CI we ended up just plainly deleting the ext_dep files for the compilers. > > 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? > > 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. > -Oliver --000000000000aadd3505f31a779d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, Jan 25, 2023 at 5:56 PM Gerd Hoffmann <<= a href=3D"mailto:kraxel@redhat.com">kraxel@redhat.com> wrote:
=C2=A0 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.=C2=A0 It just goes download stuff from the internet, even in case the tools are already available
locally.=C2=A0 Oliver fixed some (but not all) of these when moving CI over=
to using containers.=C2=A0 IIRC at least the cross compilers are just the standard fedora cross compiler packages now.
=C2=A0
I would lik= e an option to just turn off all the toolchain dependency magic
stuart does.= =C2=A0 I had a look at stuart and how to implement this but then
did not want= to attempt anything without feedback from the maintainers.
= For the CI we ended= up just plainly deleting the ext_dep files for the
compilers.
=C2=A0

While being at it:=C2=A0 edk2-pytool-library fails to build with network access turned off[1] because it tries to download vswhere.exe from the
internet.=C2=A0 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<= br> > in the world who does that regularly.)

Fedora build system does that too.=C2=A0 We have a patch to make x86 cross<= br> builds work like arm cross builds, by just setting GCC5_${ARCH}_PREFIX
environment variable:
=C2=A0 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.<= br> > iasl is already available in the arm64 distros, so as I see it, there<= br> > 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.=C2=A0 The packages<= br> 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?=C2=A0 So we could move ArmVirt CI from<= br> x86 cross builds to native arm builds?

take care,
=C2=A0 Gerd

[1] Offline builds are standard for linux distro builds to make sure
=C2=A0 =C2=A0 all sources needed are to produce the binary package are actu= ally
=C2=A0 =C2=A0 included in the source package.
=C2=A0
-Oliver=C2=A0<= /div>
--000000000000aadd3505f31a779d--