v0.5.12: mask plymouth via /dev/null symlinks (systemctl mask N/A in chroot)
v0.5.11 used `systemctl mask plymouth-*.service` in generated kickstart %post chroot block. systemctl needs systemd running, which it isn't in anaconda chroot — calls failed silently (|| true). Boot test confirmed: post-reboot showed both: Started plymouth-start.service - Show Plymouth Boot Screen Started systemd-ask-password-plymouth.path - Forward Password Requests Fix: write /dev/null symlinks directly (`ln -sf /dev/null /etc/systemd/system/<unit>`). Achieves what mask does without needing systemd. Also adds the path-activated unit (systemd-ask-password-plymouth.path) which actually pulls plymouth in during dracut-initqueue.
This commit is contained in:
parent
f588f15a6e
commit
e90d6ef662
1 changed files with 17 additions and 6 deletions
|
|
@ -504,12 +504,23 @@ bash $REPO/scripts/kde-theme-apply.sh
|
|||
# Mask plymouth services. Plymouth boot splash is unreliable in QEMU
|
||||
# (race between plymouth-start and systemd-ask-password-plymouth.path
|
||||
# leaves LUKS prompt invisible → boot hangs in dracut-initqueue).
|
||||
# Disabled at kernel-cmdline level (plymouth.enable=0 rd.plymouth=0)
|
||||
# but services still register; mask them to prevent any startup attempt.
|
||||
# LUKS prompt falls back to systemd-tty-ask-password-agent on tty1.
|
||||
systemctl mask plymouth-start.service plymouth-quit.service \
|
||||
plymouth-quit-wait.service plymouth-read-write.service \
|
||||
plymouth-switch-root.service 2>/dev/null || true
|
||||
# `systemctl mask` requires systemd running, which isn't true in
|
||||
# anaconda chroot %post — write the /dev/null symlinks directly instead.
|
||||
# Targets the path-activated ask-password unit too (the .path is what
|
||||
# plymouth-start gets pulled in by). systemd-tty-ask-password-agent
|
||||
# handles LUKS prompt as fallback on tty1.
|
||||
mkdir -p /etc/systemd/system
|
||||
for unit in \
|
||||
plymouth-start.service \
|
||||
plymouth-quit.service \
|
||||
plymouth-quit-wait.service \
|
||||
plymouth-read-write.service \
|
||||
plymouth-switch-root.service \
|
||||
systemd-ask-password-plymouth.path \
|
||||
systemd-ask-password-plymouth.service \
|
||||
; do
|
||||
ln -sf /dev/null /etc/systemd/system/$unit
|
||||
done
|
||||
|
||||
# Symlink display-manager.service → sddm.service. (Anaconda usually
|
||||
# handles this when sddm is the only DM, but be explicit.)
|
||||
|
|
|
|||
Loading…
Reference in a new issue