aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-29 11:18:14 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-29 11:18:14 +0100
commitad8e14860fa0ca978f5ef6e02860d24f5e39c361 (patch)
treec457d24ba05d5eabf149652863391df6f7c94258
parentbe5f8a2e6be3af4963399bb7f994f76d76b3a239 (diff)
downloaddotfiles-ad8e14860fa0ca978f5ef6e02860d24f5e39c361.tar.gz
dotfiles-ad8e14860fa0ca978f5ef6e02860d24f5e39c361.tar.bz2
dotfiles-ad8e14860fa0ca978f5ef6e02860d24f5e39c361.zip
fix(suspend): switch hardened to s2idle, keep console alive, archive pstore
Previous attempt (early-loading intel_lpss_pci) did not fix the wake-from-suspend panic on linux-hardened. The journal of the failed boot ends cleanly at the last sync with no panic, oops, or even 'PM: suspend entry' message — the kernel dies so fast nothing is flushed, even with panic=10 + watchdog knobs. Three changes to make progress: * mem_sleep_default=s2idle: switch S3 'deep' (broken firmware path on Coffee Lake ThinkPads) to s2idle / s0ix. Many Lenovo machines only suspend reliably via s2idle; the stock linux kernel may be masking the issue elsewhere. * no_console_suspend: keep console alive across the suspend/resume cycle so the panic actually prints somewhere visible, instead of being eaten when the framebuffer goes dark. * systemd-pstore.service: archive /sys/fs/pstore/* to /var/lib/systemd/pstore/ on every boot, so the next panic (if EFI variables capture it) survives. Drop 'quiet' from hardened cmdline so console messages are visible.
-rw-r--r--etc/kernel/cmdline-linux-hardened.tmpl2
-rw-r--r--systemd-units/system.txt1
2 files changed, 2 insertions, 1 deletions
diff --git a/etc/kernel/cmdline-linux-hardened.tmpl b/etc/kernel/cmdline-linux-hardened.tmpl
index e77f3c3..45dff5e 100644
--- a/etc/kernel/cmdline-linux-hardened.tmpl
+++ b/etc/kernel/cmdline-linux-hardened.tmpl
@@ -1 +1 @@
-rd.luks.name={{ output "lsblk" "-dno" "UUID" (printf "/dev/%s" .luksRootPartition) | trim }}=root root=/dev/mapper/root rw quiet nmi_watchdog=panic softlockup_panic=1 panic=10
+rd.luks.name={{ output "lsblk" "-dno" "UUID" (printf "/dev/%s" .luksRootPartition) | trim }}=root root=/dev/mapper/root rw mem_sleep_default=s2idle no_console_suspend nmi_watchdog=panic softlockup_panic=1 panic=10
diff --git a/systemd-units/system.txt b/systemd-units/system.txt
index 582a508..db74386 100644
--- a/systemd-units/system.txt
+++ b/systemd-units/system.txt
@@ -5,6 +5,7 @@
systemd-timesyncd.service
systemd-resolved.service
systemd-oomd.service
+systemd-pstore.service
reflector.timer
paccache.timer
acpid.service