diff options
author | John Baldwin <jhb@FreeBSD.org> | 2003-01-15 21:47:36 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2003-01-15 21:47:36 +0000 |
commit | 0a10e2868e6550f5a5da5a37e763341d051e974a (patch) | |
tree | 648bdeaf5b1cd1a358b29fb8ecb8752b65a08e56 | |
parent | 3df3bb12fb3858fda93141209a15df3453a47ff1 (diff) | |
download | src-0a10e2868e6550f5a5da5a37e763341d051e974a.tar.gz src-0a10e2868e6550f5a5da5a37e763341d051e974a.zip |
Add a function driverFloppyCheck() that asks the user if they would like to
load drivers from the driver floppy if the "driver_floppy" variable is set
in the kernel environment and call this function after probing devices but
before displaying the main menu.
X-MFC after: as soon as I finish committing to current
Approved by: re@ (blanket)
Notes
Notes:
svn path=/head/; revision=109333
-rw-r--r-- | usr.sbin/sade/main.c | 6 | ||||
-rw-r--r-- | usr.sbin/sade/sade.h | 1 | ||||
-rw-r--r-- | usr.sbin/sysinstall/main.c | 6 | ||||
-rw-r--r-- | usr.sbin/sysinstall/modules.c | 10 | ||||
-rw-r--r-- | usr.sbin/sysinstall/sysinstall.h | 1 |
5 files changed, 24 insertions, 0 deletions
diff --git a/usr.sbin/sade/main.c b/usr.sbin/sade/main.c index b9ac365793b1..3b1df90d90c2 100644 --- a/usr.sbin/sade/main.c +++ b/usr.sbin/sade/main.c @@ -127,6 +127,12 @@ main(int argc, char **argv) /* Probe for all relevant devices on the system */ deviceGetAll(); + /* Prompt for the driver floppy if appropriate. */ + if (!pvariable_get("driverFloppyCheck")) { + driverFloppyCheck(); + pvariable_set("driverFloppyCheck=1"); + } + /* First, see if we have any arguments to process (and argv[0] counts if it's not "sysinstall") */ if (!RunningAsInit) { int i, start_arg; diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h index 0cf01101c916..5f19c138764e 100644 --- a/usr.sbin/sade/sade.h +++ b/usr.sbin/sade/sade.h @@ -757,6 +757,7 @@ extern void restorescr(WINDOW *w); extern char *sstrncpy(char *dst, const char *src, int size); /* modules.c */ +extern void driverFloppyCheck(void); extern void moduleInitialize(void); extern int kldBrowser(dialogMenuItem *self); diff --git a/usr.sbin/sysinstall/main.c b/usr.sbin/sysinstall/main.c index b9ac365793b1..3b1df90d90c2 100644 --- a/usr.sbin/sysinstall/main.c +++ b/usr.sbin/sysinstall/main.c @@ -127,6 +127,12 @@ main(int argc, char **argv) /* Probe for all relevant devices on the system */ deviceGetAll(); + /* Prompt for the driver floppy if appropriate. */ + if (!pvariable_get("driverFloppyCheck")) { + driverFloppyCheck(); + pvariable_set("driverFloppyCheck=1"); + } + /* First, see if we have any arguments to process (and argv[0] counts if it's not "sysinstall") */ if (!RunningAsInit) { int i, start_arg; diff --git a/usr.sbin/sysinstall/modules.c b/usr.sbin/sysinstall/modules.c index 67a8c89dedb7..252ad303d130 100644 --- a/usr.sbin/sysinstall/modules.c +++ b/usr.sbin/sysinstall/modules.c @@ -36,6 +36,7 @@ #include <dirent.h> #include <fcntl.h> #include <fnmatch.h> +#include <kenv.h> /* Prototypes */ static int kldModuleFire(dialogMenuItem *self); @@ -96,6 +97,15 @@ moduleInitialize(void) } } +void +driverFloppyCheck(void) +{ + /* Prompt for the driver floppy if requested. */ + if (kenv(KENV_GET, "driver_floppy", NULL, 0) >= 0 && + !msgYesNo("Would you like to load kernel modules from the driver floppy?")) + (void)kldBrowser(NULL); +} + int kldBrowser(dialogMenuItem *self) { diff --git a/usr.sbin/sysinstall/sysinstall.h b/usr.sbin/sysinstall/sysinstall.h index 0cf01101c916..5f19c138764e 100644 --- a/usr.sbin/sysinstall/sysinstall.h +++ b/usr.sbin/sysinstall/sysinstall.h @@ -757,6 +757,7 @@ extern void restorescr(WINDOW *w); extern char *sstrncpy(char *dst, const char *src, int size); /* modules.c */ +extern void driverFloppyCheck(void); extern void moduleInitialize(void); extern int kldBrowser(dialogMenuItem *self); |