|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: Look for bootloader in libexec path
# HG changeset patch
# User George Dunlap <george.dunlap@xxxxxxxxxxxxx>
# Date 1337095690 -3600
# Node ID 373f24c87deee775e9a1f0c1d7e1d29b942e0175
# Parent a3186b243e2db2761becfad3452290a1b385cf1c
libxl: Look for bootloader in libexec path
If the full path for a bootloader (such as pygrub or xenpvnetboot) is not
given, check for it first in the libexec path before falling back to the
PATH variable.
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
diff -r a3186b243e2d -r 373f24c87dee tools/libxl/libxl_bootloader.c
--- a/tools/libxl/libxl_bootloader.c Tue May 15 15:41:53 2012 +0100
+++ b/tools/libxl/libxl_bootloader.c Tue May 15 16:28:10 2012 +0100
@@ -336,6 +336,26 @@ void libxl__bootloader_run(libxl__egc *e
goto out;
}
+ LOG(DEBUG, "Config bootloader value: %s", info->u.pv.bootloader);
+
+ /* If the full path is not specified, check in the libexec path */
+ if ( info->u.pv.bootloader[0] != '/' ) {
+ char *bootloader;
+ struct stat st;
+
+ bootloader = libxl__abs_path(gc, info->u.pv.bootloader,
+ libxl__libexec_path());
+ /* Check to see if the file exists in this location; if not,
+ * fall back to checking the path */
+ LOG(DEBUG, "Checking for bootloader in libexec path: %s", bootloader);
+
+ if ( lstat(bootloader, &st) )
+ LOG(DEBUG, "%s doesn't exist, falling back to config path",
+ bootloader);
+ else
+ info->u.pv.bootloader = bootloader;
+ }
+
make_bootloader_args(gc, bl);
bl->openpty.ao = ao;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |