| 28 Jan 2023 |
@elvishjerricco:matrix.org | they may just not care because either they have the fsck unit or they have swap on a block device and don't notice the scary | 23:33:57 |
@lily:lily.flowers | Oh you know what. Dracut actually does create their own synchronization points. So I bet it's working in dracut by chance right now | 23:34:28 |
@elvishjerricco:matrix.org | Exactly | 23:34:35 |
@lily:lily.flowers | Let me go check mkinitcpio to see if they're doing anything | 23:34:48 |
@elvishjerricco:matrix.org | I think it's really really stupid that systemd doesn't add After=local-fs-pre.target in initrd | 23:35:07 |
@elvishjerricco:matrix.org | that's the sync point that systemd-hibernate-resume@.service relies on | 23:35:22 |
@elvishjerricco:matrix.org | The docs literally say that's why it works | 23:35:37 |
@elvishjerricco:matrix.org | Search for hibernate in man bootup | 23:36:02 |
@elvishjerricco:matrix.org | the docs are just wrong :P | 23:36:10 |
@lily:lily.flowers | mkinitcpio uses their own resume hook too | 23:37:17 |
@elvishjerricco:matrix.org | is that what dracut does? Just all custom hibernate resume stuff? | 23:37:44 |
@lily:lily.flowers | Yep. And I just checked initramfs-tools too | 23:37:59 |
@elvishjerricco:matrix.org | also, make sure you're looking at the systemd variations on all these things | 23:37:59 |
@elvishjerricco:matrix.org | both mkinitcpio and dracut have old scripted mode and systemd mode | 23:38:08 |
@elvishjerricco:matrix.org | (that's one reason I don't look to them for examples; it's really hard to disentangle their scripted implementations from their systemd implementations) | 23:38:55 |
@lily:lily.flowers | Okay so dracut does use systemd-hibernate-resume@.service but as mentioned they have their own sync points | 23:39:09 |
@lily:lily.flowers | I think mkinitcpio is doing their own custom resume | 23:39:30 |
@elvishjerricco:matrix.org | In reply to @lily:lily.flowers Okay so dracut does use systemd-hibernate-resume@.service but as mentioned they have their own sync points That's not surprising. Dracut is like the de facto implementation of systemd initrd | 23:39:48 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org (that's one reason I don't look to them for examples; it's really hard to disentangle their scripted implementations from their systemd implementations) (mkinitcpio also sketches me the heck out and dracut is too complicated/sometimes working by accident like in this case) | 23:41:32 |
@elvishjerricco:matrix.org | yuuup | 23:41:54 |
@elvishjerricco:matrix.org | agreed 100% | 23:41:59 |
@linus:schreibt.jetzt | we should make the nixos initramfs builder build initramfses for other distros too | 23:42:27 |
@linus:schreibt.jetzt | then have all the other distros use that | 23:42:36 |
@linus:schreibt.jetzt | :D | 23:42:37 |
@lily:lily.flowers | Honestly, it would definitely improve the situation for some initramfs's | 23:42:53 |
@elvishjerricco:matrix.org | My earliest attempts at systemd initrd included using mkinitcpio and dracut and it was Not Very Fun (TM) | 23:42:55 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org My earliest attempts at systemd initrd included using mkinitcpio and dracut and it was Not Very Fun (TM) Yeah what we've got going (once all of the unit ordering issues are ironed out...) seems much better and easier to follow. Also probably faster since it doesn't have the extra stuff that dracut has | 23:43:38 |
@lily:lily.flowers | (As the person who maintains the dracut derivation in nixpkgs, I can confirm we should 100% not use it to generate our initramfs unless we want to have a terrible time) | 23:44:37 |
@lily:lily.flowers | (I only wanted it for lsinitrd anyways) | 23:44:49 |
@linus:schreibt.jetzt | I remember trying to follow what dracut did for... something, I don't even remember what | 23:45:10 |