summaryrefslogtreecommitdiffstats
path: root/0016-automatically-add-console-to-bootline-when-not-exist.patch
diff options
context:
space:
mode:
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.patch60
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
+