| 5 Jun 2023 |
oddlama | Alright, I wrote a test for this :D | 20:38:56 |
oddlama | https://github.com/NixOS/nixpkgs/issues/236146 | 20:38:57 |
@elvishjerricco:matrix.org | oddlama: If I remove your check-flush service, and wait_for_unit on network.target instead of multi-user.target, the test passes | 20:57:14 |
@elvishjerricco:matrix.org | oh but I see. The point is that I shouldn't need systemd-networkd to be running yet for the dont-flush case to have the network preconfigured by stage 1 | 20:59:00 |
| 6 Jun 2023 |
@elvishjerricco:matrix.org | oddlama: Ok, so I think the test you made is accidentally discovering a different bug. If you change check-flush.service to have wantedBy = ["multi-user.target"]; instead of requiredBy, then the test succeeds because it doesn't cause multi-user.target to fail, and systemd-networkd.service starts just fine. So the different bug is that the network configuration is getting taken down between stages 1 and two, causing check-flush.service to fail. But systemd-networkd.service is starting fine | 00:39:02 |
@elvishjerricco:matrix.org | oh, that might be because you didn't enable systemd initrd, or inherit the netdevs part from stage 2 :P | 00:46:55 |
@elvishjerricco:matrix.org | Hm. That didn't fix it | 00:51:08 |
@elvishjerricco:matrix.org | systemd-networkd[88]: extra-1: netdev could not be created: Operation not supported
Oh, well yea that would explain a thing or two
| 02:51:43 |
@elvishjerricco:matrix.org | is a particular kernel module or something needed to create a Kind = "dummy" netdev? | 02:53:05 |
@elvishjerricco:matrix.org | oddlama: Ok yea, so now I have the test passing, and it isn't because of the bug you were originally describing where systemd-networkd wouldn't come up | 03:20:00 |
@elvishjerricco:matrix.org | I had to 1) Actually enable systemd stage 1, 2) Inherit the netdevs, 3) Add dummy to boot.initrd.availableKernelModules. And now it passes | 03:20:58 |
oddlama | Damn, sorry. Seems like I failed to distill the actual issue here. On my real system where the issue happens, stage1 systemd is enabled, and there are no dummy netdevs needed. The interfaces that are missing are wireguard interfaces. And I specifically don't include them in the initrd. Yet, systemd-network is inactive after the switch | 10:52:02 |
oddlama | * ElvishJerricco: Damn, sorry. Seems like I failed to distill the actual issue here. On my real system where the issue happens, stage1 systemd is enabled, and there are no dummy netdevs needed. The interfaces that are missing are wireguard interfaces. And I specifically don't include them in the initrd. Yet, systemd-network is inactive after the switch | 10:52:21 |
@nikstur:matrix.org | Does the systemd-initrd not work with the netboot installer? Could it be the same reason it does not work with the ISO? | 11:30:25 |
@elvishjerricco:matrix.org | nikstur: doesn't the NetBoot stuff use its own custom initrd or something? | 12:25:05 |
@elvishjerricco:matrix.org | oddlama: yea so the test you wrote isn't reflecting that problem unfortunately :/ | 12:25:24 |
@nikstur:matrix.org | In reply to @elvishjerricco:matrix.org nikstur: doesn't the NetBoot stuff use its own custom initrd or something? It bascially only appends another cpio archive with the nix store as a squashfs. So it does use the "normal" initrd. | 13:05:38 |
@elvishjerricco:matrix.org | ah | 13:06:12 |