First pass inittab parser written
 -Erik
diff --git a/init/init.c b/init/init.c
index 561b5fd..b71c9f7 100644
--- a/init/init.c
+++ b/init/init.c
@@ -62,10 +62,13 @@
 #define SERIAL_CON1     "/dev/ttyS1"    /* Serial console */
 #define GETTY           "/sbin/getty"	/* Default location of getty */
 #define SHELL           "/bin/sh"	/* Default shell */
+#define INITTAB          "/etc/inittab"	/* inittab file location */
 #ifndef BB_INIT_SCRIPT
 #define BB_INIT_SCRIPT	"/etc/init.d/rcS"	/* Initscript. */
 #endif
 
+#if 1
+
 #define LOG             0x1
 #define CONSOLE         0x2
 static char *console = _PATH_CONSOLE;
@@ -609,3 +612,75 @@
 	sleep(1);
     }
 }
+
+#else
+
+
+void parse_inittab(void) 
+{
+    FILE* file;
+    char buf[256];
+    char action[256]="";
+    char process[256]="";
+    char *p, *q;
+
+
+    if ((file = fopen(INITTAB, "r")) < 0) {
+	/* No inittab file -- set up some default behavior */
+
+	/* FIXME */
+	return;
+    }
+
+    while ( fgets(buf, 255, file) != NULL) {
+	for(p = buf; *p == ' ' || *p == '\t'; p++);
+	if (*p == '#' || *p == '\n') continue;
+
+	/* Trim the trailing \n */
+	q = strrchr( p, '\n');
+	if (q != NULL)
+	    *q='\0';
+
+	/* Skip past the ID field and the runlevel 
+	 * field (both are ignored) */
+	p = strchr( p, ':');
+
+	/* Now peal off the process field from the end
+	 * of the string */
+	q = strrchr( p, ':');
+	if ( q == NULL || q+1 == NULL)
+	    goto choke;
+	*q='\0';
+	strcpy( process, ++q);
+	fprintf(stderr, "process=%s\n", process);
+
+	
+	/* Now peal off the action field */
+	q = strrchr( p, ':');
+	if ( q == NULL || q+1 == NULL)
+	    goto choke;
+	strcpy( action, ++q);
+	fprintf(stderr, "action=%s\n", action);
+
+
+	/* Ok, now do the right thing */
+
+    }
+    return;
+
+choke:
+    //message(CONSOLE, "Bad entry:");
+    fprintf(stderr, "Bad inittab entry: %s", buf);
+    while (1) sleep(1);
+    
+}
+
+
+extern int init_main(int argc, char **argv)
+{
+    parse_inittab();
+    exit( TRUE);
+}
+
+
+#endif