From abfba245128b76e97600b37b726bedc9add91588 Mon Sep 17 00:00:00 2001 From: veilor-org Date: Sun, 3 May 2026 23:10:23 +0100 Subject: [PATCH] =?UTF-8?q?v0.5.22:=20plymouth=20`details`=20theme=20?= =?UTF-8?q?=E2=80=94=20scrolling=20text=20boot,=20LUKS=20visible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.5.21 set plymouth.enable=0 — plymouth-start.service still ran + ate LUKS keystrokes. Boot fell to dracut emergency shell. Better path: plymouth IS running but in TEXT mode via built-in `details` theme (scrolling boot log, no graphics, no fedora logo). LUKS prompt renders as text "Please enter passphrase for...:". Plymouth still owns the prompt → keystrokes go through. Changes: - Drop plymouth.enable=0 from cmdline (let plymouth run) - chroot %post: plymouth-set-default-theme details - Drop rhgb quiet from GRUB_CMDLINE_LINUX_DEFAULT (all kernel msgs visible) - dracut --force --regenerate-all (new theme baked into initramfs) Result: text scroll boot → text LUKS prompt → text scroll → SDDM. Onyx aesthetic. Branded plymouth theme deferred to v0.6. --- kickstart/veilor-os.ks | 2 +- overlay/usr/local/bin/veilor-installer | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/kickstart/veilor-os.ks b/kickstart/veilor-os.ks index 18f8749..581b4ab 100644 --- a/kickstart/veilor-os.ks +++ b/kickstart/veilor-os.ks @@ -51,7 +51,7 @@ user --name=admin --groups=wheel --gecos="veilor admin" --password="" --plaintex # Note: init_on_alloc/init_on_free removed from default live cmdline — # they zero every memory page at boot which 5x'd KVM live boot time. # Re-enable per-install via veilor-firstboot.service for production. -bootloader --location=mbr --append="lockdown=integrity slab_nomerge randomize_kstack_offset=on vsyscall=none plymouth.enable=0" +bootloader --location=mbr --append="lockdown=integrity slab_nomerge randomize_kstack_offset=on vsyscall=none" # ── Live ISO partitioning (flat — for live rootfs build only) ── # NOTE: This is the *live* image kickstart. Final installed system uses diff --git a/overlay/usr/local/bin/veilor-installer b/overlay/usr/local/bin/veilor-installer index 743948f..0285aa5 100644 --- a/overlay/usr/local/bin/veilor-installer +++ b/overlay/usr/local/bin/veilor-installer @@ -377,7 +377,7 @@ __SSHKEY_DIRECTIVE__ # Full hardening cmdline (installed system, not live): # --location=none: anaconda auto-places bootloader (UEFI grub2-efi or BIOS). -bootloader --append="lockdown=integrity slab_nomerge init_on_alloc=1 init_on_free=1 randomize_kstack_offset=on vsyscall=none plymouth.enable=0" +bootloader --append="lockdown=integrity slab_nomerge init_on_alloc=1 init_on_free=1 randomize_kstack_offset=on vsyscall=none" # Disk: zero, LUKS2 (argon2id), btrfs subvolumes (no LVM intermediary). # Native btrfs-on-LUKS matches Fedora KDE Spin defaults; LVM+btrfs combo @@ -547,11 +547,22 @@ bash $REPO/scripts/kde-theme-apply.sh # QEMU sendkey AND on real hardware. # GRUB branding: replace fedora distributor with veilor-os in menu titles. -# Theme + splash kept default (plymouth handles boot UI). v0.6 will swap -# fedora-logos with veilor-logos for full visual rebrand. +# Drop rhgb quiet from default cmdline → all kernel/systemd messages +# visible. Plymouth `details` theme shows scrolling text (no splash, no +# logo). LUKS prompt rendered as text. Onyx-style boot. sed -i \ -e 's|^GRUB_DISTRIBUTOR=.*|GRUB_DISTRIBUTOR="veilor-os"|' \ + -e 's|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=""|' \ /etc/default/grub 2>/dev/null || true + +# Switch plymouth to text-only `details` theme (scrolling boot log, no +# graphics, no logo). Theme is built-in to plymouth package, no asset +# install needed. v0.6 will ship custom veilor-themed plymouth. +plymouth-set-default-theme details 2>/dev/null || true +# Regenerate initramfs with new theme baked in (plymouth modules read +# theme at initramfs build time). +dracut --force --regenerate-all 2>&1 | tail -3 || true + # Regen grub.cfg with new branding (anaconda already wrote one; replace). grub2-mkconfig -o /boot/grub2/grub.cfg 2>/dev/null || true [ -f /boot/efi/EFI/fedora/grub.cfg ] && \