root on LVM broken since latest udev 136-2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
devmapper (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
lvm2 (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
mdadm (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
watershed (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: udev
I have Kubuntu Jaunty installation (based on clean Alpha2 install) and have both / and /home on LVM (+ /boot on /dev/sda1). System is up-to-date.
Today's udev upload has broken the system for me: kernel cannot find root device and I am dropped in BusyBox.
While exploring what could be wrong in initramfs, I have seen that /dev/udev/rules.d is not a directory, but actually a file.
When looking at the content, it matches the content of /etc/udev/
Workaround for this problem is to execute the following command in BusyBox:
/sbin/lvm vgscan
/sbin/lvm vgchange -a y
exit
This performs proper setup of LVM and the kernel can then boot properly.
P.S. Was not sure if the bug is in udev/lvm2/
Related branches
Changed in udev: | |
importance: | Undecided → High |
Changed in lvm2: | |
status: | Triaged → Fix Released |
Changed in watershed: | |
status: | New → Triaged |
Changed in mdadm: | |
status: | New → Fix Released |
Changed in devmapper: | |
status: | New → Fix Released |
Same here.
The latest udev update moved the default rules from /etc/udev/rules.d to /lib/udev/rules.d, and the initramfs-tools hook no longer creates the ${DESTDIR} /etc/udev/ rules.d directory. Hence, the dmsetup and lvm2 hooks end up overwriting ${DESTDIR} /etc/udev/ rules.d as a file rather than copying into it as a directory.
I am not sure if this is the only problem, because just adding mkdir ${DESTDIR} /etc/udev/ rules.d to the udev hook and regenerating the initrd wasn’t enough to get my system to boot.