From 6197f7bf8993549ec512755a141906b26c966729 Mon Sep 17 00:00:00 2001 From: veilor-org Date: Mon, 4 May 2026 00:36:13 +0100 Subject: [PATCH] v0.5.23: explicit rd.luks.uuid injection in chroot %post MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.5.22 plymouth details theme works (text scroll boot visible). But LUKS prompt still never fires — dracut spins on dev-disk-by-uuid for 2+ min then drops to emergency shell. Hypothesis: anaconda --cmdline mode skips/breaks the bootloader auto- add of rd.luks.uuid arg. Without it, cryptsetup-generator in initramfs has no UUID to create unlock unit for → no prompt → no unlock → dracut times out. Fix: chroot %post detects LUKS partition via blkid TYPE=crypto_LUKS, injects `rd.luks.uuid=luks-` into GRUB_CMDLINE_LINUX if not already present. Belt-and-braces — if anaconda DID add it, sed checks first. Followed by grub2-mkconfig regen (already in script) so installed grub.cfg picks up the new cmdline arg. --- overlay/usr/local/bin/veilor-installer | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/overlay/usr/local/bin/veilor-installer b/overlay/usr/local/bin/veilor-installer index 0285aa5..b957312 100644 --- a/overlay/usr/local/bin/veilor-installer +++ b/overlay/usr/local/bin/veilor-installer @@ -555,6 +555,17 @@ sed -i \ -e 's|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=""|' \ /etc/default/grub 2>/dev/null || true +# Ensure rd.luks.uuid + rd.luks.name in cmdline. Anaconda --cmdline mode +# sometimes skips the LUKS auto-args; without these, dracut's +# cryptsetup-generator never creates the unlock unit + dracut-initqueue +# loops on dev-disk-by-uuid forever. Detect LUKS partition + inject +# explicitly if missing. +LUKS_UUID=$(blkid -t TYPE=crypto_LUKS -o value -s UUID 2>/dev/null | head -1) +if [ -n "$LUKS_UUID" ] && ! grep -q "rd.luks.uuid" /etc/default/grub 2>/dev/null; then + sed -i "s|^GRUB_CMDLINE_LINUX=\"|GRUB_CMDLINE_LINUX=\"rd.luks.uuid=luks-${LUKS_UUID} |" /etc/default/grub + echo "[INFO] injected rd.luks.uuid=luks-${LUKS_UUID} into GRUB cmdline" +fi + # 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.