I just tripped over this issue with pygrub. The code is written such that saying bootloader="pygrub" should cause the correct path to be used, the attached patch simply fixes this path to be correct.
I don't have an HVM capable test machine handy (so I can't actually confirm this works) but I think changing the default "kernel" for an HVM guest to point to the correct path the hvmloader makes sense and at least partially addresses the concern in the bug report. A more complete change could be made such that the string "hvmloader" will default to the correct path as with pygrub, but that seems like an upstream thing. Ian. -- Ian Campbell Your motives for doing whatever good deed you may have in mind will be misinterpreted by somebody.
Index: debian/changelog
===================================================================
--- debian/changelog (revision 604)
+++ debian/changelog (working copy)
@@ -1,3 +1,10 @@
+xen-3 (3.2.1-3) UNRELEASED; urgency=low
+
+ [ Ian Campbell ]
+ * Correct default path to pygrub and hvmloader. (closes: #481105)
+
+ -- Ian Campbell <[EMAIL PROTECTED]> Sun, 20 Jul 2008 12:55:22 +0100
+
xen-3 (3.2.1-2) unstable; urgency=low
* Use e2fslibs based ext2 support for pygrub. (closes: #476366)
Index: debian/patches/tools-prefix.diff
===================================================================
--- debian/patches/tools-prefix.diff (revision 604)
+++ debian/patches/tools-prefix.diff (working copy)
@@ -250,3 +250,15 @@
ln -sf libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so.$(MAJOR)
ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
+--- xen-3.orig/tools/python/xen/xend/image.py.orig 2008-07-20 13:02:31.000000000 +0100
++++ xen-3/tools/python/xen/xend/image.py 2008-07-20 13:02:56.000000000 +0100
+@@ -423,7 +423,8 @@
+ ImageHandler.configure(self, vmConfig)
+
+ if not self.kernel:
+- self.kernel = '/usr/lib/xen/boot/hvmloader'
++ import xen.util.auxbin
++ self.kernel = os.path.join(xen.util.auxbin.root(),'boot','hvmloader')
+
+ info = xc.xeninfo()
+ if 'hvm' not in info['xen_caps']:
Index: debian/patches/tools-pygrub-prefix.diff
===================================================================
--- debian/patches/tools-pygrub-prefix.diff (revision 604)
+++ debian/patches/tools-pygrub-prefix.diff (working copy)
@@ -27,3 +27,21 @@
import fsimage
import grub.GrubConf
+--- xen-3.orig/tools/python/xen/xend/osdep.py 2008-05-12 12:01:59.000000000 +0100
++++ xen-3/tools/python/xen/xend/osdep.py 2008-07-20 12:53:18.000000000 +0100
+@@ -18,6 +18,7 @@
+ # Use is subject to license terms.
+
+ import os
++import xen.util.auxbin
+
+ _scripts_dir = {
+ "Linux": "/etc/xen/scripts",
+@@ -92,6 +93,6 @@
+
+ scripts_dir = _get(_scripts_dir, "/etc/xen/scripts")
+ xend_autorestart = _get(_xend_autorestart)
+-pygrub_path = _get(_pygrub_path, "/usr/bin/pygrub")
++pygrub_path = _get(_pygrub_path, xen.util.auxbin.pathTo("pygrub"))
+ vif_script = _get(_vif_script, "vif-bridge")
+ lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat)
signature.asc
Description: This is a digitally signed message part

