[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] mkinitrd problem when LVM volume group names differ between Dom0 and DomU
Hi Tim, Thanks for the reply.I was unable to find the "-k" option you mentioned. I'm running mkinitrd 5.0.32. I think the main issue is a design assumption on the part of the mkinitrd script (at the time quite reasonable), that it (the script) would be running on the same system that the ramdisk will be running on. Xen (paravirtualized) violates this assumption. I have also added to this mkinitrd bugzilla entry: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=190274 - Mike At 10/19/2006 03:21 PM Thursday, Tim Post wrote: Try mkinitrd -k (keep files used in creating in /tmp/mkinitrd.xxxx), go edit as needed, and mkfs.cramfs using the initrd root left in /tmp/mkinitrd.xxxx/initrd HTH Best, -Tim On Thu, 2006-10-19 at 14:54 -0500, Mike Freemon wrote: > How can I make "mkinitrd" generate a correct ramdisk image when the LVM > volume group names differ between the Dom0 and DomU? > > The details: > > In Dom0, the root filesystem is LVM in volume group "VGShark", as follows: > > # df -h > Filesystem Size Used Avail Use% Mounted on > /dev/mapper/VGShark-LogVol00 > 450G 119G 308G 28% / > /dev/sda1 99M 45M 49M 48% /boot > tmpfs 1.9G 0 1.9G 0% /dev/shm > > In the DomU, the root filesystem is LVM in volume group "VolGroup00". > > Back in Dom0, I run the following to create the initrd... > > #mkinitrd -f initrd-2.6.16.29-xen.img 2.6.16.29-xen > > ...which produces the following (snippet) in the generated "init" file in > the ramdisk image: > > echo Making device-mapper control node > mkdmnod > mkblkdevs > echo Scanning logical volumes > lvm vgscan --ignorelockingfailure > echo Activating logical volumes > lvm vgchange -ay --ignorelockingfailure VGShark > resume /dev/VGShark/LogVol01 > echo Creating root device. > mkrootdev -t ext3 -o defaults,ro /dev/VGShark/LogVol00 > echo Mounting root filesystem. > mount /sysroot > echo Setting up other filesystems. > setuproot > echo Switching to new root and running init. > switchroot > > The DomU config file is: > > kernel = "/boot/vmlinuz-2.6.16.29-xen" > ramdisk = "/boot/initrd-2.6.16.29-xen.img" > root = "/dev/VolGroup00/LogVol00 ro" > name = "minnow" > memory = "512" > disk = [ 'file:/var/vm/minnow/disk0.img,xvda,w' ] > vif = [ 'mac=00:16:3e:00:e6:8f' ] > uuid = "7e6aa8bb-37da-3a7f-e72e-63290fcf2713" > > ..which produces the following error at domU boot time: > > Making device-mapper control node > Scanning logical volumes > Reading all physical volumes. This may take a while... > Found volume group "VolGroup00" using metadata type lvm2 > Activating logical volumes > Unable to find volume group "VGShark" > Creating root device. > Mounting root filesystem. > mount: could not find filesystem '/dev/root' > Setting up other filesystems. > Setting up new root fs > setuproot: moving /dev failed: No such file or directory > no fstab.sys, mounting internal defaults > setuproot: error mounting /proc: No such file or directory > setuproot: error mounting /sys: No such file or directory > Switching to new root and running init. > unmounting old /dev > unmounting old /proc > unmounting old /sys > switchroot: mount failed: No such file or directory > Kernel panic - not syncing: Attempted to kill init! > > So -- > > Here is the /etc/fstab (in Dom0): > > #cat fstab > /dev/VGShark/LogVol00 / ext3 defaults 1 1 > LABEL=/boot /boot ext3 defaults 1 2 > devpts /dev/pts devpts gid=5,mode=620 0 0 > tmpfs /dev/shm tmpfs defaults 0 0 > proc /proc proc defaults 0 0 > sysfs /sys sysfs defaults 0 0 > /dev/VGShark/LogVol01 swap swap defaults 0 0 >> I copy this file to create fstab.domU, and change the references to VGShark> to VolGroup00, which is: > > #cat fstab.domU > /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 > LABEL=/boot /boot ext3 defaults 1 2 > devpts /dev/pts devpts gid=5,mode=620 0 0 > tmpfs /dev/shm tmpfs defaults 0 0 > proc /proc proc defaults 0 0 > sysfs /sys sysfs defaults 0 0 > /dev/VolGroup00/LogVol01 swap swap defaults 0 0 > > This matches exactly what DomU is expecting. > > I rebuild initrd with the following command: >> # mkinitrd -f --fstab=/etc/fstab.domU initrd-2.6.16.29-xen.img 2.6.16.29-xen> > ...which produces the following (snippet) in the generated "init" file in > the ramdisk image: > > mkblkdevs > resume /dev/VolGroup00/LogVol01 > echo Creating root device. > mkrootdev -t ext3 -o defaults,ro /dev/VolGroup00/LogVol00 > echo Mounting root filesystem. > mount /sysroot > echo Setting up other filesystems. > setuproot > echo Switching to new root and running init. > switchroot > > I try again to boot the DomU with the same config file listed above and I > get this error: > > Creating root device. > Mounting root filesystem. > mount: could not find filesystem '/dev/root' > Setting up other filesystems. > Setting up new root fs > setuproot: moving /dev failed: No such file or directory > no fstab.sys, mounting internal defaults > setuproot: error mounting /proc: No such file or directory > setuproot: error mounting /sys: No such file or directory > Switching to new root and running init. > unmounting old /dev > unmounting old /proc > unmounting old /sys > switchroot: mount failed: No such file or directory > Kernel panic - not syncing: Attempted to kill init! > > Next -- > > I modify the generated "init" file in the ramdisk image to the following > (replace VGShark with VolGroup00): > > mkdmnod > mkblkdevs > echo Scanning logical volumes > lvm vgscan --ignorelockingfailure > echo Activating logical volumes > lvm vgchange -ay --ignorelockingfailure VolGroup00 > resume /dev/VolGroup00/LogVol01 > echo Creating root device. > mkrootdev -t ext3 -o defaults,ro /dev/VolGroup/LogVol00 > echo Mounting root filesystem. > mount /sysroot > echo Setting up other filesystems. > setuproot > echo Switching to new root and running init. > switchroot >> I rebuild the initrd image, and change the ramdisk line in the domU config to:> > kernel = "/boot/vmlinuz-2.6.16.29-xen" > ramdisk = "/boot/initrdDomU.img" > root = "/dev/VolGroup00/LogVol00 ro" > name = "minnow" > memory = "512" > disk = [ 'file:/var/vm/minnow/disk0.img,xvda,w' ] > vif = [ 'mac=00:16:3e:00:e6:8f' ] > uuid = "7e6aa8bb-37da-3a7f-e72e-63290fcf2713" > > ...and the DomU boots up! >> The conclusion I draw is that mkinitrd is not creating a good ramdisk image.> > How can I make mkinitrd generate a correct ramdisk image when the volume > group names differ between the Dom0 and DomU? > > TIA, > > - Mike > > > _______________________________________________ > Xen-users mailing list > Xen-users@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-users > > _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |