svn commit: r209467 - head/usr.sbin/sysinstall
Bruce Cran
brucec at FreeBSD.org
Wed Jun 23 14:11:35 UTC 2010
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);
More information about the svn-src-all
mailing list