Stop the boot from waiting on a black screen for the console to answer

About 1 boot in 10 of an installed system stops on a black screen at
"Starting Switch Root" until a key is pressed. systemd 257 and later
asks the console for its size with ANSI escape sequences when PID 1
starts and waits for the reply; with Plymouth holding the VT the reply
sometimes never comes.

Measured in QEMU on repeated boots of one install: 3 hangs in 30 and 1
in 40 on the prebuilt UKI, 7 in 40 on the stock initramfs, every one of
them ended by pressing Enter; none in 40 with a serial console, none in
40 with plymouth.enable=0, and none in 80 with
systemd.tty.term.console=dumb, which makes systemd skip the query.
systemd fixed two variants of this in v261; Arch's 261.2 still shows it.

The parameter goes where the last Plymouth boot fix went (3f725531,
initramfs_async=0): into the packaged omarchy-defaults.conf for fresh
installs, and a migration rebuilds the boot image on existing systems,
once per machine, only where the booted command line lacks it. Nothing
visible changes under "quiet splash".

Refs #2931
This commit is contained in:
Emir Beganovic committed 2026-10-09 23:26:20 +02:00
1 parent 2519fd9a97
commit f03bf06742
4 files changed
+110

No files matched your search

@@ -9,6 +9,15 @@ KERNEL_CMDLINE[default]+=" quiet splash loglevel=0 systemd.show_status=false rd.
# is fixed upstream.
KERNEL_CMDLINE[default]+=" initramfs_async=0"
# systemd 257 and later asks the console for its size with ANSI escape
# sequences when PID 1 starts, and waits for the reply. With Plymouth holding
# the VT the reply sometimes never comes, and the boot sits on a black screen
# at "Starting Switch Root" until a key is pressed: about 1 boot in 10. A dumb
# $TERM for the console makes systemd skip the query. Nothing visible changes
# under "quiet splash". Drop it once a systemd release boots clean in a
# repeated boot test.
KERNEL_CMDLINE[default]+=" systemd.tty.term.console=dumb"
CUSTOM_UKI_NAME="omarchy"
ENABLE_LIMINE_FALLBACK=yes