On Fri, Mar 10, 2017 at 05:14:37PM +0800, Jean-Christophe PLAGNIOL-VILLARD wrote: > > > On Mar 10, 2017, at 2:05 PM, Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote: > > > > From: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > > > > This patch makes it possible to abort a console countdown by an external > > command, for example when fastboot is used. This requires additional > > modifications in the external commands, a call to "console_countdown_abort()" > > has to be inserted. > > > > Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > > Signed-off-by: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> > > --- > > commands/timeout.c | 8 ++++++-- > > common/console_countdown.c | 15 +++++++++++++++ > > include/console_countdown.h | 2 ++ > > 3 files changed, 23 insertions(+), 2 deletions(-) > > > > diff --git a/commands/timeout.c b/commands/timeout.c > > index ef1a037c1..d197cedd8 100644 > > --- a/commands/timeout.c > > +++ b/commands/timeout.c > > @@ -32,7 +32,7 @@ static int do_timeout(int argc, char *argv[]) > > char str[2] = { }; > > const char *varname = NULL; > > > > - while((opt = getopt(argc, argv, "crsav:")) > 0) { > > + while ((opt = getopt(argc, argv, "crsav:e")) > 0) { > > switch(opt) { > > case 'r': > > flags |= CONSOLE_COUNTDOWN_RETURN; > > @@ -46,6 +46,9 @@ static int do_timeout(int argc, char *argv[]) > > case 's': > > flags |= CONSOLE_COUNTDOWN_SILENT; > > break; > > + case 'e': > > + flags |= CONSOLE_COUNTDOWN_EXTERN; > > + break; > > case 'v': > > varname = optarg; > > break; > > @@ -73,6 +76,7 @@ BAREBOX_CMD_HELP_TEXT("Options:") > > BAREBOX_CMD_HELP_OPT("-a", "interrupt on any key") > > BAREBOX_CMD_HELP_OPT("-c", "interrupt on Ctrl-C") > > BAREBOX_CMD_HELP_OPT("-r", "interrupt on RETURN") > > +BAREBOX_CMD_HELP_OPT("-e", "interrupt on external commands (i.e. fastboot") > > BAREBOX_CMD_HELP_OPT("-s", "silent mode") > > BAREBOX_CMD_HELP_OPT("-v <VARIABLE>", "export pressed key to environment") > > BAREBOX_CMD_HELP_END > > @@ -80,7 +84,7 @@ BAREBOX_CMD_HELP_END > > BAREBOX_CMD_START(timeout) > > .cmd = do_timeout, > > BAREBOX_CMD_DESC("wait for a specified timeout") > > - BAREBOX_CMD_OPTS("[-acrsv] SECONDS") > > + BAREBOX_CMD_OPTS("[-acrsev] SECONDS") > > BAREBOX_CMD_GROUP(CMD_GRP_CONSOLE) > > BAREBOX_CMD_HELP(cmd_timeout_help) > > BAREBOX_CMD_END > > diff --git a/common/console_countdown.c b/common/console_countdown.c > > index b2eec72b2..03b9b3353 100644 > > --- a/common/console_countdown.c > > +++ b/common/console_countdown.c > > @@ -23,6 +23,13 @@ > > #include <console_countdown.h> > > #include <stdio.h> > > > > +static bool console_countdown_timeout_abort; > > + > > +void console_countdown_abort(void) > > +{ > > + console_countdown_timeout_abort = true; > Nack > > this break the security support > > If we enable password you can not activate it by default This patch only changes anything when the -e option is given to the timeout command, which is not the case in the current startup scripts. Also this patch only aborts the autoboot timeout, something you can always do with a key press, even when password/login is enabled. The login comes after the timeout and is unaffected by this code. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox