general high-level discussion about spectrum
 help / color / mirror / Atom feed
From: Alyssa Ross <hi@alyssa.is>
To: discuss@spectrum-os.org
Cc: Puck Meerburg <puck@puckipedia.com>,
	Daniel Kuehn <daniel.kuehn@dataaturservice.se>
Subject: Spectrum status update, April 2022
Date: Sun, 1 May 2022 15:13:15 +0000	[thread overview]
Message-ID: <20220501151315.v6abwdohwuf2qd3k@eve> (raw)

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

The big news this month is that Puck is now working with us as a Wayland
developer[1].  We also welcomed a bunch of new people into the chat
channel who were interested in building Spectrum to try it out for
themselves, and contributing to it or related projects, which is
absolutely fantastic.

[1] https://spectrum-os.org/lists/archives/spectrum-discuss/20220416092718.isdz7343oauplrof@eve/

Here's what I did in April:


Binary Cache
════════════

  Using only the cache.nixos.org binary cache, building Spectrum and all
  its many dependencies could take more than 24 hours on commodity
  hardware, which was a big turn-off to the people who've been trying to
  build Spectrum for themselves recently.

  To mitigate this, this month I put together a binary cache solution
  for Spectrum[2], and wrote documentation explaining how to use it[3].

  Thanks again to Daniel Kuehn (lejonet) for providing the storage
  hosting for the binary cache.

[2] https://spectrum-os.org/lists/archives/spectrum-devel/20220414141547.rafkensinlburgjm@eve/
[3] https://spectrum-os.org/git/spectrum/tree/Documentation/binary-cache.adoc


Hardware support
════════════════

  This month, quite a few people were interested in testing Spectrum on
  their hardware.  This surfaced quite a few issues that have now been
  resolved:

  • Avoid EFI chainloading in the combined image.[4]
  • Use a bigger kernel buffer for uevents.[5]

  As well as one issue still in flight:

  • Rebroadcast uevents not handled by mdevd.[6]

  And one issue still being investigated.

  Additionally, I started to look into what Aarch64 support in Spectrum
  would look like.  I was surprised to discover that Nixpkgs' musl
  stdenv hadn't even bootstrapped on aarch64 for three years!  So I
  commited some hacks to fix that[7], and put together a follow-up that
  will make it maintainable going forward[8].

[4] https://spectrum-os.org/git/spectrum/commit/?id=b1ff26eb27ea905357f8bf217d0f0cfbea33c37b
[5] https://spectrum-os.org/git/spectrum/commit/?id=0b3b366653030de498e73e51b1c12a6f4c5f4d3b
[6] https://spectrum-os.org/lists/archives/spectrum-devel/20220424080020.32216-1-hi@alyssa.is/
[7] https://github.com/NixOS/nixpkgs/pull/169764
[8] https://github.com/NixOS/nixpkgs/pull/169793


Documentation
═════════════

  I spent a lot of this month working on documentation.  Having good
  documentation is going to be really important for bringing on new
  contributors.  I expect to spend a bunch of time on this next month,
  too.

  • New documentation: a UUID reference[9], and information about the
    binary cache[3].
  • A proper documentation site, based on Just the Docs[10].
    Unfortunately not quite available online yet, but you can see it
    with nix-shell –run 'jekyll serve' in the Documentation directory.

[9] https://spectrum-os.org/git/spectrum/tree/Documentation/uuid-reference.adoc
[10] https://just-the-docs.github.io/just-the-docs/


Miscellaneous
═════════════

  • I did a short development stream.[11]
  • Updated Nixpkgs, reducing our patch count by half.
  • Switched to s6-linux-init from a hand-rolled script, eliminating a
    longstanding race condition during boot.
  • Adopted systemd-boot, which will make Spectrum more dual-boot
    friendly.[12].
  • Dropped s6-portable-utils dependency[13], and OVMF development
    dependency[14].
  • Various cleanups to licensing metadata.
  • Fixed building Spectrum on Ubuntu[15].
  • Minor cleanups to VM startup[16][17][18][19].  This is preparatory
    work in advance of new VM features.

[11] https://diode.zone/w/p2Tythup7zJTSAgiGbJ331
[12] https://spectrum-os.org/git/spectrum/commit/?id=b72a136e9ae265f61f5c6dbbd37367c8e659ae49
[13] https://spectrum-os.org/git/spectrum/commit/?id=04060e0a59c072315b7b5106af27aab248e74b75
[14] https://spectrum-os.org/git/spectrum/commit/?id=969842dd0b86922383b3b5e030650ad85da0e3a7
[15] https://spectrum-os.org/git/spectrum/commit/?id=a567476380303fe0ccb0c136ad7e9a475ef53b1a
[16] https://spectrum-os.org/git/spectrum/commit/?id=ab9d7bf6d7e7b4cdd77933d57992aad64be3c4f6
[17] https://spectrum-os.org/git/spectrum/commit/?id=9226197f1e9b9f17caf501b2a80b740b2da4af54
[18] https://spectrum-os.org/git/spectrum/commit/?id=0543017145207d9ea41b61407225f6766314ae54
[19] https://spectrum-os.org/git/spectrum/commit/?h=32b701064a15f0045bce2d811a94ac4b647ec1a1


Spectrum related upstream Nixpkgs commits
═════════════════════════════════════════

  • s6-rc: 0.5.3.0 -> 0.5.3.1 (1ee8b37a851) s6: 2.11.0.1 -> 2.11.1.0
  • (bd6d4a6e67f) s6-portable-utils: 2.2.3.4 -> 2.2.4.0 (a3924d70655)
  • utmps: 0.1.1.0 -> 0.1.2.0 (92b74337544) skalibs: 2.11.1.0 ->
  • 2.11.2.0 (5eafa6cc7a7) patchelf: clarify license (3a73bf2b6e3)
  • pkgsMusl.coreutils: fix build on aarch64 (661dfd83478) patchelf: use
  • 0.13.x on aarch64+musl (e22d0b49a95) patchelf_0_13: init at 0.13.1
  • (3838a0a7e7e) cloud-hypervisor: 22.1 -> 23.0 (430c56976fe) busybox:
  • 1.34.1 -> 1.35.0 (7d83997eb49) crosvm: 99.14468.0.0-rc1 ->
  • 100.14526.0.0-rc1 (40f140ad872) crosvm.updateScript: generate
  • Cargo.lock (26d66fbfa9b) squashfs-tools-ng: 1.1.3 -> 1.1.4
  • (fd3f39303b4) qemu: remove redundant copy of qemu-ga (665bb90fc3f)
  • rust: 1.59.0 -> 1.60.0 (6d49a350807) openssh: 8.9p1 -> 9.0p1
  • (4cfdd982653) busybox: fix CVE-2022-28391 (ac60e92b15a)


Pending Spectrum related Nixpkgs PRs
════════════════════════════════════

  • release.nix: build Musl native bootstrap tools (#169793)


Spectrum infra related upstream Nixpkgs commits
═══════════════════════════════════════════════

  • nixos/mailman: ensure Postfix is started after Mailman (572131c6a94)
  • ipxe: 1.21.1 -> unstable-2022-04-06 (7d691eadc37)
  • nixos/postfix: pull setup into its own unit (fb2fa1b50fe)
  • nixos/mailman: remove obsolete setting (e7c301df52e)
  • nixos/mailman: improve empty webHosts error (f4a0bb8334d)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

             reply	other threads:[~2022-05-01 15:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-01 15:13 Alyssa Ross [this message]
2022-05-01 15:29 ` Spectrum status update, April 2022 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=20220501151315.v6abwdohwuf2qd3k@eve \
    --to=hi@alyssa.is \
    --cc=daniel.kuehn@dataaturservice.se \
    --cc=discuss@spectrum-os.org \
    --cc=puck@puckipedia.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).