Add SHA256 encrypted stop string for autobooting
Subsystems (3)
v3 cover Add SHA256 encrypted stop string for autobooting
The main task for this patch series is to add the new feature to abort autobooting via a SHA256 encrypted password. For this, some of the old autobooting related config macros have been moved to Kconfig. This was a bit more complicated, since Kconfig currently apparently doesn't support using escape characters '\' as used in printf format strings like "foo %s bar\n". And this is needed for some of these new Kconfig options. So I needed to make some changes to the Kconfig sources as well. If nobody complains about these Kconfig stuff, I'll try to push this into the Linux Kconfig source as well.
There should be no functional change introduced. Please let me know if you find any problems.
Thanks,
Stefan
Changes in v3:
- Added some Acked-by's / Reviewed-by's
- Added additional backslash to the default CONFIG_AUTOBOOT_PROMPT string as this seems to be needed for the parser
- Added some Acked-by's / Reviewed-by's
- Removed CONFIG_AUTOBOOT_STOP_STR2 and CONFIG_AUTOBOOT_DELAY_STR2 again
- Introduced hash_parse_string() to share some code as suggested by Simon
- Used hash_block() instead of sha256_csum_wd() as suggested by Simon
- Added some Acked-by's / Reviewed-by's
Changes in v2:
- AUTOBOOT_STOP_STR_SHA256 is a string and not bool
- Add input key length check as suggested by Magnus
- Add "constant-length" time compare function as suggested by Magnus
Stefan Roese (4):
Kconfig: Enable usage of escape char '\' in string values autoboot.c: Remove CONFIG_AUTOBOOT_STOP_STR2 and
CONFIG_AUTOBOOT_DELAY_STR2
autoboot.c: Move config options to Kconfig autoboot.c: Add feature to stop autobooting via SHA256 encrypted
password
README | 2 - common/Kconfig | 78 +++++++++++++++++++ common/autoboot.c | 129 ++++++++++++++++++++++++------- common/hash.c | 30 ++++--- configs/CPCI4052_defconfig | 3 + configs/O2DNT2_RAMBOOT_defconfig | 3 + configs/O2DNT2_defconfig | 3 + configs/PLU405_defconfig | 3 + configs/PMC405DE_defconfig | 3 + configs/PMC440_defconfig | 3 + configs/UCP1020_SPIFLASH_defconfig | 3 + configs/UCP1020_defconfig | 3 + configs/a4m072_defconfig | 3 + configs/atngw100_defconfig | 4 + configs/atngw100mkii_defconfig | 4 + configs/atstk1002_defconfig | 4 + configs/atstk1003_defconfig | 4 + configs/atstk1004_defconfig | 4 + configs/atstk1006_defconfig | 4 + configs/calimain_defconfig | 2 + configs/cpuat91_defconfig | 4 + configs/cpuat91_ram_defconfig | 3 + configs/digsy_mtc_RAMBOOT_defconfig | 3 + configs/digsy_mtc_defconfig | 3 + configs/digsy_mtc_rev5_RAMBOOT_defconfig | 3 + configs/digsy_mtc_rev5_defconfig | 3 + configs/dlvision-10g_defconfig | 2 + configs/draco_defconfig | 3 + configs/dxr2_defconfig | 3 + configs/favr-32-ezkit_defconfig | 4 + configs/gdppc440etx_defconfig | 2 + configs/grasshopper_defconfig | 4 + configs/hammerhead_defconfig | 4 + configs/highbank_defconfig | 3 + configs/hrcon_defconfig | 2 + configs/ids8313_defconfig | 3 + configs/intip_defconfig | 2 + configs/io64_defconfig | 2 + configs/io_defconfig | 2 + configs/iocon_defconfig | 2 + configs/ip04_defconfig | 1 + configs/motionpro_defconfig | 3 + configs/nokia_rx51_defconfig | 1 + configs/omap3_mvblx_defconfig | 2 + configs/ph1_ld4_defconfig | 4 + configs/ph1_pro4_defconfig | 4 + configs/ph1_sld8_defconfig | 4 + configs/pm9263_defconfig | 1 + configs/pxm2_defconfig | 3 + configs/rut_defconfig | 3 + configs/spear600_defconfig | 3 + configs/stv0991_defconfig | 3 + configs/x600_defconfig | 3 + configs/zmx25_defconfig | 4 + doc/README.autoboot | 10 --- include/configs/CPCI4052.h | 6 -- include/configs/PLU405.h | 9 --- include/configs/PMC405DE.h | 6 -- include/configs/PMC440.h | 6 -- include/configs/UCP1020.h | 11 --- include/configs/a4m072.h | 4 - include/configs/atngw100.h | 10 --- include/configs/atngw100mkii.h | 10 --- include/configs/atstk1002.h | 10 --- include/configs/atstk1003.h | 10 --- include/configs/atstk1004.h | 10 --- include/configs/atstk1006.h | 10 --- include/configs/bf537-stamp.h | 4 - include/configs/calimain.h | 2 - include/configs/cpuat91.h | 6 -- include/configs/digsy_mtc.h | 4 - include/configs/dlvision-10g.h | 2 - include/configs/favr-32-ezkit.h | 10 --- include/configs/gdppc440etx.h | 2 - include/configs/grasshopper.h | 10 --- include/configs/hammerhead.h | 10 --- include/configs/highbank.h | 4 +- include/configs/hrcon.h | 2 - include/configs/ids8313.h | 4 - include/configs/intip.h | 2 - include/configs/io.h | 2 - include/configs/io64.h | 2 - include/configs/iocon.h | 2 - include/configs/ip04.h | 1 - include/configs/motionpro.h | 6 -- include/configs/nokia_rx51.h | 1 - include/configs/o2dnt-common.h | 12 --- include/configs/omap3_mvblx.h | 2 - include/configs/pm9263.h | 1 - include/configs/siemens-am33x-common.h | 6 -- include/configs/spear-common.h | 4 - include/configs/stv0991.h | 5 +- include/configs/uniphier.h | 5 -- include/configs/x600.h | 4 - include/configs/zmx25.h | 4 - include/hash.h | 14 ++++ scripts/kconfig/confdata.c | 20 +++-- scripts/kconfig/symbol.c | 43 ----------- 98 files changed, 375 insertions(+), 321 deletions(-)
Signature · 1 line
2.4.1
PATCH v3 1/4 Kconfig: Enable usage of escape char '\' in string values
I might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via Kconfig to the code.
Right now its not possible to use the escape character '\' in Kconfig string values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.
The current implementation removes some of the '\' chars from the input string in conf_set_sym_val(). Examples:
'\' -> ''
'\\' -> '\'
'\\\' -> '\'
'\\\\' -> '\\'
...
And then doubles the backslash chars in the output string in sym_escape_string_value(). Example:
'\' -> '' -> ''
'\\' -> '\' -> '\\'
'\\\' -> '\' -> '\\'
'\\\\' -> '\\' -> '\\\\'
...
As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in conf_set_sym_val() and to not add new backslashes in the resulting output string. Removing the function sym_escape_string_value() completely as its not needed anymore.
---
Changes in v3: None
Changes in v2: None
scripts/kconfig/confdata.c | 20 +++++++++----------- scripts/kconfig/symbol.c | 43 ------------------------------------------- 2 files changed, 9 insertions(+), 54 deletions(-)
scripts/kconfig/confdata.c +9 -11
@@ -155,18 +155,14 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)case S_STRING :if (*p++ !='"' )break ; -for (p2 = p; (p2 =strpbrk (p2,"\"\\" )); p2++) { -if (*p2 =='"' ) { - *p2 =0 ; -break ; - } -memmove (p2, p2 +1 ,strlen (p2)); - } -if (!p2) { +/* Last char has to be a '"' */ +if (p[strlen (p) -1 ] !='"' ) {if (def !=S_DEF_AUTO )conf_warning ("invalid string found" );return 1 ; } +/* Overwrite '"' with \0 for string termination */ + p[strlen (p) -1 ] =0 ;/* fall through */ case S_INT :case S_HEX :
@@ -624,6 +620,7 @@ static void conf_write_symbol(FILE *fp, struct symbol *sym, struct conf_printer *printer, void *printer_arg) { const char *str; +char *str2;switch (sym->type) {case S_OTHER :
@@ -631,9 +628,10 @@ static void conf_write_symbol(FILE *fp, struct symbol *sym,break ;case S_STRING : str =sym_get_string_value (sym); - str =sym_escape_string_value (str); - printer->print_symbol (fp, sym, str, printer_arg); -free ((void *)str); + str2 =xmalloc (strlen (str) +2 ); +sprintf (str2,"\"%s\"" , str); + printer->print_symbol (fp, sym, str2, printer_arg); +free ((void *)str2);break ;default : str =sym_get_string_value (sym);
scripts/kconfig/symbol.c +0 -43
49 lines not on this page · raw message
Signature · 1 line
2.4.1
PATCH v3 1/4 Kconfig: Enable usage of escape char '\' in string values
Quoted 37 lines · Stefan Roese
I might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via
Kconfigto the code.Right now its not possible to use the escape character '\' in
Kconfigstring values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.The current implementation removes some of the '\' chars from the input string in
conf_set_sym_val(). Examples:'\' -> '' '\\' -> '\' '\\\' -> '\' '\\\\' -> '\\'...
And then doubles the backslash chars in the output string in
sym_escape_string_value(). Example:'\' -> '' -> '' '\\' -> '\' -> '\\' '\\\' -> '\' -> '\\' '\\\\' -> '\\' -> '\\\\'...
As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in
conf_set_sym_val()and to not add new backslashes in the resulting output string. Removing the functionsym_escape_string_value()completely as its not needed anymore.Signed-off-by Stefan Roese <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Simon Glass <[email protected]>
Quoted 8 lines
---
Changes in v3: None
Changes in v2: Nonescripts/kconfig/confdata.c | 20 +++++++++----------- scripts/kconfig/symbol.c | 43 ------------------------------------------- 2 files changed, 9 insertions(+), 54 deletions(-)
PATCH v3 1/4 Kconfig: Enable usage of escape char '\' in string values
In reply to Stefan RoeseQuoted 34 lines · Stefan Roese
I might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via
Kconfigto the code.Right now its not possible to use the escape character '\' in
Kconfigstring values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.The current implementation removes some of the '\' chars from the input string in
conf_set_sym_val(). Examples:'\' -> ''
'\\' -> '\'
'\\\' -> '\'
'\\\\' -> '\\'
...And then doubles the backslash chars in the output string in
sym_escape_string_value(). Example:'\' -> '' -> ''
'\\' -> '\' -> '\\'
'\\\' -> '\' -> '\\'
'\\\\' -> '\\' -> '\\\\'
...As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in
conf_set_sym_val()and to not add new backslashes in the resulting output string. Removing the functionsym_escape_string_value()completely as its not needed anymore.
Quoted 4 lines
Signed-off-by Stefan Roese <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Simon Glass <[email protected]>Reviewed-by Simon Glass <[email protected]>
This breaks a number of configs such as TZX-Q8-713B7_defconfig:
*** Error in `scripts/kconfig/conf': free(): invalid next size (fast):0x0000000002972420 ***
../scripts/kconfig/Makefile:111: recipe for target 'TZX-Q8-713B7_defconfig' failed
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150527/3b86b2a5/attachment.sig>
PATCH v3 1/4 Kconfig: Enable usage of escape char '\' in string values
Quoted 41 lines · Tom Rini
Quoted 34 lines · Stefan Roese
I might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via
Kconfigto the code.Right now its not possible to use the escape character '\' in
Kconfigstring values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.The current implementation removes some of the '\' chars from the input string in
conf_set_sym_val(). Examples:'\' -> ''
'\\' -> '\'
'\\\' -> '\'
'\\\\' -> '\\'
...And then doubles the backslash chars in the output string in
sym_escape_string_value(). Example:'\' -> '' -> ''
'\\' -> '\' -> '\\'
'\\\' -> '\' -> '\\'
'\\\\' -> '\\' -> '\\\\'
...As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in
conf_set_sym_val()and to not add new backslashes in the resulting output string. Removing the functionsym_escape_string_value()completely as its not needed anymore.Quoted 4 lines
Signed-off-by Stefan Roese <[email protected]>Cc Masahiro Yamada <[email protected]>Cc Simon Glass <[email protected]>Reviewed-by Simon Glass <[email protected]>
Quoted 4 lines
This breaks a number of configs such as TZX-Q8-713B7_defconfig:
*** Error in `scripts/kconfig/conf':free(): invalid next size (fast):0x0000000002972420***
../scripts/kconfig/Makefile:111: recipe for target 'TZX-Q8-713B7_defconfig' failed
Hmmm. I've not seen this error while running buildman for all ARM boards. Sorry about that. I'll work on a new version later today.
Thanks,
Stefan
PATCH v4 1/4 Kconfig: Enable usage of escape char '\' in string values
In reply to Stefan RoeseI might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via Kconfig to the code.
Right now its not possible to use the escape character '\' in Kconfig string values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.
The current implementation removes some of the '\' chars from the input string in conf_set_sym_val(). Examples:
'\' -> ''
'\\' -> '\'
'\\\' -> '\'
'\\\\' -> '\\'
...
And then doubles the backslash chars in the output string in sym_escape_string_value(). Example:
'\' -> '' -> ''
'\\' -> '\' -> '\\'
'\\\' -> '\' -> '\\'
'\\\\' -> '\\' -> '\\\\'
...
As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in conf_set_sym_val() and to not add new backslashes in the resulting output string. Removing the function sym_escape_string_value() completely as its not needed anymore.
---
v4:
- Fix problem with incorrect string malloc length (+1 for \0) resulting in this error reported by Tom:
*** Error in `scripts/kconfig/conf': free(): invalid next size (fast):
scripts/kconfig/confdata.c | 20 +++++++++----------- scripts/kconfig/symbol.c | 43 ------------------------------------------- 2 files changed, 9 insertions(+), 54 deletions(-)
scripts/kconfig/confdata.c +9 -11
@@ -155,18 +155,14 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)case S_STRING :if (*p++ !='"' )break ; -for (p2 = p; (p2 =strpbrk (p2,"\"\\" )); p2++) { -if (*p2 =='"' ) { - *p2 =0 ; -break ; - } -memmove (p2, p2 +1 ,strlen (p2)); - } -if (!p2) { +/* Last char has to be a '"' */ +if (p[strlen (p) -1 ] !='"' ) {if (def !=S_DEF_AUTO )conf_warning ("invalid string found" );return 1 ; } +/* Overwrite '"' with \0 for string termination */ + p[strlen (p) -1 ] =0 ;/* fall through */ case S_INT :case S_HEX :
@@ -624,6 +620,7 @@ static void conf_write_symbol(FILE *fp, struct symbol *sym, struct conf_printer *printer, void *printer_arg) { const char *str; +char *str2;switch (sym->type) {case S_OTHER :
@@ -631,9 +628,10 @@ static void conf_write_symbol(FILE *fp, struct symbol *sym,break ;case S_STRING : str =sym_get_string_value (sym); - str =sym_escape_string_value (str); - printer->print_symbol (fp, sym, str, printer_arg); -free ((void *)str); + str2 =xmalloc (strlen (str) +3 ); +sprintf (str2,"\"%s\"" , str); + printer->print_symbol (fp, sym, str2, printer_arg); +free ((void *)str2);break ;default : str =sym_get_string_value (sym);
scripts/kconfig/symbol.c +0 -43
49 lines not on this page · raw message
Signature · 1 line
2.4.2
PATCH v4 1/4 Kconfig: Enable usage of escape char '\' in string values
Quoted 34 lines · Stefan Roese
I might have missed something, but I failed to use the escape char '\' in strings. To pass a printf format string like "foo %d bar\n" via
Kconfigto the code.Right now its not possible to use the escape character '\' in
Kconfigstring values correctly to e.g. set this string value "test output\n". The '\n' will be converted to 'n'.The current implementation removes some of the '\' chars from the input string in
conf_set_sym_val(). Examples:'\' -> ''
'\\' -> '\'
'\\\' -> '\'
'\\\\' -> '\\'
...And then doubles the backslash chars in the output string in
sym_escape_string_value(). Example:'\' -> '' -> ''
'\\' -> '\' -> '\\'
'\\\' -> '\' -> '\\'
'\\\\' -> '\\' -> '\\\\'
...As you see in these examples, its impossible to generate a single '\' charater in the output string as its needed for something like '\n'.
This patch now changes this behavior to not drop some backslashes in
conf_set_sym_val()and to not add new backslashes in the resulting output string. Removing the functionsym_escape_string_value()completely as its not needed anymore.
Quoted 4 lines
Signed-off-by Stefan Roese <[email protected]>Cc Masahiro Yamada <[email protected]>Reviewed-by Simon Glass <[email protected]>Cc Tom Rini <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150608/3e5da4b5/attachment.sig>
PATCH v3 2/4 autoboot.c: Remove CONFIG_AUTOBOOT_STOP_STR2 and CONFIG_AUTOBOOT_DELAY_STR2
In reply to Stefan RoeseThese defines for a 2nd autoboot stop and delay string are nearly unused. Only sc3 defines CONFIG_AUTOBOOT_DELAY_STR2. And a patch to remove this most likely unmaintained board is also posted to the list.
By removing these defines the code will become cleaner and moving the remaining compile options to Kconfig will get easier.
---
Changes in v3:
- Added some Acked-by's / Reviewed-by's
Changes in v2: None
README | 2 -- common/autoboot.c | 14 ++------------ doc/README.autoboot | 10 ---------- 3 files changed, 2 insertions(+), 24 deletions(-)
README +0 -2
@@ -974,8 +974,6 @@ The following options need to be configured: CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR - CONFIG_AUTOBOOT_DELAY_STR2 - CONFIG_AUTOBOOT_STOP_STR2 CONFIG_ZERO_BOOTDELAY_CHECK CONFIG_RESET_TO_RETRY
common/autoboot.c +2 -12
@@ -42,9 +42,7 @@ static int abortboot_keyed(int bootdelay) } delaykey[] = { { .str = getenv("bootdelaykey"), .retry = 1 }, - { .str = getenv("bootdelaykey2"), .retry = 1 }, { .str = getenv("bootstopkey"), .retry = 0 }, - { .str = getenv("bootstopkey2"), .retry = 0 }, }; char presskey[MAX_DELAY_STOP_STR];
@@ -65,17 +63,9 @@ static int abortboot_keyed(int bootdelay)if (delaykey[0 ].str ==NULL ) delaykey[0 ].str =CONFIG_AUTOBOOT_DELAY_STR ;# endif -# ifdef CONFIG_AUTOBOOT_DELAY_STR2 -if (delaykey[1 ].str ==NULL ) - delaykey[1 ].str =CONFIG_AUTOBOOT_DELAY_STR2 ; -# endif # ifdef CONFIG_AUTOBOOT_STOP_STR -if (delaykey[2 ].str ==NULL ) - delaykey[2 ].str =CONFIG_AUTOBOOT_STOP_STR ; -# endif -# ifdef CONFIG_AUTOBOOT_STOP_STR2 -if (delaykey[3 ].str ==NULL ) - delaykey[3 ].str =CONFIG_AUTOBOOT_STOP_STR2 ; +if (delaykey[1 ].str ==NULL ) + delaykey[1 ].str =CONFIG_AUTOBOOT_STOP_STR ;# endif for (i =0 ; i <sizeof (delaykey) /sizeof (delaykey[0 ]); i++) {
doc/README.autoboot +0 -10
@@ -78,13 +78,9 @@ What they do CONFIG_AUTOBOOT_PROMPT CONFIG_AUTOBOOT_DELAY_STR CONFIG_AUTOBOOT_STOP_STR - CONFIG_AUTOBOOT_DELAY_STR2 - CONFIG_AUTOBOOT_STOP_STR2 "bootdelaykey" environment variable "bootstopkey" environment variable - "bootdelaykey2" environment variable - "bootstopkey2" environment variable These options give more control over stopping autoboot. When they are used a specific character or string is required to
@@ -130,12 +126,6 @@ What they do character of a key string does not appear in the rest of the string. - Using the CONFIG_AUTOBOOT_DELAY_STR2 #define or the - "bootdelaykey2" environment variable and/or the - CONFIG_AUTOBOOT_STOP_STR2 #define or the "bootstopkey" - environment variable you can specify a second, alternate - string (which allows you to have two "password" strings). - The CONFIG_AUTOBOOT_KEYED_CTRLC #define allows for the boot sequence to be interrupted by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". Setting this variable
Signature · 1 line
2.4.1
PATCH v3 2/4 autoboot.c: Remove CONFIG_AUTOBOOT_STOP_STR2 and CONFIG_AUTOBOOT_DELAY_STR2
Quoted 4 lines · Stefan Roese
These defines for a 2nd autoboot stop and delay string are nearly unused. Only sc3 defines
CONFIG_AUTOBOOT_DELAY_STR2. And a patch to remove this most likely unmaintained board is also posted to the list.
Quoted 8 lines
By removing these defines the code will become cleaner and moving the remaining compile options to
Kconfigwill get easier.Signed-off-by Stefan Roese <[email protected]>Reviewed-by Tom Rini <[email protected]>Reviewed-by Simon Glass <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Heiko Schocher <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150608/3c4c5a02/attachment.sig>
PATCH v3 3/4 autoboot.c: Move config options to Kconfig
In reply to Stefan RoeseThis patch moves the following config options to Kconfig:
CONFIG_AUTOBOOT_KEYEDCONFIG_AUTOBOOT_PROMPTCONFIG_AUTOBOOT_DELAY_STRCONFIG_AUTOBOOT_STOP_STRAUTOBOOT_KEYED_CTRLC
---
Changes in v3:
- Added additional backslash to the default CONFIG_AUTOBOOT_PROMPT string as this seems to be needed for the parser
- Added some Acked-by's / Reviewed-by's
Changes in v2: None
common/Kconfig | 64 ++++++++++++++++++++++++++++++++ common/autoboot.c | 6 ++- configs/CPCI4052_defconfig | 3 ++ configs/O2DNT2_RAMBOOT_defconfig | 3 ++ configs/O2DNT2_defconfig | 3 ++ configs/PLU405_defconfig | 3 ++ configs/PMC405DE_defconfig | 3 ++ configs/PMC440_defconfig | 3 ++ configs/UCP1020_SPIFLASH_defconfig | 3 ++ configs/UCP1020_defconfig | 3 ++ configs/a4m072_defconfig | 3 ++ configs/atngw100_defconfig | 4 ++ configs/atngw100mkii_defconfig | 4 ++ configs/atstk1002_defconfig | 4 ++ configs/atstk1003_defconfig | 4 ++ configs/atstk1004_defconfig | 4 ++ configs/atstk1006_defconfig | 4 ++ configs/calimain_defconfig | 2 + configs/cpuat91_defconfig | 4 ++ configs/cpuat91_ram_defconfig | 3 ++ configs/digsy_mtc_RAMBOOT_defconfig | 3 ++ configs/digsy_mtc_defconfig | 3 ++ configs/digsy_mtc_rev5_RAMBOOT_defconfig | 3 ++ configs/digsy_mtc_rev5_defconfig | 3 ++ configs/dlvision-10g_defconfig | 2 + configs/draco_defconfig | 3 ++ configs/dxr2_defconfig | 3 ++ configs/favr-32-ezkit_defconfig | 4 ++ configs/gdppc440etx_defconfig | 2 + configs/grasshopper_defconfig | 4 ++ configs/hammerhead_defconfig | 4 ++ configs/highbank_defconfig | 3 ++ configs/hrcon_defconfig | 2 + configs/ids8313_defconfig | 3 ++ configs/intip_defconfig | 2 + configs/io64_defconfig | 2 + configs/io_defconfig | 2 + configs/iocon_defconfig | 2 + configs/ip04_defconfig | 1 + configs/motionpro_defconfig | 3 ++ configs/nokia_rx51_defconfig | 1 + configs/omap3_mvblx_defconfig | 2 + configs/ph1_ld4_defconfig | 4 ++ configs/ph1_pro4_defconfig | 4 ++ configs/ph1_sld8_defconfig | 4 ++ configs/pm9263_defconfig | 1 + configs/pxm2_defconfig | 3 ++ configs/rut_defconfig | 3 ++ configs/spear600_defconfig | 3 ++ configs/stv0991_defconfig | 3 ++ configs/x600_defconfig | 3 ++ configs/zmx25_defconfig | 4 ++ include/configs/CPCI4052.h | 6 --- include/configs/PLU405.h | 9 ----- include/configs/PMC405DE.h | 6 --- include/configs/PMC440.h | 6 --- include/configs/UCP1020.h | 11 ------ include/configs/a4m072.h | 4 -- include/configs/atngw100.h | 10 ----- include/configs/atngw100mkii.h | 10 ----- include/configs/atstk1002.h | 10 ----- include/configs/atstk1003.h | 10 ----- include/configs/atstk1004.h | 10 ----- include/configs/atstk1006.h | 10 ----- include/configs/bf537-stamp.h | 4 -- include/configs/calimain.h | 2 - include/configs/cpuat91.h | 6 --- include/configs/digsy_mtc.h | 4 -- include/configs/dlvision-10g.h | 2 - include/configs/favr-32-ezkit.h | 10 ----- include/configs/gdppc440etx.h | 2 - include/configs/grasshopper.h | 10 ----- include/configs/hammerhead.h | 10 ----- include/configs/highbank.h | 4 +- include/configs/hrcon.h | 2 - include/configs/ids8313.h | 4 -- include/configs/intip.h | 2 - include/configs/io.h | 2 - include/configs/io64.h | 2 - include/configs/iocon.h | 2 - include/configs/ip04.h | 1 - include/configs/motionpro.h | 6 --- include/configs/nokia_rx51.h | 1 - include/configs/o2dnt-common.h | 12 ------ include/configs/omap3_mvblx.h | 2 - include/configs/pm9263.h | 1 - include/configs/siemens-am33x-common.h | 6 --- include/configs/spear-common.h | 4 -- include/configs/stv0991.h | 5 +-- include/configs/uniphier.h | 5 --- include/configs/x600.h | 4 -- include/configs/zmx25.h | 4 -- 92 files changed, 220 insertions(+), 220 deletions(-)
common/Kconfig +64 -0
@@ -17,6 +17,70 @@ config SYS_HUSH_PARSER help Backward compatibility. +menu "Autoboot options" + +config AUTOBOOT_KEYED + bool "Stop autobooting via specific input key / string" + default n + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If not enabled, any input key will abort the + U-Boot automatic booting process and bring the device + to the U-Boot prompt for user input. + +config AUTOBOOT_PROMPT + string "Autoboot stop prompt" + depends on AUTOBOOT_KEYED + default "Autoboot in %d seconds\\n" + help + This string is displayed before the boot delay selected by + CONFIG_BOOTDELAY starts. If it is not defined there is no + output indicating that autoboot is in progress. + + Note that this define is used as the (only) argument to a + printf() call, so it may contain '%' format specifications, + provided that it also includes, sepearated by commas exactly + like in a printf statement, the required arguments. It is + the responsibility of the user to select only such arguments + that are valid in the given context. + +config AUTOBOOT_DELAY_STR + string "Delay autobooting via specific input key / string" + depends on AUTOBOOT_KEYED + help + This option delays the automatic boot feature by issuing + a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR + or the environment variable "bootdelaykey" is specified + and this string is received from console input before + autoboot starts booting, U-Boot gives a command prompt. The + U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is + used, otherwise it never times out. + +config AUTOBOOT_STOP_STR + string "Stop autobooting via specific input key / string" + depends on AUTOBOOT_KEYED + help + This option enables stopping (aborting) of the automatic + boot feature only by issuing a specific input key or + string. If CONFIG_AUTOBOOT_STOP_STR or the environment + variable "bootstopkey" is specified and this string is + received from console input before autoboot starts booting, + U-Boot gives a command prompt. The U-Boot prompt never + times out, even if CONFIG_BOOT_RETRY_TIME is used. + +config AUTOBOOT_KEYED_CTRLC + bool "Enable Ctrl-C autoboot interruption" + depends on AUTOBOOT_KEYED + default n + help + This option allows for the boot sequence to be interrupted + by ctrl-c, in addition to the "bootdelaykey" and "bootstopkey". + Setting this variable provides an escape sequence from the + limited "password" strings. + +endmenu + comment "Commands" menu "Info commands"
common/autoboot.c +5 -1
@@ -56,7 +56,11 @@ static int abortboot_keyed(int bootdelay)#endif # ifdef CONFIG_AUTOBOOT_PROMPT -printf (CONFIG_AUTOBOOT_PROMPT ); +/* +* CONFIG_AUTOBOOT_PROMPT includes the %d for all boards. +* To print the bootdelay value upon bootup. +*/ +printf (CONFIG_AUTOBOOT_PROMPT , bootdelay);# endif # ifdef CONFIG_AUTOBOOT_DELAY_STR
configs/CPCI4052_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_CPCI4052=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/O2DNT2_RAMBOOT_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_O2DNT2=y CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000" +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="++++++++++" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press password to stop\n"
configs/O2DNT2_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_O2DNT2=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="++++++++++" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press password to stop\n"
configs/PLU405_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_PLU405=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/PMC405DE_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_PMC405DE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/PMC440_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_PMC440=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/UCP1020_SPIFLASH_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_PPC=y CONFIG_MPC85xx=y CONFIG_TARGET_UCP1020=y CONFIG_TARGET_UCP1020_SPIFLASH=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc>\" to stop\n" +CONFIG_AUTOBOOT_STOP_STR="\x1b"
configs/UCP1020_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_MPC85xx=y CONFIG_TARGET_UCP1020=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc>\" to stop\n" +CONFIG_AUTOBOOT_STOP_STR="\x1b"
configs/a4m072_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_A4M072=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="asdfg" +CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n"
configs/atngw100_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATNGW100=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/atngw100mkii_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATNGW100MKII=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/atstk1002_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATSTK1002=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/atstk1003_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATSTK1003=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/atstk1004_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATSTK1004=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/atstk1006_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_ATSTK1006=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/calimain_defconfig +2 -0
@@ -1,3 +1,5 @@ CONFIG_ARM=y CONFIG_ARCH_DAVINCI=y CONFIG_TARGET_CALIMAIN=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x0b"
configs/cpuat91_defconfig +4 -0
@@ -1,3 +1,7 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_CPUAT91=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/cpuat91_ram_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_CPUAT91=y CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/digsy_mtc_RAMBOOT_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_DIGSY_MTC=y CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot\n"
configs/digsy_mtc_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_DIGSY_MTC=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR=" " +CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n"
configs/digsy_mtc_rev5_RAMBOOT_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_DIGSY_MTC=y CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000,DIGSY_REV5" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot\n"
configs/digsy_mtc_rev5_defconfig +3 -0
@@ -2,3 +2,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_DIGSY_MTC=y CONFIG_SYS_EXTRA_OPTIONS="DIGSY_REV5" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot\n"
configs/dlvision-10g_defconfig +2 -0
@@ -2,3 +2,5 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_DLVISION_10G=y CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/draco_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_DRACO=y CONFIG_SPL=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
configs/dxr2_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_DXR2=y CONFIG_SPL=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
configs/favr-32-ezkit_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_FAVR_32_EZKIT=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/gdppc440etx_defconfig +2 -0
@@ -2,3 +2,5 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_GDPPC440ETX=y CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/grasshopper_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_GRASSHOPPER=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n"
configs/hammerhead_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_AVR32=y CONFIG_TARGET_HAMMERHEAD=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds"
configs/highbank_defconfig +3 -0
@@ -1,2 +1,5 @@ CONFIG_ARM=y CONFIG_ARCH_HIGHBANK=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_KEYED_CTRLC=y +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds...\nPress <s> to stop or <d> to delay\n"
configs/hrcon_defconfig +2 -0
@@ -1,3 +1,5 @@ CONFIG_PPC=y CONFIG_MPC83xx=y CONFIG_TARGET_HRCON=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/ids8313_defconfig +3 -0
@@ -4,3 +4,6 @@ CONFIG_TARGET_IDS8313=y CONFIG_FIT=y CONFIG_FIT_SIGNATURE=y CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFF00000" +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_DELAY_STR="ids" +CONFIG_AUTOBOOT_PROMPT="Enter password - autoboot in %d seconds...\n"
configs/intip_defconfig +2 -0
@@ -3,3 +3,5 @@ CONFIG_4xx=y CONFIG_TARGET_INTIP=y CONFIG_SYS_EXTRA_OPTIONS="INTIB" CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/io64_defconfig +2 -0
@@ -2,3 +2,5 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_IO64=y CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/io_defconfig +2 -0
@@ -2,3 +2,5 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_IO=y CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/iocon_defconfig +2 -0
@@ -2,3 +2,5 @@ CONFIG_PPC=y CONFIG_4xx=y CONFIG_TARGET_IOCON=y CONFIG_REGEX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" "
configs/ip04_defconfig +1 -0
@@ -1,3 +1,4 @@ CONFIG_BLACKFIN=y CONFIG_TARGET_IP04=y CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y +CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n"
configs/motionpro_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_PPC=y CONFIG_MPC5xxx=y CONFIG_TARGET_MOTIONPRO=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
configs/nokia_rx51_defconfig +1 -0
@@ -1,3 +1,4 @@ CONFIG_ARM=y CONFIG_OMAP34XX=y CONFIG_TARGET_NOKIA_RX51=y +CONFIG_AUTOBOOT_KEYED=y
configs/omap3_mvblx_defconfig +2 -0
@@ -1,3 +1,5 @@ CONFIG_ARM=y CONFIG_OMAP34XX=y CONFIG_TARGET_OMAP3_MVBLX=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="S"
configs/ph1_ld4_defconfig +4 -0
@@ -38,3 +38,7 @@ CONFIG_UNIPHIER_SERIAL=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" "
configs/ph1_pro4_defconfig +4 -0
@@ -38,3 +38,7 @@ CONFIG_UNIPHIER_SERIAL=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_STORAGE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" "
configs/ph1_sld8_defconfig +4 -0
@@ -38,3 +38,7 @@ CONFIG_UNIPHIER_SERIAL=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_STORAGE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" +CONFIG_AUTOBOOT_DELAY_STR="d" +CONFIG_AUTOBOOT_STOP_STR=" "
configs/pm9263_defconfig +1 -0
@@ -2,3 +2,4 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_PM9263=y CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263" +CONFIG_AUTOBOOT_PROMPT="autoboot in %d seconds\n"
configs/pxm2_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_PXM2=y CONFIG_SPL=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
configs/rut_defconfig +3 -0
@@ -1,3 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_RUT=y CONFIG_SPL=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR="\x1b\x1b" +CONFIG_AUTOBOOT_PROMPT="Autobooting in %d seconds, press \"<Esc><Esc>\" to stop\n"
configs/spear600_defconfig +3 -0
@@ -4,3 +4,6 @@ CONFIG_NET=y CONFIG_NETDEVICES=y CONFIG_SYS_EXTRA_OPTIONS="spear600" CONFIG_ETH_DESIGNWARE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Hit SPACE in %d seconds to stop autoboot.\n" +CONFIG_AUTOBOOT_STOP_STR=" "
configs/stv0991_defconfig +3 -0
@@ -6,3 +6,6 @@ CONFIG_NETDEVICES=y CONFIG_DEFAULT_DEVICE_TREE="stv0991" CONFIG_SYS_EXTRA_OPTIONS="stv0991" CONFIG_ETH_DESIGNWARE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_STOP_STR=" " +CONFIG_AUTOBOOT_PROMPT="Hit SPACE in %d seconds to stop autoboot.\n"
configs/x600_defconfig +3 -0
@@ -4,3 +4,6 @@ CONFIG_NET=y CONFIG_NETDEVICES=y CONFIG_SPL=y CONFIG_ETH_DESIGNWARE=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="Hit SPACE in %d seconds to stop autoboot.\n" +CONFIG_AUTOBOOT_STOP_STR=" "
configs/zmx25_defconfig +4 -0
@@ -1,2 +1,6 @@ CONFIG_ARM=y CONFIG_TARGET_ZMX25=y +CONFIG_AUTOBOOT_KEYED=y +CONFIG_AUTOBOOT_PROMPT="boot in %d s\n" +CONFIG_AUTOBOOT_DELAY_STR="delaygs" +CONFIG_AUTOBOOT_STOP_STR="stopgs"
include/configs/CPCI4052.h +0 -6
@@ -141,12 +141,6 @@#define CONFIG_VERSION_VARIABLE 1/* include version env variable */ -#define CONFIG_AUTOBOOT_KEYED 1 -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#undef CONFIG_AUTOBOOT_DELAY_STR -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_SYS_RX_ETH_BUFFER 16/* use 16 rx buffer on 405 emac */ /*-----------------------------------------------------------------------
include/configs/PLU405.h +0 -9
@@ -138,15 +138,6 @@#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_BOOTDELAY 3/* autoboot after 3 seconds */ -/* Only interrupt boot if space is pressed */ -/* If a long serial cable is connected but */ -/* other end is dead, garbage will be read */ -#define CONFIG_AUTOBOOT_KEYED 1 -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#undef CONFIG_AUTOBOOT_DELAY_STR -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_VERSION_VARIABLE 1/* include version env variable */ #define CONFIG_SYS_RX_ETH_BUFFER 16/* use 16 rx buffer on 405 emac */
include/configs/PMC405DE.h +0 -6
@@ -110,12 +110,6 @@#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_VERSION_VARIABLE 1/* include version env variable */ -#define CONFIG_AUTOBOOT_KEYED 1 -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#undef CONFIG_AUTOBOOT_DELAY_STR -#define CONFIG_AUTOBOOT_STOP_STR " " -/* * PCI stuff */
include/configs/PMC440.h +0 -6
@@ -332,12 +332,6 @@#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_VERSION_VARIABLE 1/* include version env variable */ -#define CONFIG_AUTOBOOT_KEYED 1 -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#undef CONFIG_AUTOBOOT_DELAY_STR -#define CONFIG_AUTOBOOT_STOP_STR " " -/*----------------------------------------------------------------------- * PCI stuff *----------------------------------------------------------------------*/
include/configs/UCP1020.h +0 -11
@@ -628,17 +628,6 @@/* default location for tftp and bootm */ #define CONFIG_LOADADDR 1000000 -/* -* Autobooting -*/ -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR "\x1b" -#define DEBUG_BOOTKEYS 0 -#undef CONFIG_AUTOBOOT_DELAY_STR -#undef CONFIG_BOOTARGS -#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, " \ - "press \"<Esc>\" to stop\n", bootdelay -#define CONFIG_BOOTARGS /* the boot command will set bootargs */ #define CONFIG_BAUDRATE 115200
include/configs/a4m072.h +0 -4
@@ -123,10 +123,6 @@#define CONFIG_SYS_AUTOLOAD "n" -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "asdfg" -#undef CONFIG_BOOTARGS#define CONFIG_PREBOOT "run try_update"
include/configs/atngw100.h +0 -10
@@ -59,17 +59,7 @@#define CONFIG_BOOTCOMMAND \ "fsload; bootm" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/atngw100mkii.h +0 -10
@@ -82,17 +82,7 @@#define CONFIG_BOOTCOMMAND \ "fsload 0x10400000 /uImage; bootm" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/atstk1002.h +0 -10
@@ -79,17 +79,7 @@#define CONFIG_BOOTCOMMAND \ "fsload; bootm $(fileaddr)" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/atstk1003.h +0 -10
@@ -79,17 +79,7 @@#define CONFIG_BOOTCOMMAND \ "mmc rescan; ext2load mmc 0:1 0x10400000 /boot/uImage; bootm" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Command line configuration.
include/configs/atstk1004.h +0 -10
@@ -79,17 +79,7 @@#define CONFIG_BOOTCOMMAND \ "mmc rescan; ext2load mmc 0:1 0x10200000 /boot/uImage; bootm" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Command line configuration.
include/configs/atstk1006.h +0 -10
@@ -80,17 +80,7 @@#define CONFIG_BOOTCOMMAND \ "fsload; bootm $(fileaddr)" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/bf537-stamp.h +0 -4
@@ -272,10 +272,6 @@/* These are for board tests */ #if 0 #define CONFIG_BOOTCOMMAND "bootldr 0x203f0100" -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "autoboot in %d seconds: press space to stop\n", bootdelay -#define CONFIG_AUTOBOOT_STOP_STR " "#endif
include/configs/calimain.h +0 -2
@@ -221,8 +221,6 @@#define CONFIG_BOOTDELAY 0#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_BOOT_RETRY_TIME 60/* continue boot after 60 s inactivity */ -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_DELAY_STR "\x0d"/* press ENTER to interrupt BOOT */ #define CONFIG_RESET_TO_RETRY /*
include/configs/cpuat91.h +0 -6
@@ -195,12 +195,6 @@#define CONFIG_DEVICE_NULLDEV #define CONFIG_SILENT_CONSOLE -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot\n" -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_VERSION_VARIABLE #define MTDIDS_DEFAULT "nor0=physmap-flash.0"
include/configs/digsy_mtc.h +0 -4
@@ -396,10 +396,6 @@#define CONFIG_CMDLINE_EDITING 1#define CONFIG_SYS_HUSH_PARSER -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR " " -#define CONFIG_LOOPW 1#define CONFIG_MX_CYCLIC 1#define CONFIG_ZERO_BOOTDELAY_CHECK
include/configs/dlvision-10g.h +0 -2
@@ -29,8 +29,6 @@#define CONFIG_SYS_CLK_FREQ 33333333/* external frequency to pll */ #undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Configure PLL
include/configs/favr-32-ezkit.h +0 -10
@@ -80,17 +80,7 @@#define CONFIG_BOOTCOMMAND \ "fsload; bootm $(fileaddr)" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/gdppc440etx.h +0 -2
@@ -35,8 +35,6 @@#define CONFIG_SYS_GENERIC_BOARD #undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Base addresses -- Note these are effective addresses where the
include/configs/grasshopper.h +0 -10
@@ -75,17 +75,7 @@#define CONFIG_BAUDRATE 115200 -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "Press SPACE to abort autoboot in %d" \ - " seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet addresses
include/configs/hammerhead.h +0 -10
@@ -60,17 +60,7 @@#define CONFIG_BOOTCOMMAND \ "fsload; bootm" -/* -* Only interrupt autoboot if <space> is pressed. Otherwise, garbage -* data on the serial line may interrupt the boot sequence. -*/ #define CONFIG_BOOTDELAY 1 -#define CONFIG_AUTOBOOT -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * After booting the board for the first time, new ethernet address
include/configs/highbank.h +1 -3
@@ -63,9 +63,7 @@#define CONFIG_BOOT_RETRY_TIME -1#define CONFIG_RESET_TO_RETRY -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds...\nPress <s> to stop or <d> to delay\n", bootdelay -#define CONFIG_AUTOBOOT_KEYED_CTRLC +/* * Miscellaneous configurable options */
include/configs/hrcon.h +0 -2
@@ -491,8 +491,6 @@ int fpga_gpio_get(unsigned int bus, int pin);#define CONFIG_SYS_HZ 1000/* decrementer freq: 1ms ticks */ #undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "#define CONFIG_SYS_CBSIZE 1024/* Console I/O Buffer Size */
include/configs/ids8313.h +0 -4
@@ -25,10 +25,6 @@#define CONFIG_MISC_INIT_R -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT \ - "\nEnter password - autoboot in %d seconds...\n", CONFIG_BOOTDELAY -#define CONFIG_AUTOBOOT_DELAY_STR "ids"#define CONFIG_BOOT_RETRY_TIME 900#define CONFIG_BOOT_RETRY_MIN 30#define CONFIG_BOOTDELAY 1
include/configs/intip.h +0 -2
@@ -51,8 +51,6 @@#define CFG_ALT_MEMTEST #undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Base addresses -- Note these are effective addresses where the
include/configs/io.h +0 -2
@@ -35,8 +35,6 @@#define PLLMR1_DEFAULT PLLMR1_266_133_66#undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* new uImage format support */ #define CONFIG_FIT
include/configs/io64.h +0 -2
@@ -46,8 +46,6 @@#define CONFIG_SYS_GENERIC_BOARD #undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* new uImage format support */ #define CONFIG_FIT
include/configs/iocon.h +0 -2
@@ -34,8 +34,6 @@#define PLLMR1_DEFAULT PLLMR1_266_133_66#undef CONFIG_ZERO_BOOTDELAY_CHECK/* ignore keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ -#define CONFIG_AUTOBOOT_STOP_STR " "/* new uImage format support */ #define CONFIG_FIT
include/configs/ip04.h +0 -1
@@ -138,7 +138,6 @@/* Enable this if bootretry required; currently it's disabled */ #define CONFIG_BOOT_RETRY_TIME -1#define CONFIG_BOOTCOMMAND "run nandboot" -#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n"/*
include/configs/motionpro.h +0 -6
@@ -73,13 +73,7 @@* Autobooting */ #define CONFIG_BOOTDELAY 2/* autoboot after 2 seconds */ -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR "\x1b\x1b" -#define DEBUG_BOOTKEYS 0 -#undef CONFIG_AUTOBOOT_DELAY_STR#undef CONFIG_BOOTARGS -#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, " \ - "press \"<Esc><Esc>\" to stop\n", bootdelay#define CONFIG_CMDLINE_EDITING 1/* add command line history */ #define CONFIG_SYS_HUSH_PARSER 1/* use "hush" command parser */
include/configs/nokia_rx51.h +0 -1
@@ -397,7 +397,6 @@ int rx51_kp_getc(struct stdio_dev *sdev); "echo"#define CONFIG_BOOTDELAY 30 -#define CONFIG_AUTOBOOT_KEYED #define CONFIG_MENU #define CONFIG_MENU_SHOW
include/configs/o2dnt-common.h +0 -12
@@ -98,18 +98,6 @@#error "CONFIG_SYS_TEXT_BASE value is invalid"#endif -/* -* Autobooting -* Be selective on what keys can delay or stop the autoboot process -* To stop use: "++++++++++" -*/ -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, " \ - "press password to stop\n", bootdelay -#define CONFIG_AUTOBOOT_STOP_STR "++++++++++" -#undef CONFIG_AUTOBOOT_DELAY_STR -#define DEBUG_BOOTKEYS 0 -#define CONFIG_BOOTDELAY 5/* autoboot after 5 seconds */ #define CONFIG_PREBOOT "run master"
include/configs/omap3_mvblx.h +0 -2
@@ -145,8 +145,6 @@#undef CONFIG_ENV_OVERWRITE/* disallow overwriting serial# and ethaddr */ #define CONFIG_BOOTDELAY 0#define CONFIG_ZERO_BOOTDELAY_CHECK -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR "S"#define CONFIG_EXTRA_ENV_SETTINGS \ "silent=true\0" \
include/configs/pm9263.h +0 -1
@@ -339,7 +339,6 @@#define CONFIG_BOOTCOMMAND "run flashboot"#define CONFIG_ROOTPATH "/ronetix/rootfs" -#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds\n", bootdelay#define CONFIG_CON_ROT "fbcon=rotate:3 "#define CONFIG_BOOTARGS "root=/dev/mtdblock4 rootfstype=jffs2 "\
include/configs/siemens-am33x-common.h +0 -6
@@ -478,12 +478,6 @@/* Watchdog */ #define CONFIG_HW_WATCHDOG -/* Stop autoboot with ESC ESC key detected */ -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR "\x1b\x1b" -#define CONFIG_AUTOBOOT_PROMPT "Autobooting in %d seconds, " \ - "press \"<Esc><Esc>\" to stop\n", bootdelay -/* Reboot after 60 sec if bootcmd fails */ #define CONFIG_RESET_TO_RETRY #define CONFIG_BOOT_RETRY_TIME 60
include/configs/spear-common.h +0 -4
@@ -202,10 +202,6 @@#define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_MISC_INIT_R #define CONFIG_ZERO_BOOTDELAY_CHECK -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_AUTOBOOT_PROMPT \ - "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay#define CONFIG_SYS_MEMTEST_START 0x00800000#define CONFIG_SYS_MEMTEST_END 0x04000000
include/configs/stv0991.h +1 -4
@@ -75,10 +75,7 @@#define CONFIG_BOOTDELAY 3#define CONFIG_BOOTCOMMAND "go 0x40040000" -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_AUTOBOOT_PROMPT \ - "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay +#define CONFIG_OF_SEPARATE #define CONFIG_OF_CONTROL #define CONFIG_OF_LIBFDT
include/configs/uniphier.h +0 -5
@@ -200,11 +200,6 @@#define CONFIG_BOOTDELAY 3#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ -#define CONFIG_AUTOBOOT_KEYED 1 -#define CONFIG_AUTOBOOT_PROMPT \ - "Press SPACE to abort autoboot in %d seconds\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "d" -#define CONFIG_AUTOBOOT_STOP_STR " "/* * Network Configuration
include/configs/x600.h +0 -4
@@ -153,10 +153,6 @@#define CONFIG_LOOPW /* enable loopw command */ #define CONFIG_MX_CYCLIC /* enable mdc/mwc commands */ #define CONFIG_ZERO_BOOTDELAY_CHECK -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_STOP_STR " " -#define CONFIG_AUTOBOOT_PROMPT \ - "Hit SPACE in %d seconds to stop autoboot.\n", bootdelay#define CONFIG_SYS_MEMTEST_START 0x00800000#define CONFIG_SYS_MEMTEST_END 0x04000000
include/configs/zmx25.h +0 -4
@@ -151,10 +151,6 @@#define CONFIG_PREBOOT ""#define CONFIG_BOOTDELAY 5 -#define CONFIG_AUTOBOOT_KEYED -#define CONFIG_AUTOBOOT_PROMPT "boot in %d s\n", bootdelay -#define CONFIG_AUTOBOOT_DELAY_STR "delaygs" -#define CONFIG_AUTOBOOT_STOP_STR "stopgs"/* * Size of malloc() pool
Signature · 1 line
2.4.1
PATCH v3 3/4 autoboot.c: Move config options to Kconfig
Quoted 11 lines · Stefan Roese
This patch moves the following config options to
Kconfig:
CONFIG_AUTOBOOT_KEYEDCONFIG_AUTOBOOT_PROMPTCONFIG_AUTOBOOT_DELAY_STRCONFIG_AUTOBOOT_STOP_STRAUTOBOOT_KEYED_CTRLCSigned-off-by Stefan Roese <[email protected]>Reviewed-by Simon Glass <[email protected]>Cc Masahiro Yamada <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150608/0b2d7e5c/attachment.sig>
PATCH v3 4/4 autoboot.c: Add feature to stop autobooting via SHA256 encrypted password
In reply to Stefan RoeseThis patch adds the feature to only stop the autobooting, and therefor boot into the U-Boot prompt, when the input string / password matches a values that is encypted via a SHA256 hash and saved in the environment.
This feature is enabled by defined these config options:
CONFIG_AUTOBOOT_KEYED CONFIG_AUTOBOOT_STOP_STR_SHA256
---
Changes in v3:
- Removed CONFIG_AUTOBOOT_STOP_STR2 and CONFIG_AUTOBOOT_DELAY_STR2 again
- Introduced hash_parse_string() to share some code as suggested by Simon
- Used hash_block() instead of sha256_csum_wd() as suggested by Simon
- Added some Acked-by's / Reviewed-by's
Changes in v2:
- AUTOBOOT_STOP_STR_SHA256 is a string and not bool
- Add input key length check as suggested by Magnus
- Add "constant-length" time compare function as suggested by Magnus
common/Kconfig | 20 +++++++-- common/autoboot.c | 119 +++++++++++++++++++++++++++++++++++++++++++++--------- common/hash.c | 30 +++++++++----- include/hash.h | 14 +++++++ 4 files changed, 152 insertions(+), 31 deletions(-)
common/Kconfig +17 -3
@@ -45,9 +45,14 @@ config AUTOBOOT_PROMPT the responsibility of the user to select only such arguments that are valid in the given context. +config AUTOBOOT_ENCRYPTION + bool "Enable encryption in autoboot stopping" + depends on AUTOBOOT_KEYED + default n + config AUTOBOOT_DELAY_STR string "Delay autobooting via specific input key / string" - depends on AUTOBOOT_KEYED + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION help This option delays the automatic boot feature by issuing a specific input key or string. If CONFIG_AUTOBOOT_DELAY_STR
@@ -59,7 +64,7 @@ config AUTOBOOT_DELAY_STR config AUTOBOOT_STOP_STR string "Stop autobooting via specific input key / string" - depends on AUTOBOOT_KEYED + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION help This option enables stopping (aborting) of the automatic boot feature only by issuing a specific input key or
@@ -71,7 +76,7 @@ config AUTOBOOT_STOP_STR config AUTOBOOT_KEYED_CTRLC bool "Enable Ctrl-C autoboot interruption" - depends on AUTOBOOT_KEYED + depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION default n help This option allows for the boot sequence to be interrupted
@@ -79,6 +84,15 @@ config AUTOBOOT_KEYED_CTRLC Setting this variable provides an escape sequence from the limited "password" strings. +config AUTOBOOT_STOP_STR_SHA256 + string "Stop autobooting via SHA256 encrypted password" + depends on AUTOBOOT_KEYED && AUTOBOOT_ENCRYPTION + help + This option adds the feature to only stop the autobooting, + and therefore boot into the U-Boot prompt, when the input + string / password matches a values that is encypted via + a SHA256 hash and saved in the environment. + endmenu comment "Commands"
common/autoboot.c +100 -19
146 lines not on this page · raw message
common/hash.c +21 -9
@@ -227,6 +227,26 @@ int hash_progressive_lookup_algo(const char *algo_name, }#ifndef USE_HOSTCC +int hash_parse_string (const char *algo_name,const char *str,uint8_t *result) +{ +struct hash_algo *algo; +int ret; +int i; + + ret =hash_lookup_algo (algo_name, &algo); +if (ret) +return ret; + +for (i =0 ; i < algo->digest_size; i++) { +char chr[3 ]; + +strncpy (chr, &str[i *2 ],2 ); + result[i] =simple_strtoul (chr,NULL ,16 ); + } + +return 0 ; +} +/** * store_result: Store the resulting sum to an address or variable *
@@ -315,7 +335,6 @@ static int parse_verify_sum(struct hash_algo *algo, char *verify_str, buf =map_sysmem (addr, algo->digest_size);memcpy (vsum, buf, algo->digest_size); }else { -unsigned int i;char *vsum_str;int digits = algo->digest_size *2 ;
@@ -335,14 +354,7 @@ static int parse_verify_sum(struct hash_algo *algo, char *verify_str, } } -for (i =0 ; i < algo->digest_size; i++) { -char *nullp = vsum_str + (i +1 ) *2 ; -char end = *nullp; - - *nullp ='\0' ; - vsum[i] =simple_strtoul (vsum_str + (i *2 ),NULL ,16 ); - *nullp = end; - } +hash_parse_string (algo->name, vsum_str, vsum); }return 0 ; }
include/hash.h +14 -0
@@ -158,4 +158,18 @@ int hash_lookup_algo(const char *algo_name, struct hash_algo **algop);int hash_progressive_lookup_algo (const char *algo_name,struct hash_algo **algop); +/** +* hash_parse_string() - Parse hash string into a binary array +* +* The function parses a hash string into a binary array that +* can for example easily be used to compare to hash values. +* +* @algo_name: Hash algorithm to look up +* @str: Hash string to get parsed +* @result: Binary array of the parsed hash string +* +* @return 0 if ok, -EPROTONOSUPPORT for an unknown algorithm. +*/ +int hash_parse_string (const char *algo_name,const char *str,uint8_t *result); +#endif
Signature · 1 line
2.4.1
PATCH v3 4/4 autoboot.c: Add feature to stop autobooting via SHA256 encrypted password
Quoted 10 lines · Stefan Roese
This patch adds the feature to only stop the autobooting, and therefor boot into the U-Boot prompt, when the input string / password matches a values that is encypted via a SHA256 hash and saved in the environment.
This feature is enabled by defined these config options:
CONFIG_AUTOBOOT_KEYEDCONFIG_AUTOBOOT_STOP_STR_SHA256Signed-off-by Stefan Roese <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150608/92769ffa/attachment.sig>