I fixed the udev.d issue by adding:
# This directory is still used by lvm2 and other hooks
mkdir -p ${DESTDIR}/etc/udev/rules.d
to /usr/share/initramfs-tools/hooks/udev, before the "# Only copy across relevant rules" line.
AIUI, the /usr/share/initramfs-tools/scripts/init-premount/lvm2 file isn't very important anymore as /etc/udev/rules.d/85-lvm2.rules should trigger a "/sbin/lvm vgscan; /sbin/lvm vgchange -a y" whenever a device with a LVM signature appears. It seems this isn't run properly, or at a bad time as if I run these manually the devices appear under /dev/mapper, including the root device.
I'm using root on lvm on md.
I fixed the udev.d issue by adding: /etc/udev/ rules.d
# This directory is still used by lvm2 and other hooks
mkdir -p ${DESTDIR}
to /usr/share/ initramfs- tools/hooks/ udev, before the "# Only copy across relevant rules" line.
AIUI, the /usr/share/ initramfs- tools/scripts/ init-premount/ lvm2 file isn't very important anymore as /etc/udev/ rules.d/ 85-lvm2. rules should trigger a "/sbin/lvm vgscan; /sbin/lvm vgchange -a y" whenever a device with a LVM signature appears. It seems this isn't run properly, or at a bad time as if I run these manually the devices appear under /dev/mapper, including the root device.