Hi, I have searched for a solution to this problem extensively online and could not find a correct solution. I''m trying to boot a Ubuntu natty guest domain on Xen-4.3-unstable and it drops into initramfs shell saying it cannot find the root device. /Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.// //Gave up waiting for root device. Common problems:// // - Boot args (cat /proc/cmdline)// // - Check rootdelay= (did the system wait long enough?)// // - Check root= (did the system wait for the right device?)// // - Missing modules (cat /proc/modules; ls /dev)// //ALERT! /dev/sda1 does not exist. Dropping to a shell!// // /I tried to use "modprobe xen-blkfront" but that did not help. I also looked under /dev but did not find the corresponding xvda1. I don''t see a xen-blkfront module loaded below which is also suspicious. > cat /proc/modules | grep xen_ xen_pciback 43562 0 - Live 0x0000000000000000 xen_netback 27364 0 [permanent], Live 0x0000000000000000 xen_blkback 23075 0 [permanent], Live 0x0000000000000000 xen_gntalloc 13143 0 - Live 0x0000000000000000 xen_gntdev 17350 1 - Live 0x0000000000000000 xen_evtchn 13172 1 - Live 0x0000000000000000 My configuration looks like this - kernel = "/boot/vmlinuz" ramdisk = "/boot/initrd.img" memory = 192 name = "guest3" vif = [ '' '' ] disk = [''tap:aio:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', ''tap:aio:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] root = "/dev/xvda1 ro" #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,sda1,w'', ''phy:/local/sda4/guest-space/UbuntuXen.swap,sda2,w''] #root = "/dev/sda1 ro" #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', ''phy:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] #root = "/dev/xvda1 ro" extra = ''xencons=tty'' As you can see, I have tried both /dev/sda and /dev/xvda but none of them helped. Please help me debug this issue. Thanks, Yathi _______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users
On Fri, 2013-01-18 at 06:03 +0000, Yathindra wrote:> I tried to use "modprobe xen-blkfront" but that did not help. I also > looked under /dev but did not find the > corresponding xvda1. I don''t see a xen-blkfront module loaded below > which is also suspicious. > > > cat /proc/modules | grep xen_ > xen_pciback 43562 0 - Live 0x0000000000000000 > xen_netback 27364 0 [permanent], Live 0x0000000000000000 > xen_blkback 23075 0 [permanent], Live 0x0000000000000000 > xen_gntalloc 13143 0 - Live 0x0000000000000000 > xen_gntdev 17350 1 - Live 0x0000000000000000 > xen_evtchn 13172 1 - Live 0x0000000000000000Is this from within the guest? Looks like a set of dom0 modules and not something I''d expect to be present in the initramfs. If you unpack your initrd you should be able to see which modules it includes and see if xen-blkfront is there or not. Given that you seem to be using your dom0 initrd it is possible that it won''t be. If it isn''t there then try adding it to the relevant file under /etc/initramfs-tools (see initramfs.conf(5)) and rebuilding your initrd?> As you can see, I have tried both /dev/sda and /dev/xvda but none of > them helped.You should use xvda everywhere. Ian.
Hi, On 18/01/13 06:03, Yathindra wrote:> My configuration looks like this - > > kernel = "/boot/vmlinuz" > ramdisk = "/boot/initrd.img"I think this may be the problem... The conf file is parsed on the host so these files refer to files of that name on the host. It takes a bit of getting your head round but the conf file is read in "host world", the guest sees raw devices and never knows the file or device name in the conf file. You appear to be booting the guest with the host''s vmlinuz and initrd.> memory = 192 > name = "guest3" > vif = [ '' '' ] > disk = [''tap:aio:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', > ''tap:aio:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] > root = "/dev/xvda1 ro"Likewise... This file is on the host and (as the host isn''t running in a VM) it has real discs not Xen ones.> #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,sda1,w'', > ''phy:/local/sda4/guest-space/UbuntuXen.swap,sda2,w''] > #root = "/dev/sda1 ro" > #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', > ''phy:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] > #root = "/dev/xvda1 ro" > extra = ''xencons=tty'' > > As you can see, I have tried both /dev/sda and /dev/xvda but none of > them helped. >I think putting /dev/sda1 in that file could cause major breakage to the machine as you would most likely be double mounting the host''s boot drive on the guest and, as most filesystems aren''t designed with being mounted read/write on multiple machines at once in mind, you could corrupt sda1 on the host. On my install, we created an LVM and partitioned it into slices. The first is the host''s drive and the others are drive containers for the guests. The conf file for my Linux guest contains:> name = "LinuxGuest1" > memory = 256 > disk = [''phy:/dev/VolGroup00/LogVol04,xvda,w''] > vif = [''bridge=xenbr0,ip=192.168.10.10''] > bootloader="pygrub" > vfb = [ ''type=vnc,vnclisten=0.0.0.0,vncunused=1,vncpasswd=REDACTED'' ] > vnc=1In my install: The LVM volume group "VolGroup00" covers the whole of the host''s primary HD and the LVM logical volume "LogVol04" is part of it. LogVol04 is a raw container that holds the guest''s partition. The disk line maps it onto the guest''s /dev/xvda and declares it as writeable. You don''t have to use LVM. You could make a partition on the host''s sda, say "sda6" and pass that to the guest (''phy:/dev/sda6,xvda,w'') but, you must make sure that the partition is never mounted on the host while the guest is running. Good luck, Paul. _______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users
Hello, pleas try file:/path/to/your/image instead of tap:aio: Best Regards 2013/1/18 Paul Stimpson <paul@stimpsonfamily.co.uk>> Hi, > > > On 18/01/13 06:03, Yathindra wrote: > > My configuration looks like this - > > kernel = "/boot/vmlinuz" > ramdisk = "/boot/initrd.img" > > > I think this may be the problem... The conf file is parsed on the host so > these files refer to files of that name on the host. It takes a bit of > getting your head round but the conf file is read in "host world", the > guest sees raw devices and never knows the file or device name in the conf > file. You appear to be booting the guest with the host''s vmlinuz and > initrd. > > memory = 192 > name = "guest3" > vif = [ '' '' ] > disk = [''tap:aio:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', > ''tap:aio:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] > root = "/dev/xvda1 ro" > > > Likewise... This file is on the host and (as the host isn''t running in a > VM) it has real discs not Xen ones. > > > #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,sda1,w'', > ''phy:/local/sda4/guest-space/UbuntuXen.swap,sda2,w''] > #root = "/dev/sda1 ro" > #disk = [''phy:/local/sda4/guest-space/UbuntuXen.img,xvda1,w'', > ''phy:/local/sda4/guest-space/UbuntuXen.swap,xvda2,w''] > #root = "/dev/xvda1 ro" > extra = ''xencons=tty'' > > As you can see, I have tried both /dev/sda and /dev/xvda but none of them > helped. > > > I think putting /dev/sda1 in that file could cause major breakage to the > machine as you would most likely be double mounting the host''s boot drive > on the guest and, as most filesystems aren''t designed with being mounted > read/write on multiple machines at once in mind, you could corrupt sda1 on > the host. > > On my install, we created an LVM and partitioned it into slices. The first > is the host''s drive and the others are drive containers for the guests. > > The conf file for my Linux guest contains: > > name = "LinuxGuest1" > memory = 256 > disk = [''phy:/dev/VolGroup00/LogVol04,xvda,w''] > vif = [''bridge=xenbr0,ip=192.168.10.10''] > bootloader="pygrub" > vfb = [ ''type=vnc,vnclisten=0.0.0.0,vncunused=1,vncpasswd=REDACTED'' ] > vnc=1 > > > In my install: The LVM volume group "VolGroup00" covers the whole of the > host''s primary HD and the LVM logical volume "LogVol04" is part of it. > LogVol04 is a raw container that holds the guest''s partition. The disk line > maps it onto the guest''s /dev/xvda and declares it as writeable. > > You don''t have to use LVM. You could make a partition on the host''s sda, > say "sda6" and pass that to the guest (''phy:/dev/sda6,xvda,w'') but, you > must make sure that the partition is never mounted on the host while the > guest is running. > > Good luck, > Paul. > > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xen.org > http://lists.xen.org/xen-users >_______________________________________________ Xen-users mailing list Xen-users@lists.xen.org http://lists.xen.org/xen-users