Author: brucec
Date: Wed Jun 23 14:11:34 2010
New Revision: 209467
URL: http://svn.freebsd.org/changeset/base/209467

Log:
  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>
  Reviewed by: randi
  Approved by: rrs (mentor)
  MFC after: 1 month

Modified:
  head/usr.sbin/sysinstall/install.c

Modified: head/usr.sbin/sysinstall/install.c
==============================================================================
--- head/usr.sbin/sysinstall/install.c  Wed Jun 23 14:06:05 2010        
(r209466)
+++ head/usr.sbin/sysinstall/install.c  Wed Jun 23 14:11:34 2010        
(r209467)
@@ -877,6 +877,9 @@ installConfigure(void)
 int
 installFixupBase(dialogMenuItem *self)
 {
+       FILE *orig, *new;
+       char buf[1024];
+       char *pos;
 #if defined(__i386__) || defined(__amd64__)
     FILE *fp;
 #endif
@@ -895,6 +898,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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to