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