From d00934c8d302b41e262170d15f86fb42764f83c9 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Thu, 16 Sep 2004 22:58:48 +0000 Subject: add nonet and nostorage to not automatically load network and storage drivers. useful if you're kickstarting and need to do an alternate driver as you can then do a device line in your ks.cfg --- loader2/hardware.c | 9 +++++++++ loader2/loader.c | 6 +++++- loader2/loader.h | 7 +++++-- 3 files changed, 19 insertions(+), 3 deletions(-) (limited to 'loader2') diff --git a/loader2/hardware.c b/loader2/hardware.c index 939ed72f4..9ad80080f 100644 --- a/loader2/hardware.c +++ b/loader2/hardware.c @@ -100,6 +100,15 @@ static int detectHardware(moduleInfoSet modInfo, } else if (FL_NOUSB(flags) && ((*device)->type == CLASS_USB)) { logMessage("ignoring usb device %s (%s)", (*device)->desc, (*device)->driver); + } else if (FL_NOSTORAGE(flags) && + (((*device)->type == CLASS_SCSI) || + ((*device)->type == CLASS_IDE) || + ((*device)->type == CLASS_RAID))) { + logMessage("ignoring storage device %s (%s)", (*device)->desc, + (*device)->driver); + } else if (FL_NONET(flags) && ((*device)->type == CLASS_NETWORK)) { + logMessage("ignoring network device %s (%s)", (*device)->desc, + (*device)->driver); } else if (strcmp (driver, "ignore") && strcmp (driver, "unknown") && strcmp (driver, "disabled")) { modList[numMods++] = strdup(driver); diff --git a/loader2/loader.c b/loader2/loader.c index 83fcd6213..fe9898be6 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -507,8 +507,12 @@ static int parseCmdLineFlags(int flags, struct loaderData_s * loaderData, flags |= LOADER_FLAGS_TELNETD; else if (!strcasecmp(argv[i], "nofirewire")) flags |= LOADER_FLAGS_NOIEEE1394; + else if (!strcasecmp(argv[i], "nonet")) + flags |= LOADER_FLAGS_NONET; + else if (!strcasecmp(argv[i], "nostorage")) + flags |= LOADER_FLAGS_NOSTORAGE; else if (!strcasecmp(argv[i], "noprobe")) - flags |= LOADER_FLAGS_NOPROBE; + flags |= (LOADER_FLAGS_NONET | LOADER_FLAGS_NOSTORAGE); else if (!strcasecmp(argv[i], "nopcmcia")) flags |= LOADER_FLAGS_NOPCMCIA; else if (!strcasecmp(argv[i], "text")) { diff --git a/loader2/loader.h b/loader2/loader.h index 352d7013f..3cc8a84fc 100644 --- a/loader2/loader.h +++ b/loader2/loader.h @@ -14,7 +14,7 @@ #define LOADER_FLAGS_KICKSTART (1 << 4) #define LOADER_FLAGS_KICKSTART_SEND_MAC (1 << 5) #define LOADER_FLAGS_POWEROFF (1 << 6) -#define LOADER_FLAGS_NOPROBE (1 << 7) +#define LOADER_FLAGS_NONET (1 << 7) #define LOADER_FLAGS_MODDISK (1 << 8) #define LOADER_FLAGS_ISA (1 << 9) #define LOADER_FLAGS_SERIAL (1 << 10) @@ -36,6 +36,7 @@ #define LOADER_FLAGS_HALT (1 << 13) #define LOADER_FLAGS_SELINUX (1 << 14) #define LOADER_FLAGS_VIRTPCONSOLE (1 << 15) +#define LOADER_FLAGS_NOSTORAGE (1 << 30) #define FL_TESTING(a) ((a) & LOADER_FLAGS_TESTING) #define FL_EXPERT(a) ((a) & LOADER_FLAGS_EXPERT) @@ -44,7 +45,7 @@ #define FL_KICKSTART(a) ((a) & LOADER_FLAGS_KICKSTART) #define FL_KICKSTART_SEND_MAC(a) ((a) & LOADER_FLAGS_KICKSTART_SEND_MAC) #define FL_POWEROFF(a) ((a) & LOADER_FLAGS_POWEROFF) -#define FL_NOPROBE(a) ((a) & LOADER_FLAGS_NOPROBE) +#define FL_NONET(a) ((a) & LOADER_FLAGS_NONET) #define FL_MODDISK(a) ((a) & LOADER_FLAGS_MODDISK) #define FL_ISA(a) ((a) & LOADER_FLAGS_ISA) #define FL_SERIAL(a) ((a) & LOADER_FLAGS_SERIAL) @@ -68,6 +69,8 @@ #define FL_HALT(a) ((a) & LOADER_FLAGS_HALT) #define FL_SELINUX(a) ((a) & LOADER_FLAGS_SELINUX) #define FL_VIRTPCONSOLE(a) ((a) & LOADER_FLAGS_VIRTPCONSOLE) +#define FL_NOSTORAGE(a) ((a) & LOADER_FLAGS_NOSTORAGE) +#define FL_NOPROBE(a) (FL_NOSTORAGE(a) | FL_NONET(a)) void startNewt(int flags); void stopNewt(); -- cgit