diff options
author | jhb <jhb@FreeBSD.org> | 2003-01-15 21:47:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2003-01-15 21:47:36 +0000 |
commit | 8234b5cd64bc8b2cec7f828910659662657049ea (patch) | |
tree | 648bdeaf5b1cd1a358b29fb8ecb8752b65a08e56 /usr.sbin | |
parent | 1917b354f1dc22d30cbf48ab2a33683be6d7c56f (diff) | |
download | FreeBSD-src-8234b5cd64bc8b2cec7f828910659662657049ea.zip FreeBSD-src-8234b5cd64bc8b2cec7f828910659662657049ea.tar.gz |
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)
Diffstat (limited to 'usr.sbin')
-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 b9ac365..3b1df90 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 0cf0110..5f19c13 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 b9ac365..3b1df90 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 67a8c89..252ad30 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 0cf0110..5f19c13 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); |