This patch adds the possibility to run commands using the default parameter
in 'lkvm sandbox'. For example, a user would now be able to run:
'lkvm sandbox firefox'
And have a sandboxed firefox instance start in the guest.
For commands with parameters, we still need to use dashdash to pass the
parameters (similar to 'git bisect run'). For example:
'lkvm sandbox -- ls -al /bin
Suggested-by: Ingo Molnar <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
tools/kvm/builtin-run.c | 22 +++++++++++++++++-----
1 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c
index 249cf82..7219779 100644
--- a/tools/kvm/builtin-run.c
+++ b/tools/kvm/builtin-run.c
@@ -114,6 +114,7 @@ static const char * const run_usage[] = {
};
enum {
+ KVM_RUN_DEFAULT,
KVM_RUN_SANDBOX,
};
@@ -904,16 +905,27 @@ int kvm_cmd_run(int argc, const char **argv, const char
*prefix)
}
}
- if (kernel_filename) {
+ if ((kvm_run_wrapper == KVM_RUN_DEFAULT &&
kernel_filename) ||
+ (kvm_run_wrapper == KVM_RUN_SANDBOX &&
sandbox)) {
fprintf(stderr, "Cannot handle parameter: "
"%s\n", argv[0]);
usage_with_options(run_usage, options);
return EINVAL;
}
- /* first unhandled parameter is treated as a kernel
- image
- */
- kernel_filename = argv[0];
+ if (kvm_run_wrapper == KVM_RUN_SANDBOX) {
+ /*
+ * first unhandled parameter is treated as
+ * sandbox command
+ */
+ sandbox = DEFAULT_SANDBOX_FILENAME;
+ kvm_run_write_sandbox_cmd(argv, argc);
+ } else {
+ /*
+ * first unhandled parameter is treated as a
kernel
+ * image
+ */
+ kernel_filename = argv[0];
+ }
argv++;
argc--;
}
--
1.7.8.3
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html