diff --git a/docs/install.md b/docs/install.md index dbca8eb..4074f25 100644 --- a/docs/install.md +++ b/docs/install.md @@ -65,7 +65,10 @@ with `--check`. 8. **System services** are enabled: NetworkManager, resolved, bluetooth, cups, avahi, docker, power-profiles-daemon, and oomd. `NetworkManager-wait-online.service` is masked so a slow DHCP lease cannot - hold up the login screen. + hold up the login screen, and `plymouth-start.service` and + `plymouth-quit-wait.service` are masked because Blob configures no boot + splash: an unconfigured plymouth holds the console and leaves the machine + with neither a greeter nor a TTY. See [packages.md](packages.md). 9. **The login screen** is SDDM. It has to be installed first: if `sddm.service` is not there, the installer says whether the package is missing or whether systemd has simply not re-read its units yet, and carries diff --git a/docs/packages.md b/docs/packages.md index 0ff20f5..1a5bc02 100644 --- a/docs/packages.md +++ b/docs/packages.md @@ -69,7 +69,7 @@ Two are worth knowing about: `install.sh` installs what is missing before it writes any config: ``` -packages/blob.packages 119 packages from core, extra, multilib +packages/blob.packages 121 packages from core, extra, multilib packages/blob-aur.packages 10 packages with no official equivalent ``` @@ -132,6 +132,23 @@ Omarchy's own package list, because they were installed by hand on this machine: `playerctl` is in official `extra`, so it sits in the repo list. +## No boot splash + +`plymouth` is deliberately not on either list. Blob configures no splash: there +is no mkinitcpio hook, no kernel command line, and `default/plymouth/` ships no +theme assets, so `blob-plymouth-set` has nothing to publish either. An installed +but unconfigured plymouth is not harmless - it takes the console at boot and +never hands it back, and `getty@tty1` waits on `plymouth-quit-wait.service`, so +the machine reaches neither the greeter nor a TTY. + +`install.sh` masks `plymouth-start.service` and `plymouth-quit-wait.service` for +that reason, which un-breaks a machine that already has the package. To go +further: + +``` +sudo pacman -Rns plymouth +``` + ## Updating ``` diff --git a/install/steps/services.sh b/install/steps/services.sh index 8059209..77c2b6f 100644 --- a/install/steps/services.sh +++ b/install/steps/services.sh @@ -11,8 +11,15 @@ system_services=( # network-online.target must not hold up graphical.target waiting for DHCP or # Wi-Fi association. Nothing in the session blocks on the network. +# +# Blob configures no boot splash: no mkinitcpio hook, no kernel command line, +# and no theme. An unconfigured plymouth still takes the console at boot and +# never hands it back, and getty@tty1 waits on plymouth-quit-wait.service, so +# the machine comes up with no greeter and no TTY to fix it from. masked_services=( NetworkManager-wait-online.service + plymouth-start.service + plymouth-quit-wait.service ) # blob-speaker-tuning.service is deliberately absent: blob-audio-tuning installs diff --git a/packages/blob.packages b/packages/blob.packages index 115d865..27dcc4d 100644 --- a/packages/blob.packages +++ b/packages/blob.packages @@ -21,7 +21,6 @@ wl-clipboard wtype socat inotify-tools -plymouth polkit # Shell widget backends