!PSmBFWNKoXmlQBzUQf:helsinki-systems.de

Stage 1 systemd

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

Load older messages


SenderMessageTime
6 Jun 2023
@oddlama:matrix.orgoddlama
In reply to @elvishjerricco:matrix.org
meaning with the current implementation, we won't have a way to do flushBeforeStage2 = false
What would be the benefit of not flushing?
15:48:17
@oddlama:matrix.orgoddlama
In reply to @elvishjerricco:matrix.org

oddlama: Can you try this in your config and see if it fixes your issue?

boot.initrd.network.flushBeforeStage2 = false;
boot.initrd.systemd = {
  services.systemd-networkd = {
    before = ["initrd-switch-root.target"];
    conflicts = ["initrd-switch-root.target"];
  };
  sockets.systemd-networkd = {
    before = ["initrd-switch-root.target"];
    conflicts = ["initrd-switch-root.target"];
  };
};
Yep this works :)
15:50:16
@oddlama:matrix.orgoddlamaDo you have an idea why it doesn't happen on your system?15:52:42
@elvishjerricco:matrix.orgElvishJerricco
In reply to @oddlama:matrix.org
What would be the benefit of not flushing?
If your rootfs is on a network fs for instance, you need to avoid flushing.
15:53:17
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.de
In reply to @oddlama:matrix.org
What would be the benefit of not flushing?
Network mounts
15:53:27
@janne.hess:helsinki-systems.de@janne.hess:helsinki-systems.deAh yes :D15:53:34
@elvishjerricco:matrix.orgElvishJerriccoit appears that the person on the systemd issue is wrong that systemd-networkd flushes these things by default. But I'm having trouble parsing through all the documentation and code in systemd on the matter15:53:59
@elvishjerricco:matrix.orgElvishJerricco If we can get rid of that stupid custom service and just use network config files to control flushBeforeStage2, that would be great 15:54:26
@elvishjerricco:matrix.orgElvishJerricco * If we can get rid of that stupid custom service and just use network config files to implement flushBeforeStage2, that would be great 15:54:42
@elvishjerricco:matrix.orgElvishJerricco
In reply to @oddlama:matrix.org
Do you have an idea why it doesn't happen on your system?
No idea at all
15:55:54
@oddlama:matrix.orgoddlamaI frequently think I need a systemd deep dive to grasp any of that properly :D15:56:59
@elvishjerricco:matrix.orgElvishJerricco Ok I think I have a crude fix for flushBeforeStage2 to use KeepConfiguration instead of our screwy service. It's not meaningfully different, but it's certainly cleaner. Though my code for it could use some cleanup... 20:59:44
@elvishjerricco:matrix.orgElvishJerricco That's a separate thing from oddlama's problem, so I guess I'll make these two separate PRs 21:00:28
7 Jun 2023
@elvishjerricco:matrix.orgElvishJerricco oddlama: Turns out your bug was hitting my other system; it just didn't have any tangible effect because my network config was the same between stages :P 20:34:18
@oddlama:matrix.orgoddlamaAh, that makes sense :D20:56:09
11 Jun 2023
@elvishjerricco:matrix.orgElvishJerriccohttps://github.com/NixOS/nixpkgs/pull/23715406:36:56
@k900:0upti.meK900Wait so does this mean we can actually get from stage1 to stage2 without dropping the network?06:37:50
@elvishjerricco:matrix.orgElvishJerricco K900: That's always been possible with flushBeforeStage2 = false 06:38:05
@elvishjerricco:matrix.orgElvishJerriccoThis just implements that in a sane way06:38:11
@k900:0upti.meK900Oh06:38:13
@k900:0upti.meK900I haven't really tried it because the only box I'd want to try it on gets confused when the network drops while it's booted06:38:41
@k900:0upti.meK900(for some reason)06:38:42
@elvishjerricco:matrix.orgElvishJerricco in fact the non-sane thing we did before was the implementation of flushBeforeStage2 = true, because systemd-networkd expects you to want to carry network configs over between stages 06:39:06
@elvishjerricco:matrix.orgElvishJerricco * in fact the non-sane thing we did before was the implementation of flushBeforeStage2 = true, because systemd-networkd expects you to want to carry network configs over between stages and just does that by default 06:39:20
@elvishjerricco:matrix.orgElvishJerricco now the real question is... do I upstream my tailscaled in initrd implementation... 06:40:30
@k900:0upti.meK900Does it need special setup?06:41:24
@elvishjerricco:matrix.orgElvishJerriccoyea06:41:30
@elvishjerricco:matrix.orgElvishJerriccowhere is the tailscale state dir?06:41:37
@elvishjerricco:matrix.orgElvishJerriccobecause if it isn't something persistent then it's useless06:41:47
@k900:0upti.meK900Oh yeah makes sense06:41:54

Show newer messages


Back to Room ListRoom Version: 6