Today, I updated my Ubuntu box and a new kernel has been installed (3.0.0-15 x86_64).
At boot, my system hangs up just after the /scripts/init-bottom phase.
I tried with kernel 3.0.0-14, the behavior is the same. The latest working kernel was 3.0.0-13.
After digging, it’s when the init-bottom performs vgchange -a y.
The problem is that the script is waiting for the udev device, and starting from kernel 3.0.0-14, it doesn’t work and we raise the timeout.
So it means that the startup is not totally stuck, it just takes long long long time
The workaround is to disable the udev support during LVM2 vgchange.
To do that, edit the /lib/udev/rules.d/85-lvm2.rules and add the --noudevsync option to vgchange:
SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="lvm*|LVM*", \
RUN+="watershed sh -c '/sbin/lvm vgscan; /sbin/lvm vgchange --noudevsync -a y'"
We have to update the initramfs:
update-initramfs -u -k all