Tim Deegan
2010-Jul-02 13:23 UTC
[Xen-devel] [PATCH] pygrub: --not-really option for debugging
Add a --not-really option to pygrub that lets us see what files it would have extracted instead of actually extracting them. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> diff -r e021832644f4 tools/pygrub/src/pygrub --- a/tools/pygrub/src/pygrub Fri Jul 02 14:07:18 2010 +0100 +++ b/tools/pygrub/src/pygrub Fri Jul 02 14:21:59 2010 +0100 @@ -631,13 +631,13 @@ sel = None def usage(): - print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <image>" %(sys.argv[0],) + print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] <image>" %(sys.argv[0],) try: - opts, args = getopt.gnu_getopt(sys.argv[1:], ''qih::'', - ["quiet", "interactive", "help", "output=", - "entry=", "kernel=", "ramdisk=", "args=", - "isconfig"]) + opts, args = getopt.gnu_getopt(sys.argv[1:], ''qinh::'', + ["quiet", "interactive", "not-really", + "help", "output=", "entry=", "kernel=", + "ramdisk=", "args=", "isconfig"]) except getopt.GetoptError: usage() sys.exit(1) @@ -651,6 +651,7 @@ entry = None interactive = True isconfig = False + not_really = False # what was passed in incfg = { "kernel": None, "ramdisk": None, "args": "" } @@ -664,6 +665,8 @@ interactive = False elif o in ("-i", "--interactive"): interactive = True + elif o in ("-n", "--not-really"): + not_really = True elif o in ("-h", "--help"): usage() sys.exit() @@ -712,18 +715,24 @@ if not chosencfg["kernel"]: chosencfg = run_grub(file, entry, fs, incfg["args"]) - data = fs.open_file(chosencfg["kernel"]).read() - (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.", - dir="/var/run/xend/boot") - os.write(tfd, data) - os.close(tfd) + if not_really: + bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"] + else: + data = fs.open_file(chosencfg["kernel"]).read() + (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.", + dir="/var/run/xend/boot") + os.write(tfd, data) + os.close(tfd) if chosencfg["ramdisk"]: - data = fs.open_file(chosencfg["ramdisk"],).read() - (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(prefix="boot_ramdisk.", - dir="/var/run/xend/boot") - os.write(tfd, data) - os.close(tfd) + if not_really: + bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"] + else: + data = fs.open_file(chosencfg["ramdisk"],).read() + (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp( + prefix="boot_ramdisk.", dir="/var/run/xend/boot") + os.write(tfd, data) + os.close(tfd) else: initrd = None _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel