Fix init so that checking for terminal devices is delayed until the
devices are actually used, thereby allowing devfsd based systems to
work.  This should fix bug #1133
 -Erik
diff --git a/init/init.c b/init/init.c
index a0f15b0..53e9744 100644
--- a/init/init.c
+++ b/init/init.c
@@ -440,6 +440,12 @@
 		signal(SIGHUP, SIG_DFL);
 
 		if ((fd = device_open(terminal, O_RDWR)) < 0) {
+			struct stat statBuf;
+			if (stat(terminal, &statBuf) != 0) {
+				message(LOG | CONSOLE, "device '%s' does not exist.\n",
+						terminal);
+				exit(1);
+			}
 			message(LOG | CONSOLE, "Bummer, can't open %s\r\n", terminal);
 			exit(1);
 		}
@@ -813,16 +819,8 @@
 		while (a->name != 0) {
 			if (strcmp(a->name, action) == 0) {
 				if (*id != '\0') {
-					struct stat statBuf;
-
 					strcpy(tmpConsole, "/dev/");
 					strncat(tmpConsole, id, 200);
-					if (stat(tmpConsole, &statBuf) != 0) {
-						message(LOG | CONSOLE,
-								"device '%s' does not exist.  Did you read the directions?\n",
-								tmpConsole);
-						break;
-					}
 					id = tmpConsole;
 				}
 				new_initAction(a->action, process, id);