lilo + lvm2 don't work following upgrade to breezy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lilo (Debian) |
Invalid
|
Undecided
|
Unassigned | ||
lilo-installer (Ubuntu) |
Invalid
|
High
|
Unassigned |
Bug Description
I cannot upgrade the kernel because of this problem when I try to run lilo:
root@hal:/dev # lilo
Warning: '/proc/partitions' does not match '/dev' directory structure.
Name change: '/dev/dm-0' -> '/dev/dm'
device-mapper ioctl cmd 12 failed: No such device or address
Fatal: device-mapper: dm_task_
The system was installed from a Hoary CD, with all the partitions under LVM2
(yes, including / and /boot). It worked fine. / and /boot are ext3 partitions.
The problem above appeared after I upgraded to breezy, therefore it is a regression.
I am not the only one having this problem:
http://
http://
I have put this bug under lilo, but it could be a number of things:
libdevmapper, udev (it is not setting up /dev/dm-* properly, see the warning
message above), etc, and lilo just being a victim.
Here's the relevant lilo.conf bits:
boot=/dev/sda
root=/dev/
And the relevant extract of vgdisplay -v:
root@hal:/dev # vgdisplay -v
Finding all volume groups
Finding volume group "vg1"
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 12
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 8
Open LV 8
Max PV 0
Cur PV 1
Act PV 1
VG Size 74.69 GB
PE Size 4.00 MB
Total PE 19120
Alloc PE / Size 4771 / 18.64 GB
Free PE / Size 14349 / 56.05 GB
VG UUID GDWzzK-
--- Logical volume ---
LV Name /dev/vg1/boot
VG Name vg1
LV UUID zl9pM3-
LV Write Access read/write
LV Status available
# open 1
LV Size 52.00 MB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:0
--- Logical volume ---
LV Name /dev/vg1/root
VG Name vg1
LV UUID rNnNiW-
LV Write Access read/write
LV Status available
# open 1
LV Size 300.00 MB
Current LE 75
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 254:1
Changed in lilo-installer: | |
assignee: | kamion → nobody |
Changed in lilo-installer: | |
assignee: | nobody → kamion |
Changed in lilo-installer (Ubuntu): | |
assignee: | Colin Watson (cjwatson) → nobody |
You did hit a set of bugs here:
lilo cannot understand correctly LVM2 metadata.
The hoary case at first install the kernel was probably (for sure i would say)
in a set of contiguos blocks that gave lilo
the possibility to read it.
lilo-installer did allow wrongly to install lilo with /boot on LVM2 device. lilo
has still several limitations reading from LVM1 and 2.
There are no known partition layouts changes between hoary and breezy kernels
(otherwise i won't be able to write right now ;)).
I assume that new version of lilo in breezy has a more strict controls of what
can do or not, and the command it issues to gather
some information from the device mapper, will consequently fail given that it
might issue the wrong request.
Colin, given that we have no control over lilo upstream, i suggest we fix
lilo-installer to handle this case properly and refuse
to install.
Fabio