general high-level discussion about spectrum
 help / color / mirror / Atom feed
* Spectrum status update, April 2022
@ 2022-05-01 15:13 Alyssa Ross
  2022-05-01 15:29 ` Alyssa Ross
  0 siblings, 1 reply; 2+ messages in thread
From: Alyssa Ross @ 2022-05-01 15:13 UTC (permalink / raw)
  To: discuss; +Cc: Puck Meerburg, Daniel Kuehn

[-- 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 --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Spectrum status update, April 2022
  2022-05-01 15:13 Spectrum status update, April 2022 Alyssa Ross
@ 2022-05-01 15:29 ` Alyssa Ross
  0 siblings, 0 replies; 2+ messages in thread
From: Alyssa Ross @ 2022-05-01 15:29 UTC (permalink / raw)
  To: discuss; +Cc: Puck Meerburg, Daniel Kuehn

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

Whoops!
Non-garbled version of the "Spectrum related upstream Nixpkgs commits" section:

 • 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)

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-01 15:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-01 15:13 Spectrum status update, April 2022 Alyssa Ross
2022-05-01 15:29 ` Alyssa Ross

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).