svn commit: r211009 - stable/8/usr.sbin/sysinstall

Bruce Cran brucec at FreeBSD.org
Sat Aug 7 12:41:12 UTC 2010


Author: brucec
Date: Sat Aug  7 12:41:12 2010
New Revision: 211009
URL: http://svn.freebsd.org/changeset/base/211009

Log:
  MFC r209467:
  
  When installing on a machine which doesn't have a VGA card installed, enable
  a getty on the serial port so that it's possible to login when the system is
  rebooted.
  
  PR: bin/23098
  Submitted by: Doug Ambrisko <ambrisko at whistle.com>
  Approved by: rrs (mentor)

Modified:
  stable/8/usr.sbin/sysinstall/install.c
Directory Properties:
  stable/8/usr.sbin/sysinstall/   (props changed)

Modified: stable/8/usr.sbin/sysinstall/install.c
==============================================================================
--- stable/8/usr.sbin/sysinstall/install.c	Sat Aug  7 12:21:29 2010	(r211008)
+++ stable/8/usr.sbin/sysinstall/install.c	Sat Aug  7 12:41:12 2010	(r211009)
@@ -875,6 +875,9 @@ installConfigure(void)
 int
 installFixupBase(dialogMenuItem *self)
 {
+    FILE *orig, *new;
+    char buf[1024];
+    char *pos;
     FILE *fp;
 #ifdef __ia64__
     const char *efi_mntpt;
@@ -891,6 +894,32 @@ installFixupBase(dialogMenuItem *self)
 	    fclose(fp);
 	}
 #endif
+
+	/* Fixup /etc/ttys to start a getty on the serial port.
+	  This way after a serial installation you can login via
+	  the serial port */
+
+	if (!OnVTY){
+	    if (((orig=fopen("/etc/ttys","r")) != NULL) &&
+		((new=fopen("/etc/ttys.tmp","w")) != NULL)) {
+		while (fgets(buf,sizeof(buf),orig)){
+		    if (strstr(buf,"ttyu0")){
+			if ((pos=strstr(buf,"off"))){
+			    *pos++='o';
+			    *pos++='n';
+			    *pos++=' ';
+			}
+		    }
+		    fputs(buf,new);
+		}
+		fclose(orig);
+		fclose(new);
+
+		rename("/etc/ttys.tmp","/etc/ttys");
+		unlink("/etc/ttys.tmp");
+	    }
+	}
+
 	
 	/* BOGON #2: We leave /etc in a bad state */
 	chmod("/etc", 0755);


More information about the svn-src-stable-8 mailing list