| 28 Jan 2023 |
@linus:schreibt.jetzt | and eventually giving up | 23:45:13 |
@linus:schreibt.jetzt | I think I wanted to implement some initramfs functionality that nixos didn't have | 23:45:37 |
@linus:schreibt.jetzt | hm, maybe it was zfs mount generators? | 23:45:51 |
@linus:schreibt.jetzt | idk | 23:45:54 |
@elvishjerricco:matrix.org | my grand plan for the ordering problems is to get the fsck thing in, get the local-fs-pre.target thing merged into systemd, get root on cmdline, and fix up systemd to use the same code path for the cmdline as fstab. | 23:45:58 |
@elvishjerricco:matrix.org | or at least that's the dream | 23:46:03 |
@elvishjerricco:matrix.org | I should just... open all the PRs and let people shoot it out | 23:46:22 |
@elvishjerricco:matrix.org |
fix up systemd to use the same code path for the cmdline as fstab
Don't have this part though...
| 23:46:46 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org
fix up systemd to use the same code path for the cmdline as fstab
Don't have this part though...
That also sounds pretty invasive, given how differently those code paths function logically | 23:47:06 |
@elvishjerricco:matrix.org | It's not that bad | 23:47:18 |
@lily:lily.flowers | (and also not really a hard requirement for getting things to work right for nixos) | 23:47:21 |
@elvishjerricco:matrix.org | The divergence is entirely within fstab-generator.c IIRC | 23:47:30 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org The divergence is entirely within fstab-generator.c IIRC I did mean invasive just within that file, but it is admittedly pretty simple compared to the entirety of systemd. I just couldn't imagine refactoring anything in systemd myself, but I have much too low confidence to make significant changes to something so critical | 23:48:22 |
@elvishjerricco:matrix.org | I'm basically talking about making the cmdline stuff use literally the existing code path as the fstab stuff, but then move the cmdline specific stuff into if (ininitrd() && path_equals(p, "/sysroot")) | 23:48:32 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org The divergence is entirely within fstab-generator.c IIRC * I did mean invasive just within that file, but it is admittedly pretty simple compared to the entirety of systemd. I just couldn't imagine refactoring anything in systemd myself, since I have much too low confidence to make significant changes to something so critical | 23:48:37 |
@elvishjerricco:matrix.org | should be pretty easy really | 23:48:58 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org I'm basically talking about making the cmdline stuff use literally the existing code path as the fstab stuff, but then move the cmdline specific stuff into if (ininitrd() && path_equals(p, "/sysroot")) Oh you know, that would actually kinda work wouldn't it. And not be horrible to do | 23:49:06 |
@lily:lily.flowers | In reply to @lily:lily.flowers I did mean invasive just within that file, but it is admittedly pretty simple compared to the entirety of systemd. I just couldn't imagine refactoring anything in systemd myself, since I have much too low confidence to make significant changes to something so critical (I was scared to even adjust the test runner to support fstab tests in https://github.com/systemd/systemd/pull/26038) | 23:50:05 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org I'm basically talking about making the cmdline stuff use literally the existing code path as the fstab stuff, but then move the cmdline specific stuff into if (ininitrd() && path_equals(p, "/sysroot")) * Oh you know, that would actually kinda work, wouldn't it. And not be horrible to do | 23:50:36 |
@elvishjerricco:matrix.org | Does systemd even have testing for initrd stuff? I actually don't know lol | 23:51:07 |
@lily:lily.flowers | Yes | 23:51:11 |
@lily:lily.flowers | Well so they have both unit tests, which is what I adjusted in the above PR, but they also have the mkosi test where they build and boot a whole system. But that's really the best they can do for that I suppose | 23:51:54 |
@lily:lily.flowers | (and they use SYSTEMD_IN_INITRD to override detection and control behavior in unit tests) | 23:52:27 |
@lily:lily.flowers | * (and they use SYSTEMD_IN_INITRD env var to override detection and control behavior in unit tests) | 23:52:34 |
@lily:lily.flowers | (I gave up trying to run said tests on NixOS. They made way too many assumptions. I just have a Fedora VM I use) | 23:53:12 |
@elvishjerricco:matrix.org | All my testing when working on systemd is with NixOS tests :P | 23:53:35 |
@elvishjerricco:matrix.org | If they ask me to write real tests I will | 23:53:47 |
@lily:lily.flowers | I have been making nixos tests too. But I mean for running their unit test suite | 23:53:50 |
@lily:lily.flowers | (since I really didn't want to end up with a regression in that when I touched it and added a test) | 23:54:08 |
@elvishjerricco:matrix.org | yea I just... don't wanna :P | 23:54:06 |