I’ve ran these command (imgs below) and found that a lot of blame start with “dev-disk-by…”.
Therefore, I thought it’s might cause by some disk partitioning or mounting issue.
However, I chose automatically partition when install fedora 41 so I not pretty sure about that…
#
# /etc/fstab
# Created by anaconda on Sat Mar 22 02:07:24 2025
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=36c5319f-22f0-4b0f-9421-b5d3108d9428 / btrfs subvol=root,compress=zstd:1 0 0
UUID=a2b2d8f6-6909-4e46-b82f-926b2d47505a /boot ext4 defaults 1 2
UUID=3310-985D /boot/efi vfat umask=0077,shortname=winnt 0 2
UUID=36c5319f-22f0-4b0f-9421-b5d3108d9428 /home btrfs subvol=home,compress=zstd:1 0 0
I have been trying to resolve long boot times for a while now. The systemd-analyze data has not been helpful in obviating what is causing the delay. I did not find anything in dmesg or journalctl either.
Today I added a kernel command line parameter
plymouth.enable=0
and timed a cold boot from switching on power to observing the gdm greeter login prompt. There was an ~20s improvement. This gets a little trickey when a luks passphrase has to be typed but the ~20s improvement is actual, not just a difference in typing speed.
My guess is that it is waiting for plymouth-quit-wait to succeed but I cannot determine what plymouth-quit-wait is waiting for. Once it succeeds the gdm greeter prompt gets displayed and login can proceed. With plymouth disabled the gdm greeter prompt gets displayed 20s earlier.
A drm driver load delay wouldn’t be different with or without plymouth. Both tests are timed to the gdm greeter where the entry box is displayed so the drm driver is successfully loaded in both.
#journalctl -b -1 -g drm
Mar 23 10:14:23 hostname.network kernel: ACPI: bus type drm_connector registered
Mar 23 10:14:23 hostname.network kernel: simple-framebuffer simple-framebuffer.0: [drm] Registered 1 planes with drm panic
Mar 23 10:14:23 hostname.network kernel: [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
Mar 23 10:14:23 hostname.network kernel: simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
Mar 23 10:14:25 hostname.network kernel: i915 0000:00:02.0: [drm] Found cometlake (device ID 9bf6) display version 9.00 stepping N/A
Mar 23 10:14:25 hostname.network kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Mar 23 10:14:25 hostname.network kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to probe lspcon
Mar 23 10:14:25 hostname.network kernel: [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 1
Mar 23 10:14:25 hostname.network kernel: fbcon: i915drmfb (fb0) is primary device
Mar 23 10:14:25 hostname.network kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Mar 23 10:14:53 hostname.network systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
Mar 23 10:14:53 hostname.network systemd[1]: modprobe@drm.service: Deactivated successfully.
Mar 23 10:14:53 hostname.network systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
Mar 23 10:14:53 hostname.network audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 10:14:53 hostname.network audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 10:14:53 hostname.network kernel: audit: type=1130 audit(1742724893.767:13): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 10:14:53 hostname.network kernel: audit: type=1131 audit(1742724893.767:14): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
# journalctl -b 0 -g drm
Mar 23 16:09:27 hostname.network kernel: ACPI: bus type drm_connector registered
Mar 23 16:09:28 hostname.network kernel: simple-framebuffer simple-framebuffer.0: [drm] Registered 1 planes with drm panic
Mar 23 16:09:28 hostname.network kernel: [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
Mar 23 16:09:28 hostname.network kernel: simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
Mar 23 16:09:29 hostname.network kernel: i915 0000:00:02.0: [drm] Found cometlake (device ID 9bf6) display version 9.00 stepping N/A
Mar 23 16:09:30 hostname.network kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Mar 23 16:09:30 hostname.network kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to probe lspcon
Mar 23 16:09:30 hostname.network kernel: [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 1
Mar 23 16:09:30 hostname.network kernel: fbcon: i915drmfb (fb0) is primary device
Mar 23 16:09:30 hostname.network kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Mar 23 16:09:50 hostname.network systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
Mar 23 16:09:50 hostname.network systemd[1]: modprobe@drm.service: Deactivated successfully.
Mar 23 16:09:50 hostname.network systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
Mar 23 16:09:50 hostname.network audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 16:09:50 hostname.network audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 16:09:50 hostname.network kernel: audit: type=1130 audit(1742746190.634:13): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 23 16:09:50 hostname.network kernel: audit: type=1131 audit(1742746190.634:14): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=modprobe@drm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success':
Isn’t the DRM driver need to be loaded to help plymouth show that splash booting animation?
I found that disable plymouth may not directly affect the boot times.
Maybe plymouth request the DRM driver to load is the true cause?