24 Mar 2025 |
antifuchs | * oh lol, I have a little generator program for smartctl scan systemd timer tasks, if you're interested | 00:16:01 |
uep | to trigger selftests? | 00:19:27 |
uep | hm, there is -d removable but this seems to deal with it not being present on startup, doesn't mention anything about when it's removed..
removable - the device or its media is removable. This indicates to smartd that it should continue (instead of exiting, which is the default behavior) if the device does not appear to be present when smartd is started. This Directive may be used in conjunction with the other '-d' Directives.
| 00:28:14 |
uep | (it also looks like sending a SIGHUP might be enough rather than a restart, which seems nicer | 00:30:04 |
antifuchs | yup, I have one that triggers long and one that triggers short selftests every few weeks | 00:34:36 |
antifuchs | smartd could be smart enough to do what I want, but I don't wanna run smartd (: | 00:35:14 |
antifuchs | also, systemd generators are neat if mildly annoying to write/debug | 00:35:27 |
uep | i like that smartd records history of the counters and temperatures and such | 00:38:54 |
antifuchs | Ah, yeah, I have a Prometheus exporter for that (: | 01:41:57 |
| Nicolas changed their display name from Nicolas Lenz to Nicolas. | 13:40:39 |
p14 | I’m having difficulty with a /nix/store mount in fileSystems using the systemd initrd. I’m seeing that the mount gets done twice (according to findmnt), but I can’t see from the journal where this might be coming from | 16:07:45 |
p14 | I’m trying to arrange that it is a read only file system, with overlayfs, similar to the ISO.
It does boot, but the duplicate mount is causing problems. | 16:11:27 |
@elvishjerricco:matrix.org | p14: NixOS always does a bind mount over the nix store to make it ro, regardless of systemd vs scripted initrd | 17:07:59 |
@elvishjerricco:matrix.org | it does mount --bind /nix/store /nix/store | 17:08:10 |
@elvishjerricco:matrix.org | * it does mount --bind -o ro /nix/store /nix/store | 17:08:14 |
p14 | Thanks for the hint; could this explain the oddity I'm seeing?
Essentially, I have a ro store, that I mount at /nix/rostore , and then a writable partition I mount at / . I want to make /nix/store be an overlayfs with /nix/store (on the writable partition) with the rostore as the lower layer. I have something that works, but then the /nix/store directory appears empty if you try to list the files in it. Directly opening the paths is fine.
I can't figure out why I can't get a sane overlayfs mount..
| 18:53:14 |
@elvishjerricco:matrix.org | p14: the quickest guidance I can think of is that I did this for the ISO here: https://github.com/NixOS/nixpkgs/pull/291750 | 18:54:14 |
p14 | Essentially I'm trying to do something like https://github.com/NixOS/nixpkgs/blob/8e3b25f1708783d02963efe47222adb0a8e6f4f7/nixos/modules/installer/cd-dvd/iso-image.nix#L813 | 18:54:17 |
p14 | Oh cool, will definitely unpack taht | 18:54:36 |
@elvishjerricco:matrix.org | p14: oh, actually, I forgot it was already basically correct in the ISO | 18:55:05 |
@elvishjerricco:matrix.org | what's wrong with doing it the way the ISO does it already? | 18:55:15 |
p14 | I guess one difference there is that / is tmpfs | 18:55:19 |
p14 | I don't want / as tmpfs | 18:55:22 |
@elvishjerricco:matrix.org | that doesn't really matter | 18:55:29 |
p14 | Well, OK, but then if I try to do what I perceive to be the obvious thing, I end up with this weird thing which doesn't quite work properly | 18:55:50 |
@elvishjerricco:matrix.org | can you share the code you tried and what you observed going wrong? | 18:56:24 |
p14 | I also had difficulty getting the debug shell to work with my VM since I can't switch to VT9, though I did just discover rd.systemd.default_debug_tty , so once I can figure out what the friendly tty is called, I can probably get a debug shell | 18:56:27 |
p14 | Something like:
fileSystems = {
"/" = {
device = "/dev/disk/by-partlabel/nixos-rw";
fsType = "btrfs";
options = [ "x-systemd.growfs" ];
autoResize = true;
neededForBoot = true;
};
"/nix/rostore" = {
device = "/dev/disk/by-partlabel/nixos";
fsType = "squashfs";
neededForBoot = true;
};
"/nix/store" = {
fsType = "overlay";
device = "overlay";
overlay = {
lowerdir = ["/nix/rostore/nix/store"];
upperdir = "/nix/store";
workdir = "/nix/ovfs-work";
};
};
};
| 18:59:16 |
p14 | Awkwardly my rostore has the nix store at /nix/store within it | 18:59:41 |
@elvishjerricco:matrix.org | p14: You don't want the upper dir to be /nix/store | 19:01:47 |