rsteinmetz70112
July 8th, 2010, 06:46 AM
After an upgrade from 8.04 -> 10.04 my system is unable to boot. After a lot of work it seems that the blocking problem is that /dev/md0 is not being created in initramfs so the volume group containing the / file system is not being activated and therefore the boot fails at that point.
In /sbin both mdadm and lmv exist and the arrays and volume groups can be created manually using them. The system can then complete booting. Updating initramfs after booting has no apparent effect.
Based on posts I have found I have tried adding raid=noautodetect and rootdelay=240 to the GRUB kernel command line separately and together with no effect, except delaying the boot.
It seems that udev is not running correctly so I began digging through the udev rules but don't really understand how it actually works.
In /lib/udev/rules I found;
85_mdadm.rules
85_lmv2.rules
If I were guessing (and I am) I would expect 85_lvm2 to be run before 85_mdadm, which is the wrong order. I also found 56_lvm.rules which doesn't seem to do anything.
I would appreciate pointers of testing these rules to see what the problem is. It seems all of the pieces are there for this to wok correctly but there is something missing.
How can I run or test a single rule? Which udevadm options test these rules, so far I don't see udevadm test offering any help.
In /sbin both mdadm and lmv exist and the arrays and volume groups can be created manually using them. The system can then complete booting. Updating initramfs after booting has no apparent effect.
Based on posts I have found I have tried adding raid=noautodetect and rootdelay=240 to the GRUB kernel command line separately and together with no effect, except delaying the boot.
It seems that udev is not running correctly so I began digging through the udev rules but don't really understand how it actually works.
In /lib/udev/rules I found;
85_mdadm.rules
85_lmv2.rules
If I were guessing (and I am) I would expect 85_lvm2 to be run before 85_mdadm, which is the wrong order. I also found 56_lvm.rules which doesn't seem to do anything.
I would appreciate pointers of testing these rules to see what the problem is. It seems all of the pieces are there for this to wok correctly but there is something missing.
How can I run or test a single rule? Which udevadm options test these rules, so far I don't see udevadm test offering any help.