You are not logged in.
I'm using dracut to boot UKI from UEFI, my partition scheme is a LVM on LUKS and has been working fine the last 2 months. My Dracut flags are these:
hostonly="yes"
hostonly_cmdline="no"
use_fstab="yes"
compress="zstd"
show_modules="yes"
early_microcode="yes"
add_dracutmodules+=" lvm busybox dash "
uefi="yes"
uefi_splash_image="/usr/..."
CMDLINE=(
rd.md=0
rd.dm=0
rd.lvm=1
rd.luks=1
rd.luks.uuid=xxxxxxx
rd.luks.allow-discards=xxxxxxxx
rd.lvm.lv=MyVol/root
root=/dev/MyVol/root
rootfstype=ext4
roootflags=rw,relatime,data=ordered
rd.locale.lang=en_EN.utf8
)
kernel_cmdline="${CMDLINE[@]}"
unset CMDLINEKernel updates have been fine until now. Yesterday I updated the kernel and today the system won't boot. Dracut shows this error message:
dracut-pre-udev : modprobe: "/kernel/drivers/md/dm-mod.ko.zst": invalid module format
dracut-initqueue: Configuration node devices/filter not found
dracut-initqueue: Configuration node devices/global_filter not foundthen asks for the encrypted volume password. After entering the password systemd fails to load the device, I suppose because of the missing module:
[FAILED] Failed to start Cryptography Setup for luks-xxxxxxx
dracut-initqueue: Job for systemd-cryptsetup@luks-xxxxx failed because the control process exited with error code
dracut-initqueue: See "systemd-cryptsetup@luks-xxxxx.service" and "journalctl -xeu "systemd-cryptsetup@luks-xxxxxxxx.service"" for details.Tried to boot with live iso and regenerate the UKI, but the same happened. Also tried to install, generate the UKI and boot with the LTS kernel, but didn't work either. Installation of the kernel went well, integrity of the package passed, so I guess the kernel module file is not corrupted. The dracut log when generating the image didn't show any error and the 'crypt' module is shown at the generation output. Another thing I tried is to generate uncompressed image, but the same error happened. I realised that the .ko files are stored zst compressed regardless of the compression of the image.
I'm out of ideas of what is happening. Anyone knows how to deal with this? Any ideas of what is happening?
EDIT: my dracut-install script invoked by pacman hook.
#!/usr/bin/env bash
args=('--force')
while read -r line; do
if [[ "$line" == 'usr/lib/modules/'+([^/])'/pkgbase' ]]; then
read -r pkgbase < "/${line}"
kver="${line#'usr/lib/modules/'}"
kver="${kver%'/pkgbase'}"
install -Dm0644 "/${line%'/pkgbase'}/vmlinuz" "/boot/vmlinuz-${pkgbase}"
dracut "${args[@]}" --hostonly "/boot/initramfs-${pkgbase}.img" --kver "$kver"
#dracut "${args[@]}" --no-hostonly "/boot/initramfs-${pkgbase}-fallback.img" --kver "$kver"
fi
doneLast edited by zjaume (2023-05-16 17:04:51)
Offline
It seems that busibox is messing up the file somehow. Using only bash and removing busibox and dash worked.
Offline