RFC: bootm: Add silent_linux environment variable

At present the console for linux is silent if the U-Boot console is silent,
unless CONFIG_SILENT_U_BOOT_ONLY is set. I wonder if a better way would be
to have an environment variable to control this? Then we can control the
verbosity from scripts, and set the variable to 'no' for those boards that
want Linux to boot with console output.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2013-07-16 20:10:00 -07:00 committed by Tom Rini
parent 62cf11c092
commit 8d51aacd8c
2 changed files with 18 additions and 2 deletions

6
README
View File

@ -4627,6 +4627,12 @@ List of environment variables (most likely not complete):
npe_ucode - set load address for the NPE microcode
silent_linux - If set then linux will be told to boot silently, by
changing the console to be empty. If "yes" it will be
made silent. If "no" it will not be made silent. If
unset, then it will be made silent if the U-Boot console
is silent.
tftpsrcport - If this is set, the value is used for TFTP's
UDP source port.

View File

@ -1384,9 +1384,19 @@ static void fixup_silent_linux(void)
char *buf;
const char *env_val;
char *cmdline = getenv("bootargs");
int want_silent;
/* Only fix cmdline when requested */
if (!(gd->flags & GD_FLG_SILENT))
/*
* Only fix cmdline when requested. The environment variable can be:
*
* no - we never fixup
* yes - we always fixup
* unset - we rely on the console silent flag
*/
want_silent = getenv_yesno("silent_linux");
if (want_silent == 0)
return;
else if (want_silent == -1 && !(gd->flags & GD_FLG_SILENT))
return;
debug("before silent fix-up: %s\n", cmdline);