summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorErik Troan <ewt@redhat.com>2000-05-19 15:40:30 +0000
committerErik Troan <ewt@redhat.com>2000-05-19 15:40:30 +0000
commitaa9784860a4535bd6c214ca16072ca91733aa33e (patch)
tree036d71fb31b62588e0c957c9276c1e4eebe4a316 /loader
parentb2f340b137b620984cdda588fc93cac0232a6369 (diff)
downloadanaconda-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.c15
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;