diff options
author | Bill Nottingham <notting@redhat.com> | 2008-01-24 14:11:10 -0500 |
---|---|---|
committer | Bill Nottingham <notting@redhat.com> | 2008-01-24 14:11:10 -0500 |
commit | c742e9866a765377a30927f61d260f0ee8bc084a (patch) | |
tree | 9e4f858c50563c6655a0c132c2bd0abfc977f361 /loader2 | |
parent | 9364d1c03b90270047dee662aee393aa23ae0ebf (diff) | |
download | anaconda-c742e9866a765377a30927f61d260f0ee8bc084a.tar.gz anaconda-c742e9866a765377a30927f61d260f0ee8bc084a.tar.xz anaconda-c742e9866a765377a30927f61d260f0ee8bc084a.zip |
Map 'nousb', 'nofirewire', etc. to be proper module blacklists.
Also, remove some extraneous flags in the process.
Diffstat (limited to 'loader2')
-rw-r--r-- | loader2/loader.c | 25 | ||||
-rw-r--r-- | loader2/loader.h | 24 | ||||
-rw-r--r-- | loader2/modules.c | 7 | ||||
-rw-r--r-- | loader2/modules.h | 1 |
4 files changed, 25 insertions, 32 deletions
diff --git a/loader2/loader.c b/loader2/loader.c index deff18142..e08a7ab39 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -737,26 +737,12 @@ static void parseCmdLineFlags(struct loaderData_s * loaderData, flags |= LOADER_FLAGS_NOSHELL; else if (!strcasecmp(argv[i], "mediacheck")) flags |= LOADER_FLAGS_MEDIACHECK; - else if (!strcasecmp(argv[i], "nousbstorage")) - flags |= LOADER_FLAGS_NOUSBSTORAGE; - else if (!strcasecmp(argv[i], "nousb")) - flags |= LOADER_FLAGS_NOUSB; - else if (!strcasecmp(argv[i], "ub")) - flags |= LOADER_FLAGS_UB; else if (!strcasecmp(argv[i], "allowwireless")) flags |= LOADER_FLAGS_ALLOW_WIRELESS; else if (!strcasecmp(argv[i], "telnet")) 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_NONET | LOADER_FLAGS_NOSTORAGE | LOADER_FLAGS_NOUSB | LOADER_FLAGS_NOIEEE1394); - else if (!strcasecmp(argv[i], "nopcmcia")) - flags |= LOADER_FLAGS_NOPCMCIA; + flags |= LOADER_FLAGS_NOPROBE; else if (!strcasecmp(argv[i], "text")) { logMessage(INFO, "text mode forced from cmdline"); flags |= LOADER_FLAGS_TEXT; @@ -794,6 +780,15 @@ static void parseCmdLineFlags(struct loaderData_s * loaderData, flags |= LOADER_FLAGS_NOIPV6; else if (!strcasecmp(argv[i], "kssendmac")) flags |= LOADER_FLAGS_KICKSTART_SEND_MAC; + /* deprecated hardware bits */ + else if (!strcasecmp(argv[i], "nousbstorage")) + mlAddBlacklist("usb-storage"); + else if (!strcasecmp(argv[i], "nousb")) { + mlAddBlacklist("ehci-hcd"); + mlAddBlacklist("ohci-hcd"); + mlAddBlacklist("uhci-hcd"); + } else if (!strcasecmp(argv[i], "nofirewire")) + mlAddBlacklist("firewire-ohci"); else if (!strncasecmp(argv[i], "loglevel=", 9)) { if (!strcasecmp(argv[i]+9, "debug")) { loaderData->logLevel = strdup(argv[i]+9); diff --git a/loader2/loader.h b/loader2/loader.h index 5bfc67a4a..a2001d291 100644 --- a/loader2/loader.h +++ b/loader2/loader.h @@ -36,7 +36,7 @@ #define LOADER_FLAGS_KICKSTART (((uint64_t) 1) << 4) #define LOADER_FLAGS_KICKSTART_SEND_MAC (((uint64_t) 1) << 5) #define LOADER_FLAGS_POWEROFF (((uint64_t) 1) << 6) -#define LOADER_FLAGS_NONET (((uint64_t) 1) << 7) +#define LOADER_FLAGS_NOPROBE (((uint64_t) 1) << 7) #define LOADER_FLAGS_MODDISK (((uint64_t) 1) << 8) /* #9 is the most delicious of all flags, also available for use */ #define LOADER_FLAGS_SERIAL (((uint64_t) 1) << 10) @@ -45,21 +45,20 @@ #define LOADER_FLAGS_HALT (((uint64_t) 1) << 13) #define LOADER_FLAGS_SELINUX (((uint64_t) 1) << 14) #define LOADER_FLAGS_VIRTPCONSOLE (((uint64_t) 1) << 15) -#define LOADER_FLAGS_NOUSB (((uint64_t) 1) << 16) +/* #16 unused */ #define LOADER_FLAGS_NOSHELL (((uint64_t) 1) << 17) #define LOADER_FLAGS_NOPCMCIA (((uint64_t) 1) << 18) #define LOADER_FLAGS_TELNETD (((uint64_t) 1) << 19) #define LOADER_FLAGS_NOPASS (((uint64_t) 1) << 20) -#define LOADER_FLAGS_UB (((uint64_t) 1) << 21) +/* #21 unused */ #define LOADER_FLAGS_MEDIACHECK (((uint64_t) 1) << 22) -#define LOADER_FLAGS_NOUSBSTORAGE (((uint64_t) 1) << 23) +/* #23 unused */ #define LOADER_FLAGS_ASKMETHOD (((uint64_t) 1) << 24) #define LOADER_FLAGS_ASKNETWORK (((uint64_t) 1) << 25) -#define LOADER_FLAGS_NOIEEE1394 (((uint64_t) 1) << 26) -#define LOADER_FLAGS_NOFB (((uint64_t) 1) << 27) +/* #26 unused */ +/* #27 unused */ #define LOADER_FLAGS_CMDLINE (((uint64_t) 1) << 28) #define LOADER_FLAGS_GRAPHICAL (((uint64_t) 1) << 29) -#define LOADER_FLAGS_NOSTORAGE (((uint64_t) 1) << 30) #define LOADER_FLAGS_NOIPV4 (((uint64_t) 1) << 31) #define LOADER_FLAGS_NOIPV6 (((uint64_t) 1) << 32) #define LOADER_FLAGS_IP_PARAM (((uint64_t) 1) << 33) @@ -74,31 +73,22 @@ #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_NONET(a) ((a) & LOADER_FLAGS_NONET) +#define FL_NOPROBE(a) ((a) & LOADER_FLAGS_NOPROBE) #define FL_MODDISK(a) ((a) & LOADER_FLAGS_MODDISK) #define FL_SERIAL(a) ((a) & LOADER_FLAGS_SERIAL) #define FL_UPDATES(a) ((a) & LOADER_FLAGS_UPDATES) #define FL_KSFILE(a) ((a) & LOADER_FLAGS_KSFILE) -#define FL_NOUSB(a) ((a) & LOADER_FLAGS_NOUSB) #define FL_NOSHELL(a) ((a) & LOADER_FLAGS_NOSHELL) -#define FL_NOFB(a) ((a) & LOADER_FLAGS_NOFB) -#define FL_NOPCMCIA(a) ((a) & LOADER_FLAGS_NOPCMCIA) #define FL_TELNETD(a) ((a) & LOADER_FLAGS_TELNETD) #define FL_NOPASS(a) ((a) & LOADER_FLAGS_NOPASS) #define FL_MEDIACHECK(a) ((a) & LOADER_FLAGS_MEDIACHECK) -#define FL_NOUSBSTORAGE(a) ((a) & LOADER_FLAGS_NOUSBSTORAGE) #define FL_ASKMETHOD(a) ((a) & LOADER_FLAGS_ASKMETHOD) -#define FL_NOIEEE1394(a) ((a) & LOADER_FLAGS_NOIEEE1394) -#define FL_NOFB(a) ((a) & LOADER_FLAGS_NOFB) #define FL_GRAPHICAL(a) ((a) & LOADER_FLAGS_GRAPHICAL) #define FL_CMDLINE(a) ((a) & LOADER_FLAGS_CMDLINE) #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))) #define FL_ASKNETWORK(a) ((a) & LOADER_FLAGS_ASKNETWORK) -#define FL_UB(a) ((a) & LOADER_FLAGS_UB) #define FL_NOIPV4(a) ((a) & LOADER_FLAGS_NOIPV4) #define FL_NOIPV6(a) ((a) & LOADER_FLAGS_NOIPV6) #define FL_IP_PARAM(a) ((a) & LOADER_FLAGS_IP_PARAM) diff --git a/loader2/modules.c b/loader2/modules.c index 4b49f2a9d..224f69d12 100644 --- a/loader2/modules.c +++ b/loader2/modules.c @@ -97,6 +97,13 @@ static void readBlacklist() { } } +void mlAddBlacklist(char *module) { + blacklists = realloc(blacklists, sizeof(*blacklists) * (numblacklists + 1)); + blacklists[numblacklists] = strdup(module); + numblacklists++; + writeModulesConf("/etc/modprobe.d/anaconda"); +} + static void addOption(const char *module, const char *option) { int found = 0, i; diff --git a/loader2/modules.h b/loader2/modules.h index b276ce4ea..6c0d8adcd 100644 --- a/loader2/modules.h +++ b/loader2/modules.h @@ -25,5 +25,6 @@ void mlInitModuleConfig(); int mlLoadModule(const char * module, char ** args); int mlLoadModuleSet(const char * modNames); +void mlAddBlacklist(char *module); void mlRemoveBlacklist(char *module); #endif |