Add the ability to modify /etc/ttys before first reboot during the

system installation process.  This allows users installing via serial
console to enable serial console login during the installation
process using an un-customized install.  The user is not prompted to
modify /etc/ttys during a normal install, but is offered the
opportunity during post-install configuration.

- Introduce configTTYs(), which describes the benefits of editing
  /etc/ttys, and asks for confirmation before spawning the editor.
- add configTTYs to the post-install configuration, as well as to
  the global configuration index.
This commit is contained in:
Robert Watson 2001-08-02 03:53:36 +00:00
parent 0c09bcb0e8
commit c17d6a73f2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=81024
6 changed files with 58 additions and 0 deletions

View File

@ -1029,3 +1029,28 @@ configNFSServer(dialogMenuItem *self)
}
return DITEM_SUCCESS;
}
int
configTTYs(dialogMenuItem *self)
{
char cmd[256];
WINDOW *w = savescr();
/* Simply prompt for confirmation, then edit away. */
if (msgYesNo("Configuration of system TTYs requires editing the /etc/ttys file.\n"
"Typical configuration activities might include enabling getty(8)\n"
"on the first serial port to allow login via serial console after\n"
"reboot, or to enable xdm. The default ttys file enables normal\n"
"virtual consoles, and most sites will not need to perform manual\n"
"configuration.\n\n"
"To load /etc/ttys in the editor, select [Yes], otherwise, [No].")) {
} else {
sprintf(cmd, "%s /etc/ttys", variable_get(VAR_EDITOR));
dialog_clear();
systemExecute(cmd);
}
restorescr(w);
return DITEM_SUCCESS;
}

View File

@ -270,6 +270,7 @@ DMenu MenuIndex = {
{ " Syscons, Screenmap", "The console screenmap configuration menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
{ " Syscons, Ttys", "The console terminal type menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsTtys },
{ " Time Zone", "Set the system's time zone.", NULL, dmenuSystemCommand, NULL, "tzsetup" },
{ " TTYs", "Configure system ttys.", NULL, configTTYs, NULL, "ttys" },
{ " Upgrade", "Upgrade an existing system.", NULL, installUpgrade },
{ " Usage", "Quick start - How to use this menu system.", NULL, dmenuDisplayFile, NULL, "usage" },
{ " User Management", "Add user and group information.", NULL, dmenuSubmenu, NULL, &MenuUsermgmt },
@ -1248,6 +1249,8 @@ DMenu MenuConfigure = {
NULL, dmenuSubmenu, NULL, &MenuSecurityProfile },
{ " Startup", "Configure system startup options",
NULL, dmenuSubmenu, NULL, &MenuStartup },
{ " TTYs", "Configure system ttys.",
NULL, configTTYs, NULL, "ttys" },
{ " Options", "View/Set various installation options",
NULL, optionsEditor },
{ " XFree86", "Configure XFree86 Server",

View File

@ -455,6 +455,7 @@ extern int configSecurityFascist(dialogMenuItem *self);
extern int configSecurityHigh(dialogMenuItem *self);
extern int configSecurityModerate(dialogMenuItem *self);
extern int configSecurityLiberal(dialogMenuItem *self);
extern int configTTYs(dialogMenuItem *self);
/* crc.c */
extern int crc(int, unsigned long *, unsigned long *);

View File

@ -1029,3 +1029,28 @@ configNFSServer(dialogMenuItem *self)
}
return DITEM_SUCCESS;
}
int
configTTYs(dialogMenuItem *self)
{
char cmd[256];
WINDOW *w = savescr();
/* Simply prompt for confirmation, then edit away. */
if (msgYesNo("Configuration of system TTYs requires editing the /etc/ttys file.\n"
"Typical configuration activities might include enabling getty(8)\n"
"on the first serial port to allow login via serial console after\n"
"reboot, or to enable xdm. The default ttys file enables normal\n"
"virtual consoles, and most sites will not need to perform manual\n"
"configuration.\n\n"
"To load /etc/ttys in the editor, select [Yes], otherwise, [No].")) {
} else {
sprintf(cmd, "%s /etc/ttys", variable_get(VAR_EDITOR));
dialog_clear();
systemExecute(cmd);
}
restorescr(w);
return DITEM_SUCCESS;
}

View File

@ -270,6 +270,7 @@ DMenu MenuIndex = {
{ " Syscons, Screenmap", "The console screenmap configuration menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsScrnmap },
{ " Syscons, Ttys", "The console terminal type menu.", NULL, dmenuSubmenu, NULL, &MenuSysconsTtys },
{ " Time Zone", "Set the system's time zone.", NULL, dmenuSystemCommand, NULL, "tzsetup" },
{ " TTYs", "Configure system ttys.", NULL, configTTYs, NULL, "ttys" },
{ " Upgrade", "Upgrade an existing system.", NULL, installUpgrade },
{ " Usage", "Quick start - How to use this menu system.", NULL, dmenuDisplayFile, NULL, "usage" },
{ " User Management", "Add user and group information.", NULL, dmenuSubmenu, NULL, &MenuUsermgmt },
@ -1248,6 +1249,8 @@ DMenu MenuConfigure = {
NULL, dmenuSubmenu, NULL, &MenuSecurityProfile },
{ " Startup", "Configure system startup options",
NULL, dmenuSubmenu, NULL, &MenuStartup },
{ " TTYs", "Configure system ttys.",
NULL, configTTYs, NULL, "ttys" },
{ " Options", "View/Set various installation options",
NULL, optionsEditor },
{ " XFree86", "Configure XFree86 Server",

View File

@ -455,6 +455,7 @@ extern int configSecurityFascist(dialogMenuItem *self);
extern int configSecurityHigh(dialogMenuItem *self);
extern int configSecurityModerate(dialogMenuItem *self);
extern int configSecurityLiberal(dialogMenuItem *self);
extern int configTTYs(dialogMenuItem *self);
/* crc.c */
extern int crc(int, unsigned long *, unsigned long *);