I finally had a chance to take a look at this tonight. I was able to reproduce the issue by bringing a KDE install up to date, creating a snapshot, and attempting to boot into it.
Has anyone else tested booting a snapshot on dracut 101? I am kind of surprised there are not more issues in the forum related to this. 
❯ pacman -Qs dracut
local/dracut 101-1
An event driven initramfs infrastructure
local/garuda-dracut-support 1.0.1-1
Dracut support for Garuda Linux
❯ garuda-inxi
System:
Kernel: 6.8.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: acpi_pm
parameters: BOOT_IMAGE=/dr460nized/boot/vmlinuz-linux-zen
root=UUID=5fa54f34-b5fc-40be-8092-8ba34ced9eba rw
rootflags=subvol=dr460nized quiet loglevel=3 ibt=off
Desktop: KDE Plasma v: 6.0.4 tk: Qt v: N/A info: frameworks v: 6.1.0
wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Laptop System: Framework product: Laptop v: AB
serial: <superuser required>
Mobo: Framework model: FRANBMCP0B v: AB serial: <superuser required>
part-nu: FRANBMCP0B uuid: <superuser required> UEFI: INSYDE v: 03.10
date: 07/19/2022
Battery:
ID-1: BAT1 charge: 41.6 Wh (80.8%) condition: 51.5/55.0 Wh (93.5%)
volts: 16.6 min: 15.4 model: NVT Framewo type: Li-ion serial: <filter>
status: charging cycles: 137
CPU:
Info: model: 11th Gen Intel Core i7-1165G7 bits: 64 type: MT MCP
arch: Tiger Lake gen: core 11 level: v4 note: check built: 2020
process: Intel 10nm family: 6 model-id: 0x8C (140) stepping: 1
microcode: 0xB6
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 1048 high: 2976 min/max: 400/4700 scaling:
driver: intel_pstate governor: powersave cores: 1: 1019 2: 1100 3: 400
4: 400 5: 1075 6: 1017 7: 2976 8: 400 bogomips: 44851
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: Framework
driver: i915 v: kernel alternate: xe arch: Gen-12.1 process: Intel 10nm
built: 2020-21 ports: active: DP-5,DP-6,eDP-1 empty: DP-1, DP-2, DP-3,
DP-4, DP-7 bus-ID: 00:02.0 chip-ID: 8086:9a49 class-ID: 0300
Device-2: Realtek Laptop Camera driver: uvcvideo type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-7:3 chip-ID: 0bda:5634
class-ID: 0e02 serial: <filter>
Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 23.2.6
compositor: kwin_wayland driver: X: loaded: modesetting
alternate: fbdev,intel,vesa dri: iris gpu: i915 d-rect: 5984x1440
display-ID: 0
Monitor-1: DP-5 pos: center res: 2560x1440 size: N/A modes: N/A
Monitor-2: DP-6 pos: right res: 1920x1080 size: N/A modes: N/A
Monitor-3: eDP-1 pos: primary,left res: 1504x1003 size: N/A modes: N/A
API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
device: 1 drv: swrast surfaceless: drv: iris wayland: drv: iris x11:
drv: iris inactive: gbm
API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.0.5-arch1.1
glx-v: 1.4 direct-render: yes renderer: Mesa Intel Xe Graphics (TGL GT2)
device-ID: 8086:9a49 memory: 15.05 GiB unified: yes display-ID: :1.0
API: Vulkan v: 1.3.279 layers: 3 device: 0 type: integrated-gpu name: Intel
Xe Graphics (TGL GT2) driver: mesa intel v: 24.0.5-arch1.1
device-ID: 8086:9a49 surfaces: xcb,xlib,wayland device: 1 type: cpu
name: llvmpipe (LLVM 17.0.6 256 bits) driver: mesa llvmpipe
v: 24.0.5-arch1.1 (LLVM 17.0.6) device-ID: 10005:0000
surfaces: xcb,xlib,wayland
Audio:
Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: Framework
driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_tgl
bus-ID: 00:1f.3 chip-ID: 8086:a0c8 class-ID: 0403
Device-2: Realtek USB Audio driver: snd-usb-audio type: USB rev: 2.0
speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-4.3.4:9 chip-ID: 0bda:402e
class-ID: 0102 serial: <filter>
API: ALSA v: k6.8.7-zen1-1-zen status: kernel-api tools: N/A
Server-1: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon Peak] driver: iwlwifi
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 bus-ID: aa:00.0
chip-ID: 8086:2725 class-ID: 0280
IF: wlp170s0 state: up mac: <filter>
Device-2: Realtek RTL8153 Gigabit Ethernet Adapter driver: r8152 type: USB
rev: 3.0 speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-3.4:4
chip-ID: 0bda:8153 class-ID: 0000 serial: <filter>
IF: enp0s13f0u3u4 state: up speed: 1000 Mbps duplex: full mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-10:8 chip-ID: 8087:0032
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.3
lmp-v: 12 status: discoverable: no pairing: no class-ID: 6c010c
Drives:
Local Storage: total: 931.51 GiB used: 136.86 GiB (14.7%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WDS100T3X0C-00SJG0 size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 111130WD temp: 36.9 C scheme: GPT
Partition:
ID-1: / raw-size: 931.42 GiB size: 931.42 GiB (100.00%)
used: 136.85 GiB (14.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 94 MiB size: 92.5 MiB (98.44%)
used: 9.4 MiB (10.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 931.42 GiB size: 931.42 GiB (100.00%)
used: 136.85 GiB (14.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 931.42 GiB size: 931.42 GiB (100.00%)
used: 136.85 GiB (14.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 931.42 GiB size: 931.42 GiB (100.00%)
used: 136.85 GiB (14.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 15.41 GiB used: 773.5 MiB (4.9%)
priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 8
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 45.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 16 GiB note: est. available: 15.41 GiB used: 3.19 GiB (20.7%)
Processes: 269 Power: uptime: 20m states: freeze,mem,disk suspend: s2idle
avail: deep wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 6.15 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 1395 libs: 386 tools: octopi,pacseek,paru
Compilers: gcc: 13.2.1 Shell: garuda-inxi default: fish v: 3.7.1
running-in: konsole inxi: 3.3.34
Garuda (2.6.26-1):
System install date: 2024-03-19
Last full system update: 2024-04-25
Is partially upgraded: No
Relevant software: snapper NetworkManager dracut
Windows dual boot: No/Undetected
Failed units:
The errors when booting a snapshot are like this:
[FAILED] Failed to start Remount Root and Kernel File Systems.
[FAILED] Failed to start Remount Root and Kernel File Systems.
[FAILED] Failed to start Remount Root and Kernel File Systems.
[FAILED] Failed to start Remount Root and Kernel File Systems.
[FAILED] Failed to start Samba NMB Daemon.
[FAILED] Failed to start Samba NMB Daemon.
It hangs there, but switching to a TTY works. It looks like the display manager is not able to start:
sddm[796]: Initializing...
sddm[796]: Starting...
sddm[796]: Logind interface found
sddm[796]: Adding new display...
sddm[796]: Loaded empty theme configuration
sddm[796]: Xauthority path: "/run/sddm/xauth_wnehTK"
sddm[796]: Using VT 2
sddm[796]: Display server starting...
sddm[796]: Writing cookie to "/run/sddm/xauth_wnehTK"
sddm[796]: Running: /usr/bin/X -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_wnehTK -noreset -displayfd 16
sddm[796]: Failed to read display number from pipe
sddm[796]: Display server stopping...
sddm[796]: Attempt 1 starting the Display server on vt 2 failed
sddm[796]: Display server starting...
sddm[796]: Writing cookie to "/run/sddm/xauth_wnehTK"
sddm[796]: Running: /usr/bin/X -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_wnehTK -noreset -displayfd 16
sddm[796]: Failed to read display number from pipe
sddm[796]: Display server stopping...
sddm[796]: Attempt 2 starting the Display server on vt 2 failed
sddm[796]: Display server starting...
sddm[796]: Writing cookie to "/run/sddm/xauth_wnehTK"
sddm[796]: Running: /usr/bin/X -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_wnehTK -noreset -displayfd 16
sddm[796]: Failed to read display number from pipe
sddm[796]: Display server stopping...
sddm[796]: Attempt 3 starting the Display server on vt 2 failed
sddm[796]: Could not start Display server on vt 2
I logged in to the TTY and ran startplasma-wayland
and started getting a ton of pop-up notifications with an assortment of failure messages like this:
"Configuration file “/home/jeremy/.config/ksplashrc” not writeable.
Please contact your system administrator.
There were probably a dozen messages similar to that one, and then one of these:
The following installation problem was detected
while trying to start Plasma:
<html>No write access to $HOME directory (/home/
jeremy). If this is intentional, set
<tt>$KDE_HOME_READONLY=1</tt> in your
environment.</html>
Plasma is unable to start.
Finally, to my surprise, I got the notification from Snapper Tools:
Apologies for the terrible quality of the photo, and the dust on the screen and so on.
I did click Yes to restore the snapshot, but I never got a notification that it had been restored. Later, after a reboot, I confirmed that it in fact did not restore the snapshot, it must have failed somehow.
At some point, the desktop did load though, which I was also not expecting. I got a few more notifications mentioning this or that had failed, but considering all that I guess the desktop seemed at least pseudo-normal.
Based on this clue (posted by @Elmar above), I decided to try something wild and I removed the /usr/lib/dracut/modules.d/91btrfs-snapshot-overlay/
directory (it has two scripts inside, module-setup.sh
and snapshot-overlay.sh
), then regenerated the initramfs images. Finally, I generated a pair of new snapshots by uninstalling a package, then attempted to reboot to the pre-uninstall snapshot.
First, I got a black screen…but when I switched to a TTY and switched back, finally an error message popped up (again, please forgive the bad photo):
After I clicked OK, SDDM loaded normally, and the desktop as well (no dozens of error messages), and the Snapper Tools prompt appeared (“You are currently booted into a snapshot, would you like to restore it?”). I clicked Yes to restore the snapshot but it didn’t do anything again. I searched all running processes for snap
and got nothing–I guess maybe it is not succeeding for some reason.
I opened Btrfs Assistant to restore the snapshot, and that succeeded immediately. I rebooted afterward and confirmed the system is the restored snapshot, with the package I uninstalled and everything.
TL;DR
It seems like the scripts in /usr/lib/dracut/modules.d/91btrfs-snapshot-overlay/
need to be reworked following the latest update to dracut. I have opened an issue here: garuda-dracut-support - issue with overlayfs script after dracut 101 update (#10) · Issues · Garuda Linux 🦅 / PKGBUILDs · GitLab
Update
Since posting this, I have also tested Gnome and Sway. They do throw the same [FAILED] Failed to start Remount Root and Kernel File Systems
errors just before the display manager loads when booting a snapshot on dracut 101, but it’s just a flash on the screen and then the display manager comes up normally. Logging in and starting the session works fine. The Snapper prompt still does not work, but restoring the snapshots through Btrfs Assistant is working fine.
It still seems something about the dracut update is causing a problem somewhere, but perhaps the scripts in /usr/lib/dracut/modules.d/91btrfs-snapshot-overlay/
are a red herring and the actual issue is with SDDM.