summaryrefslogtreecommitdiffstats
path: root/loader2
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2004-09-16 22:58:48 +0000
committerJeremy Katz <katzj@redhat.com>2004-09-16 22:58:48 +0000
commitd00934c8d302b41e262170d15f86fb42764f83c9 (patch)
tree2be6c10ff0d81c9dda04f17944818c33c55f2ad7 /loader2
parent3d17d872deb0ae67a75d72eb29d32a67ebf5b6a7 (diff)
downloadanaconda-d00934c8d302b41e262170d15f86fb42764f83c9.tar.gz
anaconda-d00934c8d302b41e262170d15f86fb42764f83c9.tar.xz
anaconda-d00934c8d302b41e262170d15f86fb42764f83c9.zip
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
Diffstat (limited to 'loader2')
-rw-r--r--loader2/hardware.c9
-rw-r--r--loader2/loader.c6
-rw-r--r--loader2/loader.h7
3 files changed, 19 insertions, 3 deletions
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();