Xen fails to boot (timeout mounting /dev/sda2)

2

1

I am new to Xen and trying to follow the guide from the Debian Wiki's Xen entry. I have installed squeeze on a VMware Workstation image with plenty of space. The file storage is over LVM.

My newly installed guest OS does not boot -- the busybox bootloader timesout and fails. Here's the exact error:

Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Waiting for root file system ... 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/sda2 does not exist.  Dropping to a shell!

How can I make my Debian Squeeze guest OS boot on Xen 4?

All the salient info I can think of:

Guest creation:

root@debxentest:/etc/xen-tools# xen-create-image --hostname xenguest1 --scsi --vcpus 1 --pygrub --dist squeeze

General Information
--------------------
Hostname       :  xenguest1
Distribution   :  squeeze
Mirror         :  http://localmirror/debian/
Partitions     :  swap            64Mb  (swap)
                  /               4Gb   (ext3)
Image type     :  full
Memory size    :  64Mb
Kernel path    :  /boot/vmlinuz-2.6.32-5-xen-amd64
Initrd path    :  /boot/initrd.img-2.6.32-5-xen-amd64

Networking Information
----------------------
IP Address     : DHCP [MAC: 00:16:3E:1A:8D:68]


Creating swap on /dev/universe/xenguest1-swap
Done

Creating ext3 filesystem on /dev/universe/xenguest1-disk
Done
Installation method: debootstrap
Done

Running hooks
Done

No role scripts were specified.  Skipping

Creating Xen configuration file
Done
Setting up root password
Generating a password for the new guest.
All done


Logfile produced at:
     /var/log/xen-tools/xenguest1.log

Installation Summary
---------------------
Hostname        :  xenguest1
Distribution    :  squeeze
IP-Address(es)  :  dynamic
RSA Fingerprint :  e3:6e:87:8b:59:78:9d:4d:3b:7f:b2:84:48:95:98:36
Root Password   :  Wppn4eKf

LVM setup (volumes and groups):

  lvm> lvdisplay
  --- Logical volume ---
  LV Name                /dev/universe/xenguest1-swap
  VG Name                universe
  LV UUID                r68Qej-hVOE-ZRMu-KRzU-cXi4-paHN-4FCM0n
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                64.00 MiB
  Current LE             16
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:2

  --- Logical volume ---
  LV Name                /dev/universe/xenguest1-disk
  VG Name                universe
  LV UUID                LBZpOl-sHjU-ec3d-zePZ-B2Nv-eLQ3-1pJeJ6
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:3

  --- Logical volume ---
  LV Name                /dev/debxentest/root
  VG Name                debxentest
  LV UUID                XlMXTu-8IEQ-Ec0P-3kaw-menW-Dcz8-Qmu6Ea
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                18.91 GiB
  Current LE             4840
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

  --- Logical volume ---
  LV Name                /dev/debxentest/swap_1
  VG Name                debxentest
  LV UUID                VJkXmY-kr7D-Rvvv-Ekg2-vo54-f8D0-hXGDYr
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                872.00 MiB
  Current LE             218
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1

  lvm> vgdisplay
  --- Volume group ---
  VG Name               debxentest
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.76 GiB
  PE Size               4.00 MiB
  Total PE              5058
  Alloc PE / Size       5058 / 19.76 GiB
  Free  PE / Size       0 / 0   
  VG UUID               1tEMNQ-B81G-82nb-SCXq-mNJR-Swh7-UGXV14

  --- Volume group ---
  VG Name               universe
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               20.00 GiB
  PE Size               4.00 MiB
  Total PE              5119
  Alloc PE / Size       1040 / 4.06 GiB
  Free  PE / Size       4079 / 15.93 GiB
  VG UUID               vxAIfs-wMIT-Nxcc-gEOh-oSoY-e5Zx-r2VTum

Xen Setup

root@debxentest:/home/tester# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   941     1     r-----     22.4
xenguest1                                    2    64     1     -b----      1.9

derdewey

Posted 2011-03-09T00:48:42.523

Reputation: 133

Answers

2

I am experiencing this exact same problem with both squeeze and wheezy.

If you are using xen-tools and xen-create-image, you can either:

  • Create an image using lenny:

    xen-create-image --hostname len1 --scsi --dist lenny

  • Create a squeeze image without using the scsi option:

    xen-create-image --hostname sqz1 --dist squeeze

I find this situation very odd. It seems like the scsi option should be supported by squeeze and lenny; maybe a problem with udev? As the Debian Xen Wiki page states:

The --scsi makes sure the VM uses normal SCSI HD names like sda. When creating a Ubuntu Maverick image, for instance, it won't boot without this option, because the default is xvda. xvda is used to make it clear it is a virtualized disk, but a non-xen kernel, like a stock pv_ops one in Ubuntu, doesn't know what those are (see notes below about the xen-blkfront driver for this, though). You can also set scsi=1 in /etc/xen-tools/xen-tools.conf to make this default.

Later on, it also states:

The new 2.6.32 kernel images have paravirt_ops-based Xen dom0 and domU support. When you create an image for Ubuntu Maverick, which includes a kernel that has pv_ops, it will therefore not use a Xen kernel, but the Ubuntu stock one, as it is capable of running on Xen's hypervisor.

For those who want to test the 2.6.32 kernel domU on an earlier dom0, you have to make sure that the xen-blkfront domU driver is loaded, and can find the root and other disk partitions. This is no longer the case if you still use the deprecated hda* or sda* device names in domU .cfg files. Switch to xvda* devices, which also work with 2.6.18 and 2.6.26 dom0 kernels.

I have confirmed that the --scsi option works with Maverick, which uses a 2.6.35 kernel, but that shouldn't matter. This all seems contradictory.

This link may also help:

Docunext

Posted 2011-03-09T00:48:42.523

Reputation: 186

I ended up simply not using the --scsi option for squeeze guests. I was able to make changes to the domu.cfg file, referencing xvd(a|b), and installing grub in the domu as described on the Debian pygrub page. Furthermore, I was able to install openvz in the domu, too!

– Docunext – 2011-03-18T17:55:13.623

Also, I should mention that my final set up was not on VMWare. I tried that initially, but was not able to get any networking functional at all. I switched to real hardware, and then ran into the hanging issue. – Docunext – 2011-03-19T00:35:29.080