summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/sysinstall/install.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c
index e7188fd..4e7de1a 100644
--- a/usr.sbin/sysinstall/install.c
+++ b/usr.sbin/sysinstall/install.c
@@ -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);
OpenPOWER on IntegriCloud