diff options
author | tools/pygrub: fix solaris kernel sniff <none@none> | 2011-07-14 18:09:58 +0100 |
---|---|---|
committer | tools/pygrub: fix solaris kernel sniff <none@none> | 2011-07-14 18:09:58 +0100 |
commit | 872ecdc9b54f40b6b52318f423cc7073671e8b7c (patch) | |
tree | c0b8281eb457c32e9ac57ebdc16972253e7cd0ab /tools/pygrub | |
parent | f4766463d45203382484ae77fbbf1f2aa12d5dcb (diff) | |
download | xen-872ecdc9b54f40b6b52318f423cc7073671e8b7c.tar.gz xen-872ecdc9b54f40b6b52318f423cc7073671e8b7c.tar.bz2 xen-872ecdc9b54f40b6b52318f423cc7073671e8b7c.zip |
tools/pygrub: fix solaris kernel sniff
Solaris 11 build 163+ removes '/platform/i86xpv/kernel/unix' and only the
64-bit PV kernel file '/platform/i86xpv/kernel/amd64/unix' exists.
This patch fixes the detection.
Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Frank Che <frank.che@oracle.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/pygrub')
-rw-r--r-- | tools/pygrub/src/pygrub | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub index df58f813bc..843118534a 100644 --- a/tools/pygrub/src/pygrub +++ b/tools/pygrub/src/pygrub @@ -594,7 +594,8 @@ def supports64bitPVguest(): # If nothing has been specified, look for a Solaris domU. If found, perform the # necessary tweaks. def sniff_solaris(fs, cfg): - if not fs.file_exists("/platform/i86xpv/kernel/unix"): + if not fs.file_exists("/platform/i86xpv/kernel/unix") and \ + not fs.file_exists("/platform/i86xpv/kernel/amd64/unix"): return cfg if not cfg["kernel"]: @@ -602,9 +603,11 @@ def sniff_solaris(fs, cfg): fs.file_exists("/platform/i86xpv/kernel/amd64/unix"): cfg["kernel"] = "/platform/i86xpv/kernel/amd64/unix" cfg["ramdisk"] = "/platform/i86pc/amd64/boot_archive" - else: + elif fs.file_exists("/platform/i86xpv/kernel/unix"): cfg["kernel"] = "/platform/i86xpv/kernel/unix" cfg["ramdisk"] = "/platform/i86pc/boot_archive" + else: + return cfg # Unpleasant. Typically we'll have 'root=foo -k' or 'root=foo /kernel -k', # and we need to maintain Xen properties (root= and ip=) and the kernel |