summaryrefslogtreecommitdiffstats
path: root/0016-automatically-add-console-to-bootline-when-not-exist.patch
blob: 1a77976935e5986097ee10fd95445c508b4e4c91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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