Hi,

I had this problem too and I figured out that no udev LVM and DM rules
exist in the initramfs.
When vgchange (or lvchange) -ay is called, it makes the logical volume
known in the kernel then waits for udev to handle the events : create
symlinks, apply rights,... based on rules.
But if these rules doesn't exist, udev doesn't process these events and
vgchange gets stuck.

Both dracut modules LVM and DM (in /usr/lib/dracut/modules.d/) expect to
copy 10-dm.rules and 11-dm-lvm.rules (and a few others not necessary) from
/lib/udev/rules.d to the initramfs. These rules are shipped by dmsetup and
lvm2 packages as 55-dm.rules and 56-lvm.rules respectively, thus they are
not copied by dracut into the initramfs.

I guess this is a bug in the LVM and DM packaging which should ship the
same rules as upstream. Or the dracut modules might be adapted as a
workaround.
For me I just renamed the two rules to the upstream ones, regenerate the
initramfs and it works.

Regards.
Benoît Wallecan

Reply via email to