More stuff -- ready for release.
 -Erik
diff --git a/init/init.c b/init/init.c
index 55c5c73..87746ef 100644
--- a/init/init.c
+++ b/init/init.c
@@ -123,13 +123,6 @@
 void set_term( int fd)
 {
     struct termios tty;
-#if 0
-    static const char control_characters[] = {
-	'\003', '\034', '\177', '\025', '\004', '\0',
-	'\1', '\0', '\021', '\023', '\032', '\0', '\022',
-	'\017', '\027', '\026', '\0'
-	};
-#endif
     static const char control_characters[] = {
 	'\003', '\034', '\177', '\030', '\004', '\0',
 	'\1', '\0', '\021', '\023', '\032', '\0', '\022',
@@ -160,44 +153,6 @@
     tcsetattr(fd, TCSANOW, &tty);
 }
 
-/* Set terminal settings to reasonable defaults */
-void set_term_old( int fd)
-{
-    struct termios tty;
-
-    ioctl(fd, TCGETA, &tty);
-
-    tty.c_cflag &= CBAUD|CBAUDEX|CSIZE|CSTOPB|PARENB|PARODD;
-    tty.c_cflag |= HUPCL|CLOCAL;
-
-    tty.c_cc[VINTR]    = 3;
-    tty.c_cc[VQUIT]    = 28;
-    tty.c_cc[VERASE]   = 127;
-    //tty.c_cc[VKILL]    = 21;
-    tty.c_cc[VKILL]    = 24;
-    tty.c_cc[VEOF]     = 4;
-    tty.c_cc[VTIME]    = 0;
-    tty.c_cc[VMIN]     = 1;
-    tty.c_cc[VSWTC]    = 0;
-    tty.c_cc[VSTART]   = 17;
-    tty.c_cc[VSTOP]    = 19;
-    tty.c_cc[VSUSP]    = 26;
-    tty.c_cc[VEOL]     = 0;
-    tty.c_cc[VREPRINT] = 18;
-    tty.c_cc[VDISCARD] = 15;
-    tty.c_cc[VWERASE]  = 23;
-    tty.c_cc[VLNEXT]   = 22;
-    tty.c_cc[VEOL2]    = 0;
-    
-
-    tty.c_line  = 0;
-    tty.c_iflag = IGNPAR|ICRNL|IXON|IXOFF|IXANY;
-    tty.c_oflag = OPOST|ONLCR;
-    tty.c_lflag = ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOPRT|ECHOKE|IEXTEN;
-
-    ioctl(fd, TCSETA, &tty);
-}
-
 /* How much memory does this machine have? */
 static int mem_total()
 {
@@ -395,7 +350,12 @@
     waitfor(run( swap_off_cmd, console, FALSE));
     waitfor(run( umount_cmd, console, FALSE));
     sync();
-    bdflush(1, 0);
+    message(CONSOLE, "Skipping bdflush\r\n");
+    if (get_kernel_revision() <= 2 * 65536 + 2 * 256 + 11) {
+	/* bdflush, kupdate not needed for kernels >2.2.11 */
+	bdflush(1, 0);
+	sync();
+    }
 }
 
 static void halt_signal(int sig)
@@ -518,15 +478,19 @@
 	if (wpid > 0 ) {
 	    message(LOG, "pid %d exited, status=%x.\n", wpid, status);
 	}
+	/* Don't respawn init script if it exits */
 	if (wpid == pid1) {
-	    pid1 = 0;
-	    if (run_rc == TRUE) {
-		/* Don't respawn init script if it exits,
-		 * Start a shell instead. */
+	    if (run_rc == FALSE) {
+		pid1 = 0;
+	    } 
+#if 0
+/* Turn this on to start a shell on the console if the init script exits.... */
+	    else {
 		run_rc=FALSE;
 		wait_for_enter=TRUE;
 		tty0_commands=shell_commands;
 	    }
+#endif
 	}
 	if (wpid == pid2) {
 	    pid2 = 0;