v0.5.23: explicit rd.luks.uuid injection in chroot %post
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-<uuid>` 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.
This commit is contained in:
parent
abfba24512
commit
6197f7bf89
1 changed files with 11 additions and 0 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue