diff options
author | Erik Troan <ewt@redhat.com> | 2000-05-19 15:40:30 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 2000-05-19 15:40:30 +0000 |
commit | aa9784860a4535bd6c214ca16072ca91733aa33e (patch) | |
tree | 036d71fb31b62588e0c957c9276c1e4eebe4a316 /loader | |
parent | b2f340b137b620984cdda588fc93cac0232a6369 (diff) | |
download | anaconda-aa9784860a4535bd6c214ca16072ca91733aa33e.tar.gz anaconda-aa9784860a4535bd6c214ca16072ca91733aa33e.tar.xz anaconda-aa9784860a4535bd6c214ca16072ca91733aa33e.zip |
support --class in it's various incarnations
Diffstat (limited to 'loader')
-rw-r--r-- | loader/loader.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/loader/loader.c b/loader/loader.c index ac8a1be34..20dbc86f3 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1697,7 +1697,7 @@ static char * setupKickstart(char * location, struct knownDevices * kd, } static int parseCmdLineFlags(int flags, char * cmdLine, char ** ksSource, - char ** ksDevice) { + char ** ksDevice, char ** instClass) { int fd; char buf[500]; int len; @@ -1729,6 +1729,10 @@ static int parseCmdLineFlags(int flags, char * cmdLine, char ** ksSource, flags |= LOADER_FLAGS_TEXT; else if (!strcasecmp(argv[i], "updates")) flags |= LOADER_FLAGS_UPDATES; + else if (!strcasecmp(argv[i], "upgrade")) + *instClass = "upgradeonly"; + else if (!strncasecmp(argv[i], "class=", 6)) + *instClass = argv[i] + 6; else if (!strcasecmp(argv[i], "isa")) flags |= LOADER_FLAGS_ISA; else if (!strcasecmp(argv[i], "mcheck")) @@ -2100,6 +2104,7 @@ int main(int argc, char ** argv) { char * lang = NULL; char * keymap = NULL; char * kbdtype = NULL; + char * instClass = NULL; struct knownDevices kd; moduleInfoSet modInfo; char * where; @@ -2163,7 +2168,8 @@ int main(int argc, char ** argv) { if (testing) flags |= LOADER_FLAGS_TESTING; - flags = parseCmdLineFlags(flags, cmdLine, &ksSource, &ksNetDevice); + flags = parseCmdLineFlags(flags, cmdLine, &ksSource, &ksNetDevice, + &instClass); if (FL_SERIAL(flags) && !getenv("DISPLAY")) flags |= LOADER_FLAGS_TEXT; @@ -2446,6 +2452,11 @@ int main(int argc, char ** argv) { *argptr++ = kbdtype; } + if (instClass) { + *argptr++ = "--class"; + *argptr++ = instClass; + } + #ifndef __ia64__ for (i = 0; i < modLoaded->numModules; i++) { if (!modLoaded->mods[i].path) continue; |