Bug 154767
Summary: | Install failed /bin/lvm exited abnormally | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Neal Becker <ndbecker2> | ||||||||
Component: | mkinitrd | Assignee: | Peter Jones <pjones> | ||||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | David Lawrence <dkl> | ||||||||
Severity: | high | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | 4 | CC: | hdegoede | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | x86_64 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | FC4 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2006-02-27 21:10:59 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 136451 | ||||||||||
Attachments: |
|
Description
Neal Becker
2005-04-14 01:20:29 UTC
Can you provide /root/upgrade.log and /var/log/anaconda*? Created attachment 113202 [details]
logs
Did "root=/dev/mapper/spare_vg-lvol0" work before the upgrade? It looks as if you should be using "root=/dev/spare_vg/lvol0". Dunno, but I can boot using FC4Test2 rescue, and it shows that /dev/mapper/spare_vg-lvol0 is mounted fine. From rescue mode, can you get the output of /sbin/mkinitrd -v -f /tmp/foo.img kernelver? It looks like it's getting confused about what volumes it should be activating. Also, what does /etc/fstab look like? Created attachment 113747 [details]
fstab
Created attachment 113748 [details]
mkinitfd output
This looks like it has to do with how mkinitrd resolves the volume name. We always specify the LV as /dev/vg/lv instead of the /dev/mapper/vg-lv name so that we can determine vg and lv easily. I have this exact same problem, the problem is indeed how the volume name is resolved by mkinitrd, the line which does this in mkinitrd is: root_vg=$(echo $rootdev | cut -d/ -f3) Which will give "mapper" when rootdev is /dev/mapper/xxx. Note that a rootdev of /dev/mapper/xx used to be supported as seen a couple of lines below: if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then root_lvm=1 ; fi So I changed this line to: if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then root_vg=$(echo $rootdev | cut -d/ -f4) root_lvm=1 fi This however still doesn't work since since my root is on /dev/mapper/Volume00-Root and this resolves root_vg to Volume00-Root . Where it should be Volume00. We could do a cut -d - -f 1 on this, but do the devices in /dev/mapper always have the form of Volume-ID? I did create my grub.conf manually as I moved FC 2 from an old disk with plain ext3 to a new disk with lvm2 -> ext3. So hopefully this won't bite to many people but there are now at least 2 people who were bitten by this and have gone trough to trouble to bugzilla this. Peter fixed this; should be in 4.2.13 or later I can verify that this has been fixed (for me) in mkinitrd-4.2.15 . I think this can be closed now. Is this fixed for RHEL4 and if so, which version ? > Is this fixed for RHEL4 and if so, which version ?
Doesn't seem to have been. Try this patch:
--- mkinitrd-4.2.1.6/mkinitrd 2005-08-29 16:32:12.000000000 -0400
+++ mezzanine_patched_mkinitrd-4.2.1.6/mkinitrd 2006-01-18 15:11:42.000000000 -0500
@@ -487,7 +487,11 @@
basicmodules="$basicmodules -${loopFs}"
# check if the root fs is on a logical volume
elif ! echo $rootdev | cut -c1-6 |grep -q "LABEL=" ; then
- root_vg=$(echo $rootdev | cut -d/ -f3)
+ if echo $rootdev | grep -q /dev/mapper 2>/dev/null; then
+ root_vg=$(echo $rootdev | cut -d/ -f4 | cut -d- -f1)
+ else
+ root_vg=$(echo $rootdev | cut -d/ -f3)
+ fi
rootdev=$(echo "readlink $rootdev" | /sbin/nash --quiet)
major=`ls -l $rootdev | sed -e "s/.* \\([0-9]\+\\), *[0-9]\+.*/\\1/"`
[ "$major" != "58" ] || root_lvm=1
|