# HG changeset patch # User tools/pygrub: fix solaris kernel sniff # Date 1310663398 -3600 # Node ID 7c39a2c0d870f9a374f181b581bcf82a2a7ff364 # Parent 5239811f92e1ffb185a50172fdcf47372e71ba7e 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 Signed-off-by: Kurt Hackel Signed-off-by: Frank Che Committed-by: Ian Jackson diff -r 5239811f92e1 -r 7c39a2c0d870 tools/pygrub/src/pygrub --- a/tools/pygrub/src/pygrub Thu Jul 14 15:49:49 2011 +0100 +++ b/tools/pygrub/src/pygrub Thu Jul 14 18:09:58 2011 +0100 @@ -594,7 +594,8 @@ # 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 @@ 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