From 923a3f18c6a7a360bf15642f740568095eb67765 Mon Sep 17 00:00:00 2001 From: veilor-org Date: Mon, 4 May 2026 02:26:00 +0100 Subject: [PATCH] =?UTF-8?q?v0.5.24:=20live=20ISO=20=E2=80=94=20text-mode?= =?UTF-8?q?=20boot=20+=20GRUB=20veilor=20branding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User wants full chained pipeline: GRUB veilor-os → plymouth text → branded gum installer → install progress → reboot → installed system text-clean. Live ISO was missing pieces from the install ks polish. v0.5.24 brings live ks into parity: - bootloader --append: add plymouth.enable=0 (kills fedora splash, exposes tty1 with gum installer banner immediately) - chroot %post: GRUB_DISTRIBUTOR="veilor-os" (menu title) - chroot %post: GRUB_CMDLINE_LINUX_DEFAULT="" (drop rhgb quiet) - chroot %post: plymouth-set-default-theme details (text scroll fallback if plymouth.enable=0 ignored) - grub2-mkconfig regen with new branding Result on next ISO build: - Boot from ISO → GRUB shows "veilor-os" entry - Pick veilor-os → text scroll (no fedora splash) - TTY1 lands on gum installer banner + menu (no plymouth swallow) - Install completes → reboot → installed system already has the same text-mode boot + LUKS prompt config from v0.5.22-23 --- kickstart/veilor-os.ks | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kickstart/veilor-os.ks b/kickstart/veilor-os.ks index 581b4ab..ad4ee91 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" +bootloader --location=mbr --append="lockdown=integrity slab_nomerge randomize_kstack_offset=on vsyscall=none plymouth.enable=0" # ── Live ISO partitioning (flat — for live rootfs build only) ── # NOTE: This is the *live* image kickstart. Final installed system uses @@ -249,6 +249,16 @@ ln -sf /usr/lib/systemd/system/sddm.service /etc/systemd/system/display-manager. # Real installs land on graphical.target by default (set by anaconda). systemctl set-default multi-user.target +# Branding: GRUB menu title + plymouth `details` text theme (no graphical +# splash). Pure text-scroll boot exposes the gum installer immediately on +# tty1 instead of plymouth swallowing it. +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 +plymouth-set-default-theme details 2>/dev/null || true +[ -f /boot/grub2/grub.cfg ] && grub2-mkconfig -o /boot/grub2/grub.cfg 2>/dev/null || true + # zram swap (no disk swap; keys never leak to platter) dnf install -y zram-generator || true cat > /etc/systemd/zram-generator.conf << 'EOF'