Re: linux-image-3.9-0.bpo.1-amd64 efistub fails to activate LVM
As a test I decided to do away with the contents in
/usr/share/initramfs-tools/scripts/local-top/lvm2 and replaced it with
a simple configuration as follows
#!/bin/sh
modprobe -q dm-mod
lvm vgchange -aly --ignorelockingfailure
exit 0
Ran update-initramfs -u and copied /vmlinuz & /initrd.img to
/boot/efi/EFI/debian/
Rebooted and it booted stright up after activating my root lvm fine.
Obviously this hack is not a solution.
So does this point towards an issue in the version of initramfs-tools
in wheezy-backports? Specifically the
/usr/share/initramfs-tools/scripts/local-top/lvm2 script. It
certainly fails to activate the root lvm.
I'll have a closer look but if anyone can see a problem with the
script I would be interested to know.
cat /usr/share/initramfs-tools/scripts/local-top/lvm2
#!/bin/sh
PREREQ="mdadm mdrun multipath"
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
activate_vg()
{
local dev="$1"
# Make sure that we have a non-empty argument
if [ -z "$dev" ]; then
return 1
fi
# Take care of lilo boot arg, risky activating of all vg
case "$dev" in
fe[0-9]*)
lvm vgchange -aly --ignorelockingfailure
exit 0
;;
# FIXME: check major
/dev/root)
lvm vgchange -aly --ignorelockingfailure
exit 0
;;
esac
# Make sure that we have a d-m path
dev="${dev#/dev/mapper/}"
if [ "$dev" = "$1" ]; then
return 1
fi
eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev")
if [ "$DM_VG_NAME" ] && [ "$DM_LV_NAME" ]; then
lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
rc=$?
if [ $rc = 5 ]; then
echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
fi
fi
}
if [ ! -e /sbin/lvm ]; then
exit 0
fi
modprobe -q dm-mod
activate_vg "$ROOT"
activate_vg "$resume"
exit 0
Reply to: