| 7 Dec 2022 |
@hexa:lossy.network | boot.initrd.systemd.services = {
impermanence-root = {
wantedBy = [
"initrd.target"
];
after = [
"zfs-import-zroot.service"
];
before = [
"sysroot.mount"
];
unitConfig.DefaultDependencies = "no";
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.zfs}/bin/zfs rollback -r zroot/local/root@blank";
};
};
};
| 21:47:35 |
@elvishjerricco:matrix.org | hexa: looks good to me! | 21:51:39 |
| 8 Dec 2022 |
@janne.hess:helsinki-systems.de | In reply to @hexa:lossy.network
boot.initrd.systemd.services = {
impermanence-root = {
wantedBy = [
"initrd.target"
];
after = [
"zfs-import-zroot.service"
];
before = [
"sysroot.mount"
];
unitConfig.DefaultDependencies = "no";
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.zfs}/bin/zfs rollback -r zroot/local/root@blank";
};
};
};
https://github.com/nix-community/impermanence/pulls ;) | 08:14:40 |
@hexa:lossy.network | Related, yes | 08:20:06 |
| 11 Dec 2022 |
@mlyx:matrix.org | https://github.com/NixOS/nixpkgs/blob/9f6f47f27cc0bff0aee003834e2c7d8a17c8d202/nixos/modules/system/boot/systemd/initrd.nix#L500 why use chroot not systemctl switch-root? | 21:55:06 |
@janne.hess:helsinki-systems.de | Because that switches root rather than chrooting | 22:00:10 |
@mlyx:matrix.org | I test that change chroot to systemctl --no-block switch-root /sysroot $closure/prepare-root can still boot. I really don't understand the difference. Could you please elaborate more details? | 22:43:35 |
@mlyx:matrix.org |  Download Snipaste_2022-12-11.png | 22:43:35 |
| 12 Dec 2022 |
@elvishjerricco:matrix.org | mlyx: We do use systemctl switch-root in initrd-switch-root.service. Whereas initrd-nixos-activation.service is just meant to prepare the file system to be used as the nixos root | 03:29:26 |
@elvishjerricco:matrix.org | https://github.com/systemd/systemd/pull/25710 | 08:52:49 |
@elvishjerricco:matrix.org | I'm still not sure what the correct design for NixOS is; root= on the cmdline, or /etc/fstab embedded in initrd or added as a companion file or generated file. But just in case the answer is the cmdline, this PR is definitely necessary | 08:53:57 |
@arianvp:matrix.org | They're all equivalent no? | 09:14:34 |
@arianvp:matrix.org | I think it's the same generator | 09:14:47 |
@elvishjerricco:matrix.org | not exactly | 09:14:57 |
@elvishjerricco:matrix.org | systemd-fstab-generator is the one behind either, but it has different code paths for root= vs /etc/fstab vs /sysroot/etc/fstab | 09:15:27 |
@arianvp:matrix.org | The systemd way is gpt-auto-generator probably :p | 09:15:28 |
@arianvp:matrix.org | In reply to @elvishjerricco:matrix.org
systemd-fstab-generator is the one behind either, but it has different code paths for root= vs /etc/fstab vs /sysroot/etc/fstab Ah | 09:15:37 |
@elvishjerricco:matrix.org | and yea that gpt generator is a whole other one I haven't dug into yet | 09:15:50 |
@elvishjerricco:matrix.org | (and if you imagine the GPT as no different than a file on the ESP in terms of its ability to provide metadata, the GPT generator could be replaced by a generator that utilizes a file provided in the ESP and loaded via systemd-stub's "companion file" mechanism) | 09:18:23 |
@elvishjerricco:matrix.org | (but that's neither here nor there) | 09:19:01 |
| 14 Dec 2022 |
| Yinfeng joined the room. | 05:32:08 |
| 15 Dec 2022 |
@elvishjerricco:matrix.org | Ok, so I think I know what we ought to do. We should mount /sysroot in some normal fashion, like root= or by fixing systemd#3551. Then we should populate /sysroot/etc/fstab without nixos activation before initrd-parse-etc.service. From there everything will be normal. The one little problem is if the user has /etc on a different file system. Then we probably need to undo the prepopulation of /sysroot/etc/fstab somehow just to cleanup after ourselves. So it may be that the best thing is to have a mount unit that bind mounts our preferred /sysroot/etc/fstab, and give that mount unit Conflicts=initrd-fs.target or something to that effect (probably need better ordering than that). | 23:15:23 |
| 16 Dec 2022 |
@elvishjerricco:matrix.org | I think this is loosely what I want to do: https://github.com/NixOS/nixpkgs/compare/master...ElvishJerricco:systemd-stage-1-bind-fstab | 05:33:15 |
@mlyx:matrix.org | https://github.com/NixOS/nixpkgs/pull/169116
Hope this PR can be merged into master as soon as possible.
Networkd and openssh are extremely useful. However, it seems that openvpn is on the to-do list. Could the openvpn part be another PR? | 07:49:43 |
@elvishjerricco:matrix.org | I think it could. I've still got one or two tiny fixups to do first though, and I don't actually think the openvpn stuff will be very hard (I just haven't bothered trying yet) | 07:53:31 |
| 18 Dec 2022 |
@me:linj.tech |  Download IMG_20221218_224932.jpg | 15:41:44 |
@me:linj.tech | it hangs here if I use linux_latest (6.1) | 15:42:19 |
@me:linj.tech | * it hangs here if I use linux_latest (6.1) and works well using the lts kernel | 15:43:21 |
@me:linj.tech | any ideas about how to debug this? | 15:43:35 |
@elvishjerricco:matrix.org | That's... strange | 15:44:04 |