Gutsy kernel 2.6.22 fails to mount /boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
evms (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I'm running Gutsy kernel 2.6.22-5-generic. udev version 111-0ubuntu3.
My primary disk has a combination of normal partitions, and an LVM partition.
The root filesystem is inside LVM, so is /home (encrypted actually), and they are fine.
But since installing kernel 2.6.22-5-generic, I cannot mount /boot which is a normal partition /dev/sda4 outside LVM. Also, I cannot mount the NTFS filesystem on /dev/sda1.
/boot is not mounted at boot time, and can't be mounted manually later either.
Among other things, this means that kernel updates won't work.
This appears to be due to a changed in the device-mapper code in 2.6.22: device-mapper now claims all the normal disk partitions as dm-* devices _in addition_ to the entries inside the LVM partition.
As a result, two _different_ sda4 devices are created on my system: /dev/sda4, and /dev/mapper/sda4 (which is a symlink to /dev/dm-5).
It is now possible to mount /dev/mapper/sda4, but not /dev/sda4. Therefore I can workaround it by changing /etc/fstab to point to /dev/mapper/sda4. (But I don't think that will work when I boot an older kernel).
Currently /etc/fstab has a UUID= line for /boot, so it's mounted by UUID.
This is where udev may be relevent. udev is creating a link called
/dev/
but that link _does not work_ now. If it is changed to point to ../../mapper/sda4, it works.
In fact udev is being asked to create two different devices with the same uuid, and happens to result in a link to the one which doesn't work.
Probably the non-working device (the non-dm one) shouldn't be created at all, or the "real" partitions which are being claimed by device-mapper should have links like /dev/sda4 -> /dev/dm-5 created by udev.
This might be fixable with udev rules. It might be necessary for dmsetup to export a flag to indicate which normal partition a dm-* device corresponds to, if it does, so that a corresponding classic-looking device name is created. Sorry if this isn't a udev bug at all; in that case, I'm not sure which package to report it against.
I think this is a medium or high priority bug because it results in /boot not being mounted, and would cause kernel updates to go wrong silently. I only noticed because I had reason to look. But it's not a problem for me currently, now that I have a workaround which is to edit /etc/fstab to refer to /dev/mapper/sda4, instead of UUID=.
Changed in evms: | |
status: | Confirmed → Fix Released |
Uninstall evms