On 01/25/2012 12:06 AM, M A Young wrote:
> On Tue, 24 Jan 2012, Roberto Fichera wrote:
>
>> My thought is that since Fedora 16 comes with grub2, my current xen setup 
>> doesn't support it.
>
> It doesn't. The most recent F16 xen (4.1.1-8 or later) should though (the 
> patches for Fedora style grub2 support are
> upstream in the 4.1 and unstable development trees but not in any released 
> version yet).
>
> You could try
>
> 1) turning selinux off (setenforce 0) if it is on.

I switch it off by default in my xen servers

> 2) Running pygrub directly to see if it works or gives useful debugging ie.
> pygrub <partition or image file>
The pygrub menu starts and after a second or so I got this:

pygrub 
/dev/disk/by-path/ip-10.0.0.1:3260-iscsi-iqn.2009-12.it.tekno-soft:xen.vm.TeknoProxy-lun-1
Using <class 'grub.GrubConf.GrubConfigFile'> to parse /grub/menu.lst
Traceback (most recent call last):
                                    File "/usr/bin/pygrub", line 715, in 
<module>
                                                                                
     data =
fs.open_file(chosencfg["kernel"]).read()
                                                                                
                                                   
IOError: [Errno 2] No such file or directory

Note that in the disk 
/dev/disk/by-path/ip-10.0.0.1:3260-iscsi-iqn.2009-12.it.tekno-soft:xen.vm.TeknoProxy-lun-1
the boot partition contains the /grub/grub.conf related to the upgrade process:

#boot=/dev/xvda
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Upgrade to Fedora 16 (Verne)
    kernel /upgrade/vmlinuz preupgrade repo=hd::/var/cache/yum/preupgrade
ks=hd:UUID=ef1946b3-70ab-40fc-91c6-2e8ab1765b35:/upgrade/ks.cfg
    initrd /upgrade/initrd.img


so, I guess that since the /upgrade/* stuff aren't there because the upgrade 
process completes correctly
then pygrub fails to find the /upgrade/vmlinuz kernel to boot.

As I can see the /grub2/grub.cfg contains a valid grub2 configuration.

This is what I see in my /var/log/xen/xend.log

[2012-01-25 09:14:06 2460] DEBUG (XendDomainInfo:2508) 
XendDomainInfo.constructDomain
[2012-01-25 09:14:06 2460] DEBUG (balloon:172) Balloon: tmem relinquished -1 
KiB of 16364 KiB requested.
[2012-01-25 09:14:06 2460] DEBUG (balloon:226) Balloon: 20 KiB free; 0 to 
scrub; need 16384; retries: 20.
[2012-01-25 09:14:06 2460] DEBUG (balloon:240) Balloon: setting dom0 target to 
4727 MiB.
[2012-01-25 09:14:06 2460] DEBUG (XendDomainInfo:1477) Setting memory target of 
domain Domain-0 (0) to 4727 MiB.
[2012-01-25 09:14:06 2460] DEBUG (balloon:220) Balloon: 16404 KiB free; need 
16384; done.
[2012-01-25 09:14:06 2460] DEBUG (XendDomain:464) Adding Domain: 9
[2012-01-25 09:14:06 2460] DEBUG (XendDomainInfo:2818) 
XendDomainInfo.initDomain: 9 256
[2012-01-25 09:14:06 8044] DEBUG (XendBootloader:113) Launching bootloader as 
['/usr/bin/pygrub',
'--output=/var/run/xend/boot/xenbl.12897',
'/dev/disk/by-path/ip-10.0.0.1:3260-iscsi-iqn.2009-12.it.tekno-soft:xen.vm.TeknoProxy-lun-1'].
[2012-01-25 09:14:07 2460] ERROR (XendBootloader:214) Boot loader didn't return 
any data!
[2012-01-25 09:14:07 2460] ERROR (XendDomainInfo:483) VM start failed
Traceback (most recent call last):
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 
469, in start
    XendTask.log_progress(31, 60, self._initDomain)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendTask.py", line 209, in 
log_progress
    retval = func(*args, **kwds)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 
2820, in _initDomain
    self._configureBootloader()
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line 
3266, in _configureBootloader
    bootloader_args, kernel, ramdisk, args)
  File "/usr/lib64/python2.6/site-packages/xen/xend/XendBootloader.py", line 
215, in bootloader
    raise VmError, msg
VmError: Boot loader didn't return any data!
[2012-01-25 09:14:07 2460] DEBUG (XendDomainInfo:3053) XendDomainInfo.destroy: 
domid=9
[2012-01-25 09:14:07 2460] DEBUG (XendDomainInfo:2416) No device model
[2012-01-25 09:14:07 2460] DEBUG (XendDomainInfo:2418) Releasing devices

>
> Note if you are using pvgrub as your boot loader then it is unlikely to cope 
> with F16 guests.

I never used it.

>
> Another possibility is that your upgrade didn't generate a valid grub2 
> configuration, so there is nothing for the boot
> loader to find.

I had to change the layout, with gparted, of the given partition leaving 1Mb of 
space at the beginning of the first
partition (boot) so that
the update process complete its job. This is what I usually do before upgrading 
an F14 to F16 since grub2 does require more
space at the beginning of the disk. I never had any problem in this resizing 
process on a normal machine. So I was expecting
the same on xen.

Actually I have several ubuntu machine that uses grub2, so it might be that the 
boot loader get screwed
for some reasons. If it's so then how can I restore the boot loader since I 
can't boot that domU in recovery
mode?

>
>     Michael Young
>

--
xen mailing list
xen@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/xen

Reply via email to