From: Alyssa Ross <hi@alyssa.is>
To: Demi Marie Obenour <demiobenour@gmail.com>,
Spectrum OS Development <devel@spectrum-os.org>
Subject: Re: Cannot build release.nix without KVM
Date: Mon, 14 Jul 2025 12:30:30 +0200 [thread overview]
Message-ID: <875xfv83p5.fsf@alyssa.is> (raw)
In-Reply-To: <b6ecd777-b93c-4f2b-b0ef-a92f3b38b66c@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2351 bytes --]
Demi Marie Obenour <demiobenour@gmail.com> writes:
> On a Qubes OS VM (which doesn't have nested virtualization), building
> release.nix fails because start-vmm-test (rightly) errors out. Having
> KVM be a *build*-time dependency of Spectrum OS seems rather strict,
> especially because I can always copy the generated files over to another
> machine and run them there. In particular, I can copy the resulting image
> and run it in QEMU.
Ah, I've made a mistake here I think. KVM shouldn't be a build
dependency, because the Scaleway aarch64 builders used to populate the
binary cache don't have it. It's only recently that release.nix
includes start-vmm-test, so I haven't run those builders since, and
hadn't noticed it.
One option would be to introduce a build configuration[1] option that
just disables any tests that need KVM. Another would be to run those
tests inside QEMU TCG if KVM is available, which would have the benefit
of the tests still running (and not introducing more config options). I
wonder what the most lightweight way to optionally run some code in a
TCG VM would be…
[1]: https://spectrum-os.org/doc/development/build-configuration.html
> Ideally I could use Nix's remote build support for this. However, that
> is designed for the case where I am offloading work to a powerful and
> trusted server, whereas in my case the remote machine is for testing
> purposes only. Therefore, to save money, it is cheap, and it is also
> generally treated as untrusted because I don't hold it to the same
> standards I hold my highly trusted main laptop to. For instance, it
> doesn't have credentials to send emails.
Using a TCG VM as a remote builder would also be an option, but it would
probably be nicer to have the build take care of that.
> Is it possible to copy what I need for the tests (using 'nix copy'
> or 'nix-copy-closure' perhaps?) and skip them locally? Can I run
> the tests that do not need KVM while still running the rest? This
> is probably simple for anyone familiar with Nix, but that is not
> me.
You can pass --keep-going to your build command, and then any failures
won't get in the way of the rest of the build. nix-output-monitor[2]
gives nice output that makes it obvious what failed.
[2]: https://github.com/maralorn/nix-output-monitor
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2025-07-14 10:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-14 5:38 Cannot build release.nix without KVM Demi Marie Obenour
2025-07-14 10:30 ` Alyssa Ross [this message]
2025-07-15 15:36 ` Alyssa Ross
2025-07-17 14:40 ` Alyssa Ross
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=875xfv83p5.fsf@alyssa.is \
--to=hi@alyssa.is \
--cc=demiobenour@gmail.com \
--cc=devel@spectrum-os.org \
/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.
Code repositories for project(s) associated with this public inbox
https://spectrum-os.org/git/crosvm
https://spectrum-os.org/git/doc
https://spectrum-os.org/git/mktuntap
https://spectrum-os.org/git/nixpkgs
https://spectrum-os.org/git/spectrum
https://spectrum-os.org/git/ucspi-vsock
https://spectrum-os.org/git/www
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).