diff options
Diffstat (limited to '0016-automatically-add-console-to-bootline-when-not-exist.patch')
-rw-r--r-- | 0016-automatically-add-console-to-bootline-when-not-exist.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/0016-automatically-add-console-to-bootline-when-not-exist.patch b/0016-automatically-add-console-to-bootline-when-not-exist.patch new file mode 100644 index 0000000..1a77976 --- /dev/null +++ b/0016-automatically-add-console-to-bootline-when-not-exist.patch @@ -0,0 +1,60 @@ +From 838ea5b6076ba27c6d20c6370ff0a996acaa5eec Mon Sep 17 00:00:00 2001 +From: Dennis Gilmore <dennis@ausil.us> +Date: Wed, 23 Apr 2014 15:54:57 -0500 +Subject: [PATCH 16/17] automatically add console= to bootline when not + existing + +if there is a console variable in the u-boot environment and not one on +the append line from syslinux config add what is in the environment to +the bootargs, allows us to not need to modify the config in a disk image +--- + common/cmd_pxe.c | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c +index 9c43e63..eb5f9c3 100644 +--- a/common/cmd_pxe.c ++++ b/common/cmd_pxe.c +@@ -606,6 +606,7 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label) + char initrd_str[22]; + char mac_str[29] = ""; + char ip_str[68] = ""; ++ char console[30] = ""; + char *bootargs; + int bootm_argc = 3; + int len = 0; +@@ -665,8 +666,21 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label) + } + #endif + +- if (label->append) ++ if (label->append) { + len += strlen(label->append); ++ /* check for a console line in the boot args passed in from the ++ * config file. If there is no console line and the enviornment ++ * has a console variable add it to the bootargs ++ */ ++ if ( !strstr(label->append, "console=") ) { ++ printf("no console= \n"); ++ if (getenv("console")) { ++ sprintf(console, " console=%s", ++ getenv("console")); ++ len += strlen(console); ++ } ++ } ++ } + + if (len) { + bootargs = malloc(len + 1); +@@ -675,6 +689,8 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label) + bootargs[0] = '\0'; + if (label->append) + strcpy(bootargs, label->append); ++ if (strlen(console) > 0) ++ strcat(bootargs, console); + strcat(bootargs, ip_str); + strcat(bootargs, mac_str); + +-- +1.9.0 + |