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
This commit is contained in:
brucec 2010-06-23 14:11:34 +00:00
parent 2336901ce8
commit b2337fe9dd

View File

@ -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);