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 <mingo@xxxxxxx> Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html