LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   initramfs cannot find lvm root partition (https://www.linuxquestions.org/questions/linux-general-1/initramfs-cannot-find-lvm-root-partition-699478/)

mgrant 01-23-2009 05:39 PM

initramfs cannot find lvm root partition
 
I am trying to move my root and swap to a raid mirror with lvm in the raid partition.

When I boot, this is what I see:

Code:

  Volume group "root" not found
Done.
Begin: Waiting for root file system... ...

then after a long wait...

Code:

Done.
        Check root= bootarg cat /proc/cmdline
        or missing modules, devices: cat /proc/modules ls /dev
ALERT! /dev/array0/root0 does not exist. Dropping to a shell!

After some poking around, I see /dev/md0 and /dev/md1 are there in the initramfs shell, what's not happening is the lvm does not seem to be kicking in, hence, it's not able to find my /dev/array0/root0 lvm.

Fortunately I can still boot single user mode.

I looked in initrd.img-2.6.18-6-686 with zcat|cpio -t and I see lib/libdevmapper.so.1.02. What it seems to me is that the lvm init script or whatever sets up the /dev/vgname/lvname stuff in /dev isn't getting run, or maybe lvm isn't in there at all really.

Some poking around turned up this page: http://www.tldp.org/HOWTO/LVM-HOWTO/lvm2_boot.html which talks about adding:

Code:

dmsetup mknodes
vgscan --ignorelockingfailure
vgchange -ay --ignorelockingfailure

this to a linuxrc, but I'm not sure where to add that. Furthermore, I don't see any of those commands: dmsetup, cgscan, or vgchange in the initrd.img-2.6.18-6-686.

I have run update-initramfs several times and copied the resulting new files to /dev/md0, but for some reason, update-initramfs does not seem to be creating the correct script to initialize the lvm stuff.

Probably there is a simple fix for this or a step in installing the raid/lvm stuff that I've missed?

I'm doing this on Debian Etch. The system was booting fine from an lvm disk partition before. Incidentally, the volume group of the old non-raid lvm was 'root' which is interesting because that's in the first line way above where it says 'Volume group "root" not found'. I don't know where it's getting that old volume group name from, it definitely has been changed in menu.lst.

Michael Grant

jpritikin 01-23-2009 07:12 PM

did you run update-initrd inside a chroot?
 
As far as I know, update-initrd reads from /etc/fstab to figure out where to get root. To permit update-initrd to guess the right place, you need to mount your new root and boot somewhere (e.g. /mnt and /mnt/boot); then chroot /mnt; and then update-initrd. That might solve it.


All times are GMT -5. The time now is 01:44 AM.