[linux-lvm] Sorry to ask here ...

Xen list at xenhideout.nl
Thu Feb 23 20:23:23 UTC 2017


Georges Giralt schreef op 23-02-2017 20:25:

> Lastly, I bet the cause is an upgrade of some packages, the machine
> refuses to boot. It drops onto initramfs shell because the vg0 volume
> group is not activated. Launching lvm and doing a vgchange -a y does
> the trick and the system boots fine afterwards.

I don't know what is the cause, but...


The /boot is on the same partition so it should be no problem right.

In the initrd the root is opened but it fails?

The quickest thing to do is to go to:

/usr/share/initramfs-tools/scripts/local-top

And edit lvm2

You must add a call to "/sbin/lvm vgchange -ay" at the bottom. If this 
works it will try to activate everything while still being in the 
initrd.

Normally only root and swap are activated. I assume the mdX array will 
be assembled just fine, but I am not sure. However I think the chance is 
high that it would work.

There is a call in there I think to activate only $ROOT and $RESUME. 
Maybe it will work if you just vgchange -ay.

If you can enter the system in a chroot and edit this file, and then 
regenerate the initramfs, it will be included in the new initramfs.

If "lvm2" is upgraded this file will be overwritten.

I assume you can override it in 
/etc/initramfs-tools/scripts/local-top/lvm2

You could need to copy lvm2 there and edit it there, for that:

mkdir -p /etc/initramfs-tools/scripts/local-top

cp /usr/share/initramfs-tools/scripts/local-top/lvm2 
/etc/initramfs-tools/scripts/local-top

But I am not 100% sure of that.



In any case that would definitely add a call to "vgchange -ay" to the 
initramfs, so that the entire volume group can be activated prior to 
passing control to systemd.

Good luck.




More information about the linux-lvm mailing list