From: Stefano Brivio <sbrivio@redhat.com>
To: Cleber Rosa <crosa@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Beraldo Leal" <bleal@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"QEMU Developers" <qemu-devel@nongnu.org>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: "make check-acceptance" takes way too long
Date: Tue, 1 Feb 2022 19:35:00 +0100 [thread overview]
Message-ID: <20220201193500.3162e843@elisabeth> (raw)
In-Reply-To: <CA+bd_6Jnp846dL4FBUaduHGtnDJN29qQjSuS96V7aPS2iuqF0Q@mail.gmail.com>
On Tue, 1 Feb 2022 12:47:48 -0500
Cleber Rosa <crosa@redhat.com> wrote:
> On Tue, Feb 1, 2022 at 11:20 AM Daniel P. Berrangé
> <berrange@redhat.com> wrote:
> >
> > On Tue, Feb 01, 2022 at 11:01:43AM -0500, Cleber Rosa wrote:
> > > On Tue, Feb 1, 2022 at 6:25 AM Alex Bennée
> > > <alex.bennee@linaro.org> wrote:
> > > >
> > > > We have up to now tried really hard as a project to avoid
> > > > building and hosting our own binaries to avoid theoretical* GPL
> > > > compliance issues. This is why we've ended up relying so much
> > > > on distros to build and host binaries we can use. Most QEMU
> > > > developers have their own personal zoo of kernels and
> > > > userspaces which they use for testing. I use custom kernels
> > > > with a buildroot user space in initramfs for example. We even
> > > > use the qemu advent calendar for a number of our avocado tests
> > > > but we basically push responsibility for GPL compliance to the
> > > > individual developers in that case.
> > > >
> > > > *theoretical in so far I suspect most people would be happy
> > > > with a reference to an upstream repo/commit and .config even if
> > > > that is not to the letter of the "offer of source code"
> > > > required for true compliance.
> > >
> > > Yes, it'd be fine (great, really!) if a lightweight distro (or
> > > kernels/initrd) were to
> > > be maintained and identified as an "official" QEMU pick. Putting
> > > the binaries in the source tree though, brings all sorts of
> > > compliance issues.
> >
> > All that's really needed is to have the source + build recipes
> > in a separate git repo. A pipeline can build them periodically
> > and publish artifacts, which QEMU can then consume in its pipeline.
> >
>
> I get your point, but then to acquire the artifacts one needs to:
>
> 1. depend on the CI system to deploy the artifacts in subsequent job
> stages (a limitation IMO), OR
> 2. if outside the CI, implement a download/cache mechanism for those
> artifacts, which gets us back to the previous point, only with a
> different distro/kernel+initrd.
>
> With that, the value proposal has to be in the characteristics of
> distro/kernel+initrd itself. It has to have enough differentiation to
> justify the development/maintenance work, as opposed to using existing
> ones.
>
> FWIW, my non-scientific tests booting on my 3+ YO machine:
>
> * CirrOS x86_64+KVM: ~2 seconds
> * CirroOS aarch64+TCG: ~20 seconds
> * Fedora kernel+initrd aarch64+TCG
> (tests/avocado/boot_linux_console.py:BootLinuxConsole.test_aarch64_virt):
> ~1 second
>
> I would imagine that CirrOS aarch64+KVM on an adequate system would be
> similar to the CirrOS x86_64+KVM. We can develop/maintain a slimmer
> distro, and/or set the default test workloads where they perform the
> best. The development cost of the latter is quite small. I've added
> a missing bit to the filtering capabilities in Avocado[1] and will
> send a proposal to QEMU along these lines.
I'm not sure how boot/download times compare (I haven't measured) with
CirrOS or Fedora, but when I recently needed a quick test on SPARC (TCG),
something along these lines worked quite reliably for me:
wget https://bouncer.gentoo.org/fetch/root/all/releases/sparc/autobuilds/20220129T013513Z/install-sparc64-minimal-20220129T013513Z.iso
wget https://bouncer.gentoo.org/fetch/root/all/releases/sparc/autobuilds/20220129T013513Z/stage3-sparc64-20220129T013513Z.tar.xz
xz -d stage3-sparc64-20220129T013513Z.tar.xz
virt-make-fs stage3-sparc64-20220129T013513Z.tar sparc.img
qemu-system-sparc64 -m 2048 -cdrom ../install-sparc64-minimal-20220129T013513Z.iso -boot d -hda sparc.img -net nic,model=sunhme ...
...same approach worked easily with ppc and aarch64. I quickly
considered Alpine (smaller downloads), but it doesn't offer chroot
environments for as many architectures.
I guess the unique thing about "source-based" distributions is that
somewhat uncommon architectures are less likely to disappear because
of the burden of maintaining the full set of binary packages.
--
Stefano
next prev parent reply other threads:[~2022-02-01 23:24 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-30 15:12 "make check-acceptance" takes way too long Peter Maydell
2021-07-30 15:41 ` Philippe Mathieu-Daudé
2021-07-30 15:42 ` Peter Maydell
2021-07-30 22:04 ` Cleber Rosa
2021-07-31 6:39 ` Thomas Huth
2021-07-31 17:58 ` Cleber Rosa
2021-07-31 18:41 ` Alex Bennée
2021-07-31 20:32 ` Peter Maydell
2021-08-02 22:55 ` Cleber Rosa
2021-08-02 8:38 ` Daniel P. Berrangé
2021-08-02 12:47 ` Alex Bennée
2021-08-02 12:59 ` Daniel P. Berrangé
2021-08-02 12:55 ` Alex Bennée
2021-08-02 13:00 ` Peter Maydell
2021-08-02 13:04 ` Daniel P. Berrangé
2021-08-02 13:25 ` Thomas Huth
2021-08-02 13:00 ` Daniel P. Berrangé
2021-08-02 13:27 ` Thomas Huth
2021-08-02 13:43 ` Gerd Hoffmann
2022-01-20 15:13 ` Peter Maydell
2022-01-20 15:35 ` Philippe Mathieu-Daudé via
2022-01-21 7:56 ` Thomas Huth
2022-01-21 10:50 ` Markus Armbruster
2022-01-21 11:33 ` Peter Maydell
2022-01-21 12:23 ` Alex Bennée
2022-01-21 12:41 ` Thomas Huth
2022-01-21 15:21 ` Daniel P. Berrangé
2022-01-25 9:20 ` Gerd Hoffmann
2022-02-01 6:31 ` Stefano Brivio
2022-02-01 7:49 ` Gerd Hoffmann
2022-02-01 9:06 ` Daniel P. Berrangé
2022-02-01 10:27 ` Stefano Brivio
2022-02-01 11:17 ` Alex Bennée
2022-02-01 16:01 ` Cleber Rosa
2022-02-01 16:19 ` Daniel P. Berrangé
2022-02-01 17:47 ` Cleber Rosa
2022-02-01 18:03 ` Alex Bennée
2022-02-01 19:04 ` Cleber Rosa
2022-02-01 18:35 ` Stefano Brivio [this message]
2022-02-01 17:59 ` Cédric Le Goater
2022-02-01 11:06 ` Kashyap Chamarthy
2022-02-01 15:54 ` Cleber Rosa
2022-02-01 5:29 ` Cleber Rosa
2022-02-01 17:01 ` Daniel P. Berrangé
2022-02-01 17:59 ` Cleber Rosa
2022-02-15 18:14 ` Alex Bennée
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-all 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=20220201193500.3162e843@elisabeth \
--to=sbrivio@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=f4bug@amsat.org \
--cc=kraxel@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/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;
as well as URLs for NNTP newsgroup(s).