[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"



Hi Bryant,

Which filing system are you using for your domU?
Please note you'll need to use ext3/4 for pygrub.

Jan

On 02/12/11 19:53, Bryant Kobe wrote:
> Hello Philipp ,
>
>     > 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.)
>
> my guest OS is also centos5.6 , the error message in
> /var/log/xen/xend.log is :
> """
> [2011-12-02 11:26:40 17507] DEBUG (XendBootloader:123) Launching
> bootloader as ['/usr/bin/pygrub',
> '--output=/var/run/xend/boot/xenbl.14220', '-q', '/dev/xvdp'].
> [2011-12-02 11:26:41 4270] ERROR (XendBootloader:224) Boot loader
> didn't return any data!
> [2011-12-02 11:26:41 4270] INFO (XendDomainInfo:3288) Unmounting
> /dev/xvdp from /dev/xvdp.
> [2011-12-02 11:26:41 4270] DEBUG (XendDomainInfo:1276)
> XendDomainInfo.destroyDevice: deviceClass = tap2, device = /dev/xvdp
> [2011-12-02 11:26:41 4270] DEBUG (DevController:649)
> deviceDestroyCallback /local/domain/0/backend/vbd/0/51952/hotplug-status.
> [2011-12-02 11:26:41 4270] DEBUG (DevController:658)
> deviceDestroyCallback 6.
> [2011-12-02 11:26:41 4270] ERROR (XendDomainInfo:488) VM start failed
> Traceback (most recent call last):
>   File "usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 474, in start
>     XendTask.log_progress(31, 60, self._initDomain)
>   File "usr/lib64/python2.4/site-packages/xen/xend/XendTask.py", line
> 209, in log_progress
>     retval = func(*args, **kwds)
>   File "usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 2838, in _initDomain
>     self._configureBootloader()
>   File "usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py",
> line 3285, in _configureBootloader
>     bootloader_args, kernel, ramdisk, args)
>   File
> "/usr/lib64/python2.4/site-packages/xen/xend/XendBootloader.py", line
> 225, in bootloader
>     raise VmError, msg
> VmError: Boot loader didn't return any data!
> [2011-12-02 11:26:41 4270] DEBUG (XendDomainInfo:3071)
> XendDomainInfo.destroy: domid=27
> [2011-12-02 11:26:41 4270] DEBUG (XendDomainInfo:2406) No device model
> [2011-12-02 11:26:41 4270] DEBUG (XendDomainInfo:2408) Releasing devices
> """
>
>     >> 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.
>
> I have done follow your above four instructions , get the similar
> results , 
> after executing  1,2,3 , I try to "xm start ***.vhd" , but still get
> "VmError: Boot loader didn't return any data!"
>
> however , this method is workable in xen4.0.3+centos5.6(dom0) . 
> (maybe this is not a good method to start a vm(centos5.6)
>
> which seem to that the vhd file of vm has been mounted , but vm still
> cannot be started ,
> so now rule out the possibility that the vhd file of the vm cannot be
> mounted . 
>
> after failed some times , I  check xenstore , find the following
> strange info : 
>
> [root@xen212 centos]# xm list
> Name                                        ID   Mem VCPUs      State
>   Time(s)
> Domain-0                                     0  1024     8     r-----
>   1537.4
> [root@xen212 centos]# xenstore-list /vm
> 00000000-0000-0000-0000-000000000000
> 00000000-0000-0000-0000-000000000000-1
> 5e4843f3-9ed7-462a-9b41-f07577406b0d
> 00000000-0000-0000-0000-000000000000-2
> 00000000-0000-0000-0000-000000000000-3
> 00000000-0000-0000-0000-000000000000-4
> 00000000-0000-0000-0000-000000000000-5
>
> As far as I know , xenstore only preserves information of running vms
> . There is only dom0 running , but  xenstore  contain other vms'
> information ,I don't know what problems had happened . 
> what do the strange uuids means ?
> Do these strange info related to previous error "VmError: Boot loader
> didn't return any data!" ?
>
> I have read the source code of start in xend written in python , which
> seems to have little help to solve the problem , should I need to read
> the underlying C code to realize more info?
>
>     >
>     > 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.
>
> I am sure my files don't contain blanks or equal-signs .
>
> thanks  a lot !
>
> Sincerely
> Bryant
>
>
> _______________________________________________
> 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


 


Rackspace

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