From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Haxby Subject: [PATCH] Fix pygrub --isconfig Date: Thu, 20 Jan 2011 15:52:32 +0000 Message-ID: <4D385A40.9090908@oracle.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010605040200020800020701" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------010605040200020800020701 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Recentlly, when trying to get to the bottom of some strange booting problem, I discovered that pyrgub --isconfig usefully reports the kernel, initrd (ramdisk) and arguments that would be used to boot a kernel. Well, actually, what it reported was an error. This patch makes it work (and jolly useful it is too). The patch also removes a spurious "print >>sys.stderr" that seems to have been left in from some previous debugging. jch --------------010605040200020800020701 Content-Type: text/x-patch; name="pygrub.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pygrub.patch" diff -r f47b924f74af tools/pygrub/src/pygrub --- a/tools/pygrub/src/pygrub Tue Jan 18 12:25:54 2011 +0000 +++ b/tools/pygrub/src/pygrub Thu Jan 20 15:46:33 2011 +0000 @@ -400,7 +400,6 @@ for f,parser in cfg_list: if fs.file_exists(f): - print >>sys.stderr, "Using %s to parse %s" % (parser,f) self.cf = parser() self.cf.filename = f break @@ -687,14 +686,6 @@ else: fd = os.open(output, os.O_WRONLY) - # debug - if isconfig: - chosencfg = run_grub(file, entry, fs, incfg["args"]) - print " kernel: %s" % chosencfg["kernel"] - if chosencfg["ramdisk"]: - print " initrd: %s" % chosencfg["ramdisk"] - print " args: %s" % chosencfg["args"] - sys.exit(0) # if boot filesystem is set then pass to fsimage.open bootfsargs = '"%s"' % incfg["args"] @@ -704,6 +695,19 @@ else: fs = fsimage.open(file, get_fs_offset(file)) + # debug + if isconfig: + chosencfg = run_grub(file, entry, fs, incfg["args"]) + if chosencfg.has_key("kernel"): + print " kernel: %s" % chosencfg["kernel"] + if chosencfg.has_key("ramdisk"): + print " initrd: %s" % chosencfg["ramdisk"] + if chosencfg.has_key("args"): + print " args: %s" % chosencfg["args"] + if not chosencfg: + print " no config" + sys.exit(0) + chosencfg = sniff_solaris(fs, incfg) if not chosencfg["kernel"]: --------------010605040200020800020701 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------010605040200020800020701--