From f6105981960a498ab70ec5c16aec3b40af059be0 Mon Sep 17 00:00:00 2001 From: veilor-org Date: Sun, 3 May 2026 18:39:13 +0100 Subject: [PATCH] v0.5.19: dracut --regenerate-all (fix chroot glob expansion bug) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.5.18 added crypt + systemd-cryptsetup to dracut.conf.d/99-veilor- no-plymouth.conf. Boot test still failed: dracut-initqueue stuck waiting on dev-disk-by-uuid → systemd-cryptsetup never fired. Diagnosis: %post chroot used bash glob `for kver in /lib/modules/*/`. In chroot, shell may be dash + nullglob unset → unmatched glob expands literally to "/lib/modules/*/" → dracut --kver "/lib/modules/*/" fails silently with `|| true`. Initramfs never regenerated → still contains the v0.5.14 omit_dracutmodules-only config without crypt. Fix: dracut --force --regenerate-all (walks /lib/modules internally, no shell glob needed). One call regens all kernel initramfses with the new dracut.conf.d in scope. --- overlay/usr/local/bin/veilor-installer | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/overlay/usr/local/bin/veilor-installer b/overlay/usr/local/bin/veilor-installer index 69c84a8..5da0da9 100644 --- a/overlay/usr/local/bin/veilor-installer +++ b/overlay/usr/local/bin/veilor-installer @@ -562,11 +562,11 @@ omit_dracutmodules+=" plymouth " add_dracutmodules+=" crypt systemd-cryptsetup " install_items+=" /usr/bin/systemd-tty-ask-password-agent " EOF -# Regenerate initramfs for the installed kernel(s). -for kver in /lib/modules/*/; do - kver=$(basename "$kver") - dracut --force --kver "$kver" 2>/dev/null || true -done +# Regenerate initramfs for ALL installed kernels with our dracut config. +# `--regenerate-all` walks /lib/modules itself; safer than bash glob in +# chroot where shell may be dash + nullglob unset → glob expands literally +# → dracut --kver "/lib/modules/*/" fails silently. +dracut --force --regenerate-all 2>&1 | tail -5 || true # Layer 2: real-root masks mkdir -p /etc/systemd/system