ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/system/procd/patches/0005-add-ramdump-init-script.patch b/package/system/procd/patches/0005-add-ramdump-init-script.patch
new file mode 100644
index 0000000..8c65764
--- /dev/null
+++ b/package/system/procd/patches/0005-add-ramdump-init-script.patch
@@ -0,0 +1,46 @@
+--- a/inittab.c
++++ b/inittab.c
+@@ -327,8 +327,8 @@ void procd_inittab(void)
+ 
+ 	r = read(fd, cmdline, sizeof(cmdline) - 1);
+ 	cmdline[r] = '\0';
+-	close(fd);      
+-	regcomp(&pat_cmdline, "PROD=([0-2])", REG_EXTENDED);
++	close(fd);
++	regcomp(&pat_cmdline, "PROD=([0-5])", REG_EXTENDED);
+ 	if (!regexec(&pat_cmdline, cmdline, 1, cmd_matches, 0)) {
+ 		cmdline[cmd_matches[0].rm_eo] = '\0';
+ 		production_mode = atoi(&cmdline[cmd_matches[0].rm_eo - 1]);
+--- a/rcS.c
++++ b/rcS.c
+@@ -207,15 +207,26 @@ static int _rc(struct runqueue *q, char
+ 				}
+ 				token = strtok(NULL, " ");
+ 			} while (token != NULL);
+-			if (token == NULL && strstr(gl.gl_pathv[j], "prod_init"))
++
++			if (token == NULL && strstr(gl.gl_pathv[j], "rdp_init"))
+ 			{
+-				add_initd(q, gl.gl_pathv[j], param);
+-				break;
++				if (production_mode == 5) {
++					add_initd(q, gl.gl_pathv[j], param);
++					break;
++				} else
++					continue;
++			} else if (token == NULL && strstr(gl.gl_pathv[j], "prod_init"))
++			{
++				if (production_mode == 1) {
++					add_initd(q, gl.gl_pathv[j], param);
++					break;
++				} else 
++					continue;
+ 			} else {
+ 				continue;
+ 			}
+ 		} else {
+-			if (strstr(gl.gl_pathv[j], "prod_init"))
++			if (strstr(gl.gl_pathv[j], "prod_init") || strstr(gl.gl_pathv[j], "rdp_init"))
+ 				continue;
+ 		}
+ 		add_initd(q, gl.gl_pathv[j], param);