NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.05k stars 14.09k forks source link

Plymouth stopped showing presumable after the systemd 256 update #332812

Open SuperSandro2000 opened 3 months ago

SuperSandro2000 commented 3 months ago

Describe the bug

Plymouth is not being used and falls back to text input after presumable the systemd 256 update.

Steps To Reproduce

Steps to reproduce the behavior:

  1. turn on plymotuh
  2. no longer shown and console based password prompt is used

Additional context

The only strange from the log is Received SIGRTMIN+20 from PID 223 (plymouthd).

 ➜ journalctl -n 100000 | rg plymouth -C 2
Aug 06 21:54:39 localhost systemd-udevd[177]: Using default interface naming scheme 'v255'.
Aug 06 21:54:39 localhost systemd[1]: Started Rule-based Manager for Device Events and Files.
Aug 06 21:54:39 localhost systemd[1]: Starting Show Plymouth Boot Screen...
Aug 06 21:54:39 localhost systemd[1]: Received SIGRTMIN+20 from PID 223 (plymouthd).
Aug 06 21:54:39 localhost systemd[1]: Received SIGRTMIN+20 from PID 223 (plymouthd).
Aug 06 21:54:39 localhost systemd[1]: Started Show Plymouth Boot Screen.
Aug 06 21:54:39 localhost systemd[1]: Dispatch Password Requests to Console Directory Watch was skipped because of an unmet condition check (ConditionPathExists=!/run/plymouth/pid).
Aug 06 21:54:39 localhost systemd[1]: Started Forward Password Requests to Plymouth Directory Watch.
Aug 06 21:54:39 localhost systemd[1]: Reached target Path Units.
Aug 06 21:54:39 localhost kernel: cryptd: max_cpu_qlen set to 1000
--
Aug 06 21:54:42 localhost kernel: Disabling lock debugging due to kernel taint
Aug 06 21:54:42 localhost kernel: device-mapper: ioctl: 4.45.0-ioctl (2021-03-22) initialised: dm-devel@redhat.com
Aug 06 21:54:42 localhost systemd[1]: Started Forward Password Requests to Plymouth.
Aug 06 21:54:43 localhost systemd-modules-load[148]: Inserted module 'zfs'
Aug 06 21:54:43 localhost kernel: ZFS: Loaded module v2.2.4-1, ZFS pool version 5000, ZFS filesystem version 5
--
Aug 06 21:54:50 localhost systemd[1]: Reached target Local File Systems.
Aug 06 21:54:50 localhost systemd[1]: Mounting /sysroot...
Aug 06 21:54:50 localhost systemd[1]: Tell Plymouth To Write Out Runtime Data was skipped because of an unmet condition check (ConditionPathExists=!/etc/initrd-release).
Aug 06 21:54:50 localhost systemd[1]: Starting Create System Files and Directories...
Aug 06 21:54:50 localhost systemd[1]: Mounted /sysroot.
--
Aug 06 21:54:51 localhost systemd[1]: Stopped target ZFS pool import target.
Aug 06 21:54:51 localhost systemd[1]: Stopping D-Bus System Message Bus...
Aug 06 21:54:51 localhost systemd[1]: Starting Plymouth switch root service...
Aug 06 21:54:51 localhost sshd[914]: Received signal 15; terminating.
Aug 06 21:54:51 localhost systemd[1]: Stopping SSH Daemon...
--
Aug 06 21:54:51 localhost systemd[1]: sshd.service: Deactivated successfully.
Aug 06 21:54:51 localhost systemd[1]: Stopped SSH Daemon.
Aug 06 21:54:51 localhost systemd[1]: Finished Plymouth switch root service.
Aug 06 21:54:51 localhost systemd[1]: Stopped target Basic System.
Aug 06 21:54:51 localhost systemd[1]: Stopped target Network.
--
Aug 06 21:54:53 magnesium kernel: zram: Added device: zram0
Aug 06 21:54:53 magnesium systemd[1]: /etc/systemd/system/cups.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/cups/cups.sock → /run/cups/cups.sock; please update the unit file accordingly.
Aug 06 21:54:53 magnesium systemd[1]: systemd-ask-password-plymouth.service: Deactivated successfully.
Aug 06 21:54:53 magnesium systemd[1]: initrd-switch-root.service: Deactivated successfully.
Aug 06 21:54:53 magnesium systemd[1]: Stopped initrd-switch-root.service.
--
Aug 06 21:54:53 magnesium systemd[1]: Created slice Slice /system/systemd-zram-setup.
Aug 06 21:54:53 magnesium systemd[1]: Created slice User and Session Slice.
Aug 06 21:54:53 magnesium systemd[1]: Dispatch Password Requests to Console Directory Watch was skipped because of an unmet condition check (ConditionPathExists=!/run/plymouth/pid).
Aug 06 21:54:53 magnesium systemd[1]: Started Forward Password Requests to Wall Directory Watch.
Aug 06 21:54:53 magnesium systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
--
Aug 06 21:54:53 magnesium systemd[1]: Starting Load Kernel Module fuse...
Aug 06 21:54:53 magnesium systemd[1]: Starting mount-pstore.service...
Aug 06 21:54:53 magnesium systemd[1]: plymouth-switch-root.service: Deactivated successfully.
Aug 06 21:54:53 magnesium systemd[1]: Stopped Plymouth switch root service.
Aug 06 21:54:53 magnesium systemd[1]: systemd-cryptsetup@magnesium\x2droot.service: Deactivated successfully.
Aug 06 21:54:53 magnesium systemd[1]: Stopped systemd-cryptsetup@magnesium\x2droot.service.
--
Aug 06 21:54:54 magnesium systemd[1]: Reached target Local File Systems.
Aug 06 21:54:54 magnesium systemd[1]: Listening on Boot Entries Service Socket.
Aug 06 21:54:54 magnesium systemd[1]: Starting Tell Plymouth To Write Out Runtime Data...
Aug 06 21:54:54 magnesium systemd[1]: Update Boot Loader Random Seed was skipped because no trigger condition checks were met.
Aug 06 21:54:54 magnesium systemd[1]: Starting Create System Files and Directories...
Aug 06 21:54:54 magnesium systemd[1]: Received SIGRTMIN+20 from PID 223 (plymouthd).
Aug 06 21:54:54 magnesium systemd-tmpfiles[1355]: /etc/tmpfiles.d/tmp.conf:11: Duplicate line for path "/tmp", ignoring.
Aug 06 21:54:54 magnesium systemd[1]: Finished Tell Plymouth To Write Out Runtime Data.
Aug 06 21:54:54 magnesium kernel: elan_i2c 6-0015: supply vcc not found, using dummy regulator
Aug 06 21:54:54 magnesium kernel: elan_i2c 6-0015: unexpected iap version 0x00 (ic type: 0x2f), firmware update will not work
--
Aug 06 21:54:56 magnesium systemd[1]: Started SSH Daemon.
Aug 06 21:54:56 magnesium systemd[1]: Starting Hold until boot process finishes up...
Aug 06 21:54:56 magnesium systemd[1]: Starting Terminate Plymouth Boot Screen...
Aug 06 21:54:56 magnesium sshd[1696]: Server listening on 0.0.0.0 port 22.
Aug 06 21:54:56 magnesium sshd[1696]: Server listening on :: port 22.
Aug 06 21:54:56 magnesium systemd[1]: Received SIGRTMIN+21 from PID 223 (plymouthd).
Aug 06 21:54:56 magnesium systemd[1]: Finished Terminate Plymouth Boot Screen.
Aug 06 21:54:56 magnesium systemd[1]: Finished Hold until boot process finishes up.
Aug 06 21:54:56 magnesium systemd[1]: Started Display Manager.

Notify maintainers

@arianvp

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.163-rt78, NixOS, 24.11 (Vicuna), 24.11`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.23.3`
 - nixpkgs: `/nix/store/psglimnrm06hn5phzfakc2ibmg06va6j-source`

Add a :+1: reaction to issues you find important.

SuperSandro2000 commented 2 months ago

I've photographed a boot failure

image

SuperSandro2000 commented 2 months ago

Updating to an unreleased version fixed my issue:

plymouth = prev.plymouth.overrideAttrs ({ src, ... }: {
  version = "24.004.60-unstable-2024-08-28";

  src = src.override {
    rev = "ea83580a6d66afd2b37877fc75248834fe530d99";
    hash = "sha256-GQzf756Y26aCXPyZL9r+UW7uo+wu8IXNgMeJkgFGWnA=";
  };
});
ElvishJerricco commented 2 months ago

@SuperSandro2000 Do you think you could bisect the commits between nixpkgs' plymouth version and that one to find which one fixes it? We might want to include it as a patch in nixpkgs. Looking at the git log, my first suspicion is this one c06ee92bafc586d20710c39a6f0d38651b769ffd

SuperSandro2000 commented 1 month ago

I applied that commit on top of the version in nixos unstable and that didn't fix the issue for me. I don't really have the motivation to bisect and reboot a bunch of times. Can we just update to that version or a later version on master?

ElvishJerricco commented 1 month ago

Switching to an unreleased commit doesn't seem like the right move to me. A single patch that we understand is a completely different story than an entire unreleased branch.

alienzj commented 1 month ago

Updating to an unreleased version fixed my issue:

plymouth = prev.plymouth.overrideAttrs ({ src, ... }: {
  version = "24.004.60-unstable-2024-08-28";

  src = src.override {
    rev = "ea83580a6d66afd2b37877fc75248834fe530d99";
    hash = "sha256-GQzf756Y26aCXPyZL9r+UW7uo+wu8IXNgMeJkgFGWnA=";
  };
});

Hi, may I know how to config it? It seems there are no boot.plymouth.package option.

SuperSandro2000 commented 1 month ago

put the following into your configuration.nix and make sure to drop it after the next plymouth update.

nixpkgs.overlays = [
  (final: prev: {
    plymouth = prev.plymouth.overrideAttrs ({ src, ... }: {
      version = "24.004.60-unstable-2024-08-28";

      src = src.override {
        rev = "ea83580a6d66afd2b37877fc75248834fe530d99";
        hash = "sha256-GQzf756Y26aCXPyZL9r+UW7uo+wu8IXNgMeJkgFGWnA=";
      };
    });
  })
];
alienzj commented 1 month ago

put the following into your configuration.nix and make sure to drop it after the next plymouth update.

nixpkgs.overlays = [
  (final: prev: {
    plymouth = prev.plymouth.overrideAttrs ({ src, ... }: {
      version = "24.004.60-unstable-2024-08-28";

      src = src.override {
        rev = "ea83580a6d66afd2b37877fc75248834fe530d99";
        hash = "sha256-GQzf756Y26aCXPyZL9r+UW7uo+wu8IXNgMeJkgFGWnA=";
      };
    });
  })
];

Thank you so much!

niggowai commented 4 weeks ago

Thanks. I was quite confused since the system didn't came up after enabling plymouth, but I thought I verified the change with nixos-rebuild build-vm-with-bootloader, where the system worked without any problem.