mirror of
https://github.com/freebsd/freebsd-src
synced 2024-11-05 18:22:52 +00:00
If /install.cfg exists on the local floppy (or if LOAD_CONFIG_FILE is defined
and the user inserts a floppy), read the config file to pre-define variables for a custom installation. [Note: I fixed one bug in LOAD_CONFIG_FILE code, but it's still not perfect.]
This commit is contained in:
parent
b3f3fea5fd
commit
5319e113eb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=18501
3 changed files with 135 additions and 66 deletions
|
@ -4,7 +4,7 @@
|
|||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: main.c,v 1.26 1996/09/08 01:39:24 jkh Exp $
|
||||
* $Id: main.c,v 1.27 1996/09/15 23:55:23 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
|
@ -37,6 +37,7 @@
|
|||
#include "sysinstall.h"
|
||||
#include <stdio.h>
|
||||
#include <sys/signal.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
||||
static void
|
||||
screech(int sig)
|
||||
|
@ -110,33 +111,55 @@ main(int argc, char **argv)
|
|||
systemShutdown(0);
|
||||
}
|
||||
|
||||
/* If we have a compiled-in startup config file name, look for it and try to load it on startup */
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
extern char *distWanted;
|
||||
{
|
||||
int fd;
|
||||
Attribs attrs[512];
|
||||
|
||||
distWanted = (char *)1; /* Tell mediaSetFloppy() to try floppy now */
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE && mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
bzero(attrs, sizeof(attrs));
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
Attribs attrs[512]; /* Don't have more than this many attrs in one file, ok? :-) */
|
||||
|
||||
msgNotify("Loading %s pre-configuration file", LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
fd = open("install.cfg", O_RDONLY);
|
||||
if (fd >= 0) {
|
||||
msgNotify("Loading pre-configuration file");
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
/* If we have a compiled-in startup config file name on
|
||||
the floppy, look for it and try to load it on startup */
|
||||
extern char *distWanted;
|
||||
|
||||
/* Tell mediaSetFloppy() to try floppy now */
|
||||
distWanted = (char *)1;
|
||||
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE &&
|
||||
mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
msgNotify("Loading %s pre-configuration file",
|
||||
LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Begin user dialog at outer menu */
|
||||
dialog_clear();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: main.c,v 1.26 1996/09/08 01:39:24 jkh Exp $
|
||||
* $Id: main.c,v 1.27 1996/09/15 23:55:23 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
|
@ -37,6 +37,7 @@
|
|||
#include "sysinstall.h"
|
||||
#include <stdio.h>
|
||||
#include <sys/signal.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
||||
static void
|
||||
screech(int sig)
|
||||
|
@ -110,33 +111,55 @@ main(int argc, char **argv)
|
|||
systemShutdown(0);
|
||||
}
|
||||
|
||||
/* If we have a compiled-in startup config file name, look for it and try to load it on startup */
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
extern char *distWanted;
|
||||
{
|
||||
int fd;
|
||||
Attribs attrs[512];
|
||||
|
||||
distWanted = (char *)1; /* Tell mediaSetFloppy() to try floppy now */
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE && mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
bzero(attrs, sizeof(attrs));
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
Attribs attrs[512]; /* Don't have more than this many attrs in one file, ok? :-) */
|
||||
|
||||
msgNotify("Loading %s pre-configuration file", LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
fd = open("install.cfg", O_RDONLY);
|
||||
if (fd >= 0) {
|
||||
msgNotify("Loading pre-configuration file");
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
/* If we have a compiled-in startup config file name on
|
||||
the floppy, look for it and try to load it on startup */
|
||||
extern char *distWanted;
|
||||
|
||||
/* Tell mediaSetFloppy() to try floppy now */
|
||||
distWanted = (char *)1;
|
||||
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE &&
|
||||
mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
msgNotify("Loading %s pre-configuration file",
|
||||
LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Begin user dialog at outer menu */
|
||||
dialog_clear();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: main.c,v 1.26 1996/09/08 01:39:24 jkh Exp $
|
||||
* $Id: main.c,v 1.27 1996/09/15 23:55:23 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
|
@ -37,6 +37,7 @@
|
|||
#include "sysinstall.h"
|
||||
#include <stdio.h>
|
||||
#include <sys/signal.h>
|
||||
#include <sys/fcntl.h>
|
||||
|
||||
static void
|
||||
screech(int sig)
|
||||
|
@ -110,33 +111,55 @@ main(int argc, char **argv)
|
|||
systemShutdown(0);
|
||||
}
|
||||
|
||||
/* If we have a compiled-in startup config file name, look for it and try to load it on startup */
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
extern char *distWanted;
|
||||
{
|
||||
int fd;
|
||||
Attribs attrs[512];
|
||||
|
||||
distWanted = (char *)1; /* Tell mediaSetFloppy() to try floppy now */
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE && mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
bzero(attrs, sizeof(attrs));
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
Attribs attrs[512]; /* Don't have more than this many attrs in one file, ok? :-) */
|
||||
|
||||
msgNotify("Loading %s pre-configuration file", LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
fd = open("install.cfg", O_RDONLY);
|
||||
if (fd >= 0) {
|
||||
msgNotify("Loading pre-configuration file");
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
close(fd);
|
||||
}
|
||||
|
||||
#if defined(LOAD_CONFIG_FILE)
|
||||
else {
|
||||
/* If we have a compiled-in startup config file name on
|
||||
the floppy, look for it and try to load it on startup */
|
||||
extern char *distWanted;
|
||||
|
||||
/* Tell mediaSetFloppy() to try floppy now */
|
||||
distWanted = (char *)1;
|
||||
|
||||
/* Try to open the floppy drive if we can do that first */
|
||||
if (DITEM_STATUS(mediaSetFloppy(NULL)) != DITEM_FAILURE &&
|
||||
mediaDevice->init(mediaDevice)) {
|
||||
int fd;
|
||||
|
||||
fd = mediaDevice->get(mediaDevice, LOAD_CONFIG_FILE, TRUE);
|
||||
if (fd > 0) {
|
||||
msgNotify("Loading %s pre-configuration file",
|
||||
LOAD_CONFIG_FILE);
|
||||
if (DITEM_STATUS(attr_parse(attrs, fd)) == DITEM_SUCCESS) {
|
||||
int i;
|
||||
|
||||
for (i = 0; *attrs[i].name; i++)
|
||||
variable_set2(attrs[i].name, attrs[i].value);
|
||||
}
|
||||
mediaDevice->close(mediaDevice, fd);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
mediaDevice->shutdown(mediaDevice);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Begin user dialog at outer menu */
|
||||
dialog_clear();
|
||||
|
|
Loading…
Reference in a new issue