[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] How to solve "Error: Boot loader didn't return any data"



Hello Bryant,

On Thursday 01 December 2011 09:42:14 Bryant Kobe wrote:
> I am a newcomer to xen , which i study in recent months . I have deploy the
> xen-4.1.2 on dell server , centos as dom0 ,  now , i use the vhd format to
> be the virtual hard disk , after i execute
>  " xm new ***.cfg" ,
> this vm  generate the vm in "xm list" ,

This just creates a persistent domain in Xend from your configuration file.

> but when i execute 
>  " xm start *** ",

This is what then starts the domain as currently configured in Xend.

> "Error: Boot loader didn't return any data " happened ,
>  i refer the official document , saying that "*make sure that the
> partition/lvm/container that contains the kernel and initrd comes first " ,
> *but i have provide the vhd containing guest OS .

You didn't tell what guest OS you try to boot. PyGrub as the name should tell 
you is an implementation of Grub in Python, used to extract the (Linux) 
kernel and it's ram-disk from the disk to then run it as a PV domain.
If your guest is not an PV capable OS, you need to define a HV domain.

You should have a look at /var/log/xen/xend.log and xend-debug.log (or where 
ever they are located in CentOS.)

> This situation doesn't occur every time i execute the above instruction ,
>  but once happened , i would not start any vm later , unless reboot server.
> I have search many references , try some methods for several weeks , but
> all don't work !

To rule out any Xen internal problems, you can try something like this:
1. create a blktap device by hand
  # tap-ctl create -avhd:/path/to/your/image.vhd
  This should then print something like "/dev/xen/blktap-2/tapdev6"
2. Check that the tapdisk works:
  # file -s "/dev/xen/blktap-2/tapdev6"
  This should print something like this:
  /dev/xen/blktap-2/tapdev6: x86 boot sector; partition 1: ID=0x83, active, 
starthead 1, startsector 63, 626472 sectors; partition 2: ID=0x83, starthead 
0, startsector 626535, 2040255 sectors; partition 3: ID=0x8e, starthead 0, 
startsector 2666790, 39262860 sectors, code offset 0x63
3. Run pygrub on that device:
  # pygrub "/dev/xen/blktap-2/tapdev6"
  This should display the PyGrub menu. After selecting a kernel, PyGrub should 
print somethin like this:
  linux (kernel /var/run/xend/boot/boot_kernel.g9ssQ9)
(ramdisk /var/run/xend/boot/boot_ramdisk.jAfNI9)
(args "root=/dev/mapper/vg_ucs-rootfs ro  splash  quiet loglevel=0 vga=788 ")
4. Destroy the blktap device to clean up step 1.
  # tap-ctl list | grep -F "/path/to/your/image.vhd"
  # tap-ctl destroy -p $pid -m $minor
  where $pid and $minor should be taken from the command above.

Sincerely
Philipp

PS: If by chance any of your files contains blanks or equal-signs, please let 
me know, since I spotted a Bug in handling them.
-- 
Philipp Hahn           Open Source Software Engineer      hahn@xxxxxxxxxxxxx
Univention GmbH        Linux for Your Business        fon: +49 421 22 232- 0
Mary-Somerville-Str.1  D-28359 Bremen                 fax: +49 421 22 232-99
                                                   http://www.univention.de/

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.