From a51ecdd9e4025d072d2737d6bea8a1d03bc74274 Mon Sep 17 00:00:00 2001
From: Erik Andersen <andersen@codepoet.org>
Date: Thu, 24 Feb 2000 18:09:58 +0000
Subject: Minor tweak to argv[0] handling for linuxrc  -Erik

---
 init/init.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

(limited to 'init')

diff --git a/init/init.c b/init/init.c
index 6ec811599..183739180 100644
--- a/init/init.c
+++ b/init/init.c
@@ -803,10 +803,16 @@ extern int init_main(int argc, char **argv)
 	int status;
 
 #ifndef DEBUG_INIT
-	/* Expect to be PID 1 if we are run as init (not linuxrc) */
-	if (getpid() != 1 && strstr(argv[0], "init") != NULL) {
-		usage("init\n\nInit is the parent of all processes.\n\n"
-			  "This version of init is designed to be run only by the kernel\n");
+	/* Expect to be invoked as init with PID=1 or be invoked as linuxrc */
+	if (getpid() != 1
+#ifdef BB_FEATURE_LINUXRC
+			&& strstr(argv[0], "linuxrc") == NULL
+#endif
+	                  )
+	{
+			usage("init\n\nInit is the parent of all processes.\n\n"
+				  "This version of init is designed to be run only "
+				  "by the kernel.\n");
 	}
 	/* Set up sig handlers  -- be sure to
 	 * clear all of these in run() */
-- 
cgit v1.2.3-55-g6feb