15 Jun 2023 |
@elvishjerricco:matrix.org | In reply to @lily:lily.flowers Would you mind nabbing logs with plymouth:debug on the kernel cmdline sometime? $ journalctl -b 0 | grep -i plymouth
Jun 15 15:31:59 localhost kernel: Command line: initrd=\efi\nixos\xdmzixriby5jk6jxvd3m79ciryndjnfm-initrd-linux-6.3.7-initrd.efi init=/nix/store/qr8c7ccym056dricl45qlc9kni6w4r8b-nixos-system-jace-23.11.20230615.c5ca97a/init delayacct quiet nohibernate splash loglevel=0 plymouth:debug
Jun 15 15:31:59 localhost kernel: Kernel command line: initrd=\efi\nixos\xdmzixriby5jk6jxvd3m79ciryndjnfm-initrd-linux-6.3.7-initrd.efi init=/nix/store/qr8c7ccym056dricl45qlc9kni6w4r8b-nixos-system-jace-23.11.20230615.c5ca97a/init delayacct quiet nohibernate splash loglevel=0 plymouth:debug
Jun 15 15:31:59 localhost kernel: Unknown kernel command line parameters "splash plymouth:debug", will be passed to user space.
Jun 15 15:31:59 localhost kernel: plymouth:debug
Jun 15 15:31:59 localhost systemd[1]: Tell Plymouth To Write Out Runtime Data was skipped because of an unmet condition check (ConditionPathExists=!/etc/initrd-release).
Jun 15 15:31:59 localhost systemd[1]: Starting Show Plymouth Boot Screen...
Jun 15 15:31:59 localhost plymouthd[373]: 00:00:00.496 ../src/main.c:1956:check_verbosity : redirecting debug output to /dev/tty1
Jun 15 15:31:59 localhost plymouthd[373]: xkbcommon: ERROR: failed to add default include path /nix/store/0zl3x9ggy4sdik97cgbijkalllmkw70b-xkeyboard-config-2.33/etc/X11/xkb
Jun 15 15:31:59 localhost plymouth[374]: 00:00:00.507 ../src/libply/ply-event-loop.c:766:ply_event_loop_stop_watchin: stopping watching fd 6
Jun 15 15:31:59 localhost plymouth[374]: 00:00:00.507 ../src/libply/ply-event-loop.c:782:ply_event_loop_stop_watchin: removing destination for fd 6
Jun 15 15:31:59 localhost plymouth[374]: 00:00:00.507 ../src/libply/ply-event-loop.c:766:ply_event_loop_stop_watchin: stopping watching fd 6
Jun 15 15:31:59 localhost plymouth[374]: 00:00:00.507 ../src/libply/ply-event-loop.c:782:ply_event_loop_stop_watchin: removing destination for fd 6
Jun 15 15:31:59 localhost plymouth[374]: 00:00:00.507 ../src/client/ply-boot-client.c:807:ply_boot_client_detach_fro: detaching from event loop
Jun 15 15:31:59 localhost systemd[1]: Started Show Plymouth Boot Screen.
Jun 15 15:31:59 localhost systemd[1]: Dispatch Password Requests to Console Directory Watch was skipped because of an unmet condition check (ConditionPathExists=!/run/plymouth/pid).
Jun 15 15:31:59 localhost systemd[1]: Started Forward Password Requests to Plymouth Directory Watch.
Jun 15 15:32:03 localhost systemd[1]: Started Forward Password Requests to Plymouth.
Jun 15 15:32:07 localhost plymouthd[373]: Fontconfig warning: no <cachedir> elements found. Check configuration.
Jun 15 15:32:07 localhost plymouthd[373]: Fontconfig warning: adding <cachedir>/var/cache/fontconfig</cachedir>
Jun 15 15:32:07 localhost plymouthd[373]: Fontconfig warning: adding <cachedir prefix="xdg">fontconfig</cachedir>
Jun 15 15:32:10 jace systemd[1]: Starting Plymouth switch root service...
Jun 15 15:32:10 jace systemd[1]: Finished Plymouth switch root service.
Jun 15 15:32:10 jace systemd[1]: systemd-ask-password-plymouth.service: Deactivated successfully.
Jun 15 15:32:10 jace systemd[1]: Dispatch Password Requests to Console Directory Watch was skipped because of an unmet condition check (ConditionPathExists=!/run/plymouth/pid).
Jun 15 15:32:10 jace systemd[1]: plymouth-switch-root.service: Deactivated successfully.
Jun 15 15:32:10 jace systemd[1]: Stopped Plymouth switch root service.
Jun 15 15:32:11 jace systemd[1]: Starting Tell Plymouth To Write Out Runtime Data...
Jun 15 15:32:11 jace plymouth[1643]: 00:00:12.595 ../src/libply/ply-event-loop.c:766:ply_event_loop_stop_watchin: stopping watching fd 6
Jun 15 15:32:11 jace plymouth[1643]: 00:00:12.595 ../src/libply/ply-event-loop.c:782:ply_event_loop_stop_watchin: removing destination for fd 6
Jun 15 15:32:11 jace plymouth[1643]: 00:00:12.596 ../src/libply/ply-event-loop.c:766:ply_event_loop_stop_watchin: stopping watching fd 6
Jun 15 15:32:11 jace plymouth[1643]: 00:00:12.596 ../src/libply/ply-event-loop.c:782:ply_event_loop_stop_watchin: removing destination for fd 6
Jun 15 15:32:11 jace plymouth[1643]: 00:00:12.596 ../src/client/ply-boot-client.c:807:ply_boot_client_detach_fro: detaching from event loop
Jun 15 15:32:11 jace systemd[1]: Finished Tell Plymouth To Write Out Runtime Data.
Jun 15 15:32:11 jace systemd[1]: Dispatch Password Requests to Console Directory Watch was skipped because of an unmet condition check (ConditionPathExists=!/run/plymouth/pid).
Jun 15 15:32:16 jace plymouth[2047]: 00:00:17.568 ../src/client/plymouth.c:425:on_disconnect : disconnect
Jun 15 15:32:16 jace plymouth[2047]: 00:00:17.568 ../src/libply/ply-event-loop.c:1143:ply_event_loop_free_destin: freeing destination (0, (nil), 0x403d30) of fd 6
Jun 15 15:32:16 jace plymouth[2047]: 00:00:17.568 ../src/client/ply-boot-client.c:807:ply_boot_client_detach_fro: detaching from event loop
| 19:36:25 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org since it's changing the default of an existing option Yeah I was wondering if that's what the goal was and if there was just a better way to accomplish that as well. If I remember I'll try to give a proper review later (I mostly just did a quick once-over) | 19:37:46 |
@elvishjerricco:matrix.org | I believe the gap between Started Show Plymouth Boot Screen. and Fontconfig warning: no <cachedir> elements found. Check configuration. is the gap where nothing is happening. I see some of these plymouth debug messages on screen, and then it stays like that for about 8 seconds, and then the password prompt suddenly shows up. | 19:38:09 |
@lily:lily.flowers | In reply to @elvishjerricco:matrix.org I believe the gap between Started Show Plymouth Boot Screen. and Fontconfig warning: no <cachedir> elements found. Check configuration. is the gap where nothing is happening. I see some of these plymouth debug messages on screen, and then it stays like that for about 8 seconds, and then the password prompt suddenly shows up. Weird... Yeah I don't know any potential causes off the top of my head | 19:39:00 |
| @ulli:hrnz.li set a profile picture. | 22:19:56 |
16 Jun 2023 |
@uep:matrix.org | In reply to @elvishjerricco:matrix.org So the message can calculate which mountpoints are busted https://github.com/NixOS/nixpkgs/pull/238021
I punted on the calculation for now, as much as I'm in favour of better errors for nixos in particular. But the message text seems sufficient
| 00:52:22 |
22 Jun 2023 |
@nikstur:matrix.org | I have a curious issue with the systemd initrd. The 9p mounts break when I start a VM with virtualisation.diskImage = null; and I have absolutely no idea how why where and what is going on. It works if the root is not volatile (so not a tmpfs). I only found this message: 9pnet_virtio: no channels available for device which sounds like kmods are missing. | 09:04:19 |
@nikstur:matrix.org | Any ideas? | 09:04:45 |
@gdamjan:spodeli.org | do you have the virtio_pci and/or virtio_mmio loaded? | 09:53:29 |
@gdamjan:spodeli.org | 9pnet_virtio uses virtio to communicate to the host, but virtio_pci, virtio_mmio provide the virtio transport to the guest drivers. | 09:56:20 |
@nikstur:matrix.org | The qemu-vm module should take care of this. And even if I add the module to boot.initrd.availbleKernelModules it doesnt work. However, it works if / is NOT on a tmpfs. I can't make the connect between tmpfs and 9p failing | 10:14:40 |
@nikstur:matrix.org | Oh and it also works with the legacy scripted initrd. So there is definetely something going on in the systemd initrd. | 10:22:42 |
colemickens | Ooh I know this one. | 12:55:42 |
colemickens | You need a special kernel module for PCI in qemu | 12:56:00 |
colemickens | https://github.com/colemickens/nixcfg/blob/main/modules/other-arch-vm.nix#L68 | 12:58:20 |
colemickens | That finally fixed the no channels available for me, I'm pretty sure | 12:58:56 |
@lily:lily.flowers | Do we need to add that to the qemu-vm modules then? | 13:01:19 |
colemickens | I think that might make sense, yeah | 13:01:58 |
@gdamjan:spodeli.org | but IIRC there was an option for qemu to use the mmio virtio without pci at all? | 13:08:09 |
@lily:lily.flowers | Seems weird it would only happen with tmpfs and only with systemd-initrd too, but idk I'd have to poke at it. Does adding that one module actually fix your issue nikstur? | 13:10:32 |
@nikstur:matrix.org | I don't know where "pci-host-generic" comes from, but it doesn't seem to be in the normal kernel build: FATAL: Module pci-host-generic not found in directory /nix/store/w37l1l2g8ysm54ccrq4q4bj06wjhcl2y-linux-6.1.34-modules/lib/modules/6.1.34 | 13:21:46 |
@nikstur:matrix.org | In reply to @lily:lily.flowers Seems weird it would only happen with tmpfs and only with systemd-initrd too, but idk I'd have to poke at it. Does adding that one module actually fix your issue nikstur? I also can't make the connection there. This is where it works and doesnt:
- legacy-initrd without tmpfs / -> works
- legacy-initrd with tmpfs / -
| 13:23:00 |
@nikstur:matrix.org | In reply to @lily:lily.flowers Seems weird it would only happen with tmpfs and only with systemd-initrd too, but idk I'd have to poke at it. Does adding that one module actually fix your issue nikstur? * I also can't make the connection there. This is where it works and doesnt:
- legacy-initrd without tmpfs / -> works
- legacy-initrd with tmpfs / -> works
- sd-initrd wihtout tmpfs / -> works
- sd-initrd with tmpfs / -> doesn't work
| 13:23:22 |
@nikstur:matrix.org | * I also can't make the connection there. This is where it works and doesnt:
- legacy-initrd without tmpfs / -> works
- legacy-initrd with tmpfs / -> works
- sd-initrd without tmpfs / -> works
- sd-initrd with tmpfs / -> doesn't work
| 13:23:38 |
@lily:lily.flowers | In reply to @nikstur:matrix.org
I also can't make the connection there. This is where it works and doesnt:
- legacy-initrd without tmpfs / -> works
- legacy-initrd with tmpfs / -> works
- sd-initrd without tmpfs / -> works
- sd-initrd with tmpfs / -> doesn't work
Can you share full boot logs? Or provide a system derivation to reproduce so we can poke at it? | 13:28:07 |
@nikstur:matrix.org | https://github.com/NixOS/nixpkgs/pull/238848 | 13:28:44 |
@nikstur:matrix.org | Didnt get around to parameterize it for sd-initrd yet but if you just manually set boot.initrd.systemd.enable = true it fails | 13:29:09 |
@lily:lily.flowers | If no one else does, I'll take a look and poke a little in about an hour or two when I'm done with a thing at $dayjob | 13:31:09 |
@lily:lily.flowers | Alright so you're gonna hate this and I think it may be a kernel bug | 17:24:35 |
@lily:lily.flowers | It works with this snippet:
boot.initrd.kernelModules = [ "9p" "9pnet_virtio" ];
boot.initrd.systemd.services.systemd-modules-load.before = [ "sysroot.mount" ];
boot.initrd.systemd.services.systemd-modules-load.serviceConfig.ExecStartPost = "${pkgs.coreutils}/bin/sleep 5";
| 17:24:52 |