|
@@ -77,12 +77,18 @@ int sandbox_main_loop_init(void)
|
|
|
struct sandbox_state *state = state_get_current();
|
|
|
|
|
|
/* Execute command if required */
|
|
|
- if (state->cmd) {
|
|
|
- int retval;
|
|
|
+ if (state->cmd || state->run_distro_boot) {
|
|
|
+ int retval = 0;
|
|
|
|
|
|
cli_init();
|
|
|
|
|
|
- retval = run_command_list(state->cmd, -1, 0);
|
|
|
+ if (state->cmd)
|
|
|
+ retval = run_command_list(state->cmd, -1, 0);
|
|
|
+
|
|
|
+ if (state->run_distro_boot)
|
|
|
+ retval = cli_simple_run_command("run distro_bootcmd",
|
|
|
+ 0);
|
|
|
+
|
|
|
if (!state->interactive)
|
|
|
os_exit(retval);
|
|
|
}
|
|
@@ -90,6 +96,14 @@ int sandbox_main_loop_init(void)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+static int sandbox_cmdline_cb_boot(struct sandbox_state *state,
|
|
|
+ const char *arg)
|
|
|
+{
|
|
|
+ state->run_distro_boot = true;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+SANDBOX_CMDLINE_OPT_SHORT(boot, 'b', 0, "Run distro boot commands");
|
|
|
+
|
|
|
static int sandbox_cmdline_cb_command(struct sandbox_state *state,
|
|
|
const char *arg)
|
|
|
{
|