!PSmBFWNKoXmlQBzUQf:helsinki-systems.de

Stage 1 systemd

78 Members
systemd in NixOs's stage 1, replacing the current bash tooling https://github.com/NixOS/nixpkgs/projects/5126 Servers

Load older messages


SenderMessageTime
22 Jun 2023
@arianvp:matrix.orgArianCursed18:45:02
@arianvp:matrix.orgArianAbsolutely cursed18:45:05
@lily:lily.flowers@lily:lily.flowersUgh still trying to root out that one issue in between $dayjob stuff. I'm taking a break now, but I'll come back to it later. It's an interesting and cursed issue for sure20:43:47
@lily:lily.flowers@lily:lily.flowers ElvishJerricco: Should we go ahead and merge https://github.com/NixOS/nixpkgs/pull/237820 and https://github.com/NixOS/nixpkgs/pull/237823 or were you wanting more reviews on them? (or if anyone else here wants to review that is of course welcome) 20:44:24
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgthat's a lot of stuff I wasn't paying attention to in here today :P20:44:34
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgI think it's fine to merge both of those20:45:25
@elvishjerricco:matrix.org@elvishjerricco:matrix.org
In reply to @lily:lily.flowers
Ugh still trying to root out that one issue in between $dayjob stuff. I'm taking a break now, but I'll come back to it later. It's an interesting and cursed issue for sure
any chance of a quick summary so I don't have to read all that scrollback for context?
20:46:18
@lily:lily.flowers@lily:lily.flowers
In reply to @elvishjerricco:matrix.org
any chance of a quick summary so I don't have to read all that scrollback for context?
9pfs over virtio can apparently be mounted too quickly before the virtio channels have populated. It's not a problem with slow, serial scripted stage-1 but is a problem with systemd-initrd when using a sysroot without a backing device (i.e. tmpfs) which would otherwise wait for enough dev stuff to settle before attempting to mount
20:48:30
@lily:lily.flowers@lily:lily.flowers

Haven't rooted out the exact thing it's relying on that isn't available, but you can replicate it with this config in a NixOS test:

{
  virtualisation.diskImage = null;
  boot.initrd.systemd.enable = true;
}
20:49:51
@elvishjerricco:matrix.org@elvishjerricco:matrix.org

before the virtio channels have populated

Guess I don't know enough about virtio to know what this means

20:50:15
@lily:lily.flowers@lily:lily.flowers (if you add a sleep prior to sysroot.mount or prior to the 9pfs mounts, then they work fine...) 20:50:28
@lily:lily.flowers@lily:lily.flowers
In reply to @elvishjerricco:matrix.org

before the virtio channels have populated

Guess I don't know enough about virtio to know what this means

Like the communication channels between VM and host. It uses 9pfs over one of those channels to mount the host nix store
20:51:17
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgso I guess the tl;dr is that if a 9p mount unit starts too early, some stuff isn't ready for it and everything breaks20:51:38
@lily:lily.flowers@lily:lily.flowersYep20:51:42
@lily:lily.flowers@lily:lily.flowers9p mount over virtio, but yeah20:51:55
@elvishjerricco:matrix.org@elvishjerricco:matrix.orginteresting20:52:14
@lily:lily.flowers@lily:lily.flowers(I doubt it's a case for 9p in general. But it's not like that FS gets used for anything but networked filesystems, so 🤷‍♀️)20:52:18
@lily:lily.flowers@lily:lily.flowers * (I doubt it's the case for 9p in general. But it's not like that FS gets used for anything but networked filesystems, so 🤷‍♀️)20:52:23
@elvishjerricco:matrix.org@elvishjerricco:matrix.org wonder if there's anything resembling a device unit to indicate that things are ready 20:52:27
@lily:lily.flowers@lily:lily.flowersThat's what I was trying to probe for20:52:36
@lily:lily.flowers@lily:lily.flowersI'll have more info later after poking for longer. I'm taking a break now though20:53:07
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgyea, thanks for looking into this20:53:22
@lily:lily.flowers@lily:lily.flowersI do always love debugging cursed stuff (/s, mostly)20:53:55
@nikstur:matrix.org@nikstur:matrix.org Lily Foster: https://lore.kernel.org/lkml/CADYN=9KXWCA-pi8VCS5r_JScsuRyWBEKqtdBFCAGzg1vq4M5FQ@mail.gmail.com/ this seems related. Can't make much of it alone though 21:46:12
24 Jun 2023
@kadawee:cat.casa@kadawee:cat.casa joined the room.15:59:52
@elvishjerricco:matrix.org@elvishjerricco:matrix.org

responding to a new issue about tpm stuff, this has got to be the most terrible predicate I've ever written:

  nonRedundant = { systemd, full, cryptsetup, luks, tpm2, fido2, ... }:
    ((luks || tpm2 || fido2) -> cryptsetup)
    && (!systemd -> (!(tpm2 || fido2 || full) && (cryptsetup -> luks)));
23:36:43
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgI don't even know what it means anymore23:36:50
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgI think it translates to "if we have luks, tpm, or fido, then we don't actually care unless we have cryptsetup too. But also, if we're not even doing systemd initrd, then tpm, fido, and full systemd aren't important, but cryptsetup is but only if we also have luks"23:39:22
@elvishjerricco:matrix.org@elvishjerricco:matrix.orglike wut23:39:25
@emilazy:matrix.orgemilysometimes a non-normalized/golfed boolean expression is more readable :)23:52:13

Show newer messages


Back to Room ListRoom Version: 6