diff options
author | David Cantrell <dcantrell@redhat.com> | 2006-06-12 17:43:59 +0000 |
---|---|---|
committer | David Cantrell <dcantrell@redhat.com> | 2006-06-12 17:43:59 +0000 |
commit | e79e0942edb54246fecfe242647df8170c308f13 (patch) | |
tree | dae9b8d3b556c179f09e71f64ffd864ae137a988 /loader2 | |
parent | ffe866cc310ab410418a7a0ed0723a22fd29085c (diff) | |
download | anaconda-e79e0942edb54246fecfe242647df8170c308f13.tar.gz anaconda-e79e0942edb54246fecfe242647df8170c308f13.tar.xz anaconda-e79e0942edb54246fecfe242647df8170c308f13.zip |
Make the boot flags variable global. We don't need to pass it (or a pointer to it) all over the place.
Diffstat (limited to 'loader2')
37 files changed, 430 insertions, 430 deletions
diff --git a/loader2/cdinstall.c b/loader2/cdinstall.c index a022d74c3..597b4d3a7 100644 --- a/loader2/cdinstall.c +++ b/loader2/cdinstall.c @@ -42,6 +42,9 @@ #include "../isys/imount.h" #include "../isys/isys.h" +/* boot flags */ +extern int flags; + static int getISOStatusFromFD(int isofd, char *mediasum); /* ejects the CD device the device node /tmp/cdrom points at */ @@ -235,7 +238,7 @@ static void writeISOStatus(int status, char *mediasum) { /* ask about doing media check */ /* JKFIXME: Assumes CD is mounted as /mnt/source */ -static void queryCDMediaCheck(char *dev, int flags) { +static void queryCDMediaCheck(char *dev) { int rc; char mediasum[33]; int isostatus; @@ -252,7 +255,7 @@ static void queryCDMediaCheck(char *dev, int flags) { /* in rescue mode only test if they explicitly asked to */ if ((!isostatus && !FL_RESCUE(flags)) || FL_MEDIACHECK(flags)) { - startNewt(flags); + startNewt(); rc = newtWinChoice(_("CD Found"), _("OK"), _("Skip"), _("To begin testing the CD media before installation press %s.\n\n" @@ -277,7 +280,6 @@ static void queryCDMediaCheck(char *dev, int flags) { /* set up a cdrom, nominally for installation * * location: where to mount the cdrom at JKFIXME: ignored - * flags: usual loader flags * interactive: whether or not to prompt about questions/errors (1 is yes) * * loaderData is the kickstart info, can be NULL meaning no info @@ -292,7 +294,6 @@ char * setupCdrom(char * location, moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, - int flags, int interactive, int requirepkgs) { int i, rc; @@ -347,7 +348,7 @@ char * setupCdrom(char * location, } /* do the media check */ - queryCDMediaCheck(devices[i]->device, flags); + queryCDMediaCheck(devices[i]->device); /* if in rescue mode and we copied stage2 to RAM */ /* we can now unmount the CD */ @@ -399,9 +400,8 @@ char * findAnacondaCD(char * location, moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, - int flags, - int requirepkgs) { - return setupCdrom(location, NULL, modInfo, modLoaded, modDeps, flags, 0, requirepkgs); + int requirepkgs) { + return setupCdrom(location, NULL, modInfo, modLoaded, modDeps, 0, requirepkgs); } @@ -410,19 +410,18 @@ char * findAnacondaCD(char * location, char * mountCdromImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags) { + moduleDeps * modDepsPtr) { - return setupCdrom(location, loaderData, modInfo, modLoaded, *modDepsPtr, flags, 1, 1); + return setupCdrom(location, loaderData, modInfo, modLoaded, *modDepsPtr, 1, 1); } -void setKickstartCD(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { +void setKickstartCD(struct loaderData_s * loaderData, int argc, char ** argv) { logMessage(INFO, "kickstartFromCD"); loaderData->method = strdup("cdrom"); } -int kickstartFromCD(char *kssrc, int flags) { +int kickstartFromCD(char *kssrc) { int rc; char *p, *kspath; struct device ** devices; @@ -446,7 +445,7 @@ int kickstartFromCD(char *kssrc, int flags) { if ((rc=getKickstartFromBlockDevice(devices[0]->device, kspath))) { if (rc == 3) { - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), _("Cannot find kickstart file on CDROM.")); } diff --git a/loader2/cdinstall.h b/loader2/cdinstall.h index 69bc407e6..cf3a64e11 100644 --- a/loader2/cdinstall.h +++ b/loader2/cdinstall.h @@ -6,18 +6,15 @@ char * mountCdromImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags); + moduleDeps * modDepsPtr); -char * findAnacondaCD(char * location, - moduleInfoSet modInfo, - moduleList modLoaded, - moduleDeps modDeps, - int flags, - int requirepkgs); +char * findAnacondaCD(char * location, moduleInfoSet modInfo, + moduleList modLoaded, moduleDeps modDeps, + int requirepkgs); void setKickstartCD(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); -int kickstartFromCD(char *kssrc, int flags); +int kickstartFromCD(char *kssrc); #endif diff --git a/loader2/driverdisk.c b/loader2/driverdisk.c index 99c681350..75a882d7a 100644 --- a/loader2/driverdisk.c +++ b/loader2/driverdisk.c @@ -45,13 +45,16 @@ #include "../isys/imount.h" #include "../isys/eddsupport.h" +/* boot flags */ +extern int flags; + static char * driverDiskFiles[] = { "modinfo", "modules.dep", "pcitable", "modules.cgz", NULL }; static char * optionalFiles[] = { "modules.pcimap", "pci.ids", NULL }; -static int verifyDriverDisk(char *mntpt, int flags) { +static int verifyDriverDisk(char *mntpt) { char ** fnPtr; char file[200]; struct stat sb; @@ -86,7 +89,7 @@ static int verifyDriverDisk(char *mntpt, int flags) { /* this copies the contents of the driver disk to a ramdisk and loads * the moduleinfo, etc. assumes a "valid" driver disk mounted at mntpt */ static int loadDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, char *mntpt, int flags) { + moduleDeps * modDepsPtr, char *mntpt) { char file[200], dest[200]; char * title; char ** fnPtr; @@ -120,7 +123,7 @@ static int loadDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, mkdirChain(file); if (!FL_CMDLINE(flags)) { - startNewt(flags); + startNewt(); winStatus(40, 3, _("Loading"), _("Reading driver disk...")); } @@ -230,7 +233,7 @@ int getRemovableDevices(char *** devNames) { */ int loadDriverFromMedia(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, - int flags, int usecancel, int noprobe) { + int usecancel, int noprobe) { char * device = NULL, * part = NULL, * ddfile = NULL; char ** devNames = NULL; @@ -260,7 +263,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, } dir = 1; - startNewt(flags); + startNewt(); rc = newtWinMenu(_("Driver Disk Source"), _("You have multiple devices which could serve " "as sources for a driver disk. Which would " @@ -292,7 +295,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, } dir = 1; - startNewt(flags); + startNewt(); rc = newtWinMenu(_("Driver Disk Source"), _("There are multiple partitions on this device " "which could contain the driver disk image. " @@ -405,7 +408,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, } } - rc = verifyDriverDisk("/tmp/drivers", flags); + rc = verifyDriverDisk("/tmp/drivers"); if (rc == LOADER_BACK) { umount("/tmp/drivers"); stage = DEV_INSERT; @@ -426,7 +429,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, for(; devices[before]; before++); rc = loadDriverDisk(modInfo, modLoaded, modDepsPtr, - "/tmp/drivers", flags); + "/tmp/drivers"); umount("/tmp/drivers"); if (rc == LOADER_BACK) { dir = -1; @@ -456,7 +459,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, break; } - busProbe(modInfo, modLoaded, *modDepsPtr, 0, flags); + busProbe(modInfo, modLoaded, *modDepsPtr, 0); devices = probeDevices(class, BUS_UNSPEC, PROBE_LOADED); if (devices) @@ -485,8 +488,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, * beginning with them */ stage = DEV_DEVICE; } else { - rc = chooseManualDriver(class, modLoaded, modDepsPtr, modInfo, - flags); + rc = chooseManualDriver(class, modLoaded, modDepsPtr, modInfo); /* if they go back from a manual driver, we'll ask again. * if they load something, assume it's what we need */ if (rc == LOADER_OK) { @@ -508,8 +510,7 @@ int loadDriverFromMedia(int class, moduleList modLoaded, /* looping way to load driver disks */ int loadDriverDisks(int class, moduleList modLoaded, - moduleDeps * modDepsPtr, moduleInfoSet modInfo, - int flags) { + moduleDeps * modDepsPtr, moduleInfoSet modInfo) { int rc; rc = newtWinChoice(_("Driver disk"), _("Yes"), _("No"), @@ -518,7 +519,7 @@ int loadDriverDisks(int class, moduleList modLoaded, return LOADER_OK; rc = loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, - flags, 1, 0); + 1, 0); if (rc == LOADER_BACK) return LOADER_OK; @@ -528,40 +529,37 @@ int loadDriverDisks(int class, moduleList modLoaded, if (rc != 1) break; loadDriverFromMedia(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, - flags, 0, 0); + 0, 0); } while (1); return LOADER_OK; } -static void loadFromLocation(struct loaderData_s * loaderData, - char * dir, int flags) { - if (verifyDriverDisk(dir, flags) == LOADER_BACK) { +static void loadFromLocation(struct loaderData_s * loaderData, char * dir) { + if (verifyDriverDisk(dir) == LOADER_BACK) { logMessage(ERROR, "not a valid driver disk"); return; } loadDriverDisk(loaderData->modInfo, loaderData->modLoaded, - loaderData->modDepsPtr, dir, flags); + loaderData->modDepsPtr, dir); busProbe(loaderData->modInfo, loaderData->modLoaded, * - loaderData->modDepsPtr, 0, flags); + loaderData->modDepsPtr, 0); } -void getDDFromSource(struct loaderData_s * loaderData, - char * src, int flags) { +void getDDFromSource(struct loaderData_s * loaderData, char * src) { char *path = "/tmp/dd.img"; int unlinkf = 0; if (!strncmp(src, "nfs:", 4)) { unlinkf = 1; - if (getFileFromNfs(src + 4, "/tmp/dd.img", loaderData, - flags)) { + if (getFileFromNfs(src + 4, "/tmp/dd.img", loaderData)) { logMessage(ERROR, "unable to retrieve driver disk: %s", src); return; } } else if (!strncmp(src, "ftp://", 6) || !strncmp(src, "http://", 7)) { unlinkf = 1; - if (getFileFromUrl(src, "/tmp/dd.img", loaderData, flags)) { + if (getFileFromUrl(src, "/tmp/dd.img", loaderData)) { logMessage(ERROR, "unable to retrieve driver disk: %s", src); return; } @@ -570,7 +568,7 @@ void getDDFromSource(struct loaderData_s * loaderData, #if !defined(__s390__) && !defined(__s390x__) } else if (!strncmp(src, "cdrom", 5)) { loadDriverDisks(CLASS_UNSPEC, loaderData->modLoaded, - loaderData->modDepsPtr, loaderData->modInfo, flags); + loaderData->modDepsPtr, loaderData->modInfo); return; #endif } else if (!strncmp(src, "path:", 5)) { @@ -582,7 +580,7 @@ void getDDFromSource(struct loaderData_s * loaderData, } if (!mountLoopback(path, "/tmp/drivers", "loop6")) { - loadFromLocation(loaderData, "/tmp/drivers", flags); + loadFromLocation(loaderData, "/tmp/drivers"); umountLoopback("/tmp/drivers", "loop6"); unlink("/tmp/drivers"); if (unlinkf) unlink(path); @@ -591,10 +589,10 @@ void getDDFromSource(struct loaderData_s * loaderData, } static void getDDFromDev(struct loaderData_s * loaderData, char * dev, - char * fstype, int flags); + char * fstype); void useKickstartDD(struct loaderData_s * loaderData, - int argc, char ** argv, int * flagsPtr) { + int argc, char ** argv) { char * fstype = NULL; char * dev = NULL; char * src = NULL; @@ -604,7 +602,6 @@ void useKickstartDD(struct loaderData_s * loaderData, poptContext optCon; int rc; - int flags = *flagsPtr; struct poptOption ksDDOptions[] = { { "type", '\0', POPT_ARG_STRING, &fstype, 0, NULL, NULL }, { "source", '\0', POPT_ARG_STRING, &src, 0, NULL, NULL }, @@ -647,14 +644,14 @@ void useKickstartDD(struct loaderData_s * loaderData, } if (dev) { - return getDDFromDev(loaderData, dev, fstype, flags); + return getDDFromDev(loaderData, dev, fstype); } else { - return getDDFromSource(loaderData, src, flags); + return getDDFromSource(loaderData, src); } } static void getDDFromDev(struct loaderData_s * loaderData, char * dev, - char * fstype, int flags) { + char * fstype) { devMakeInode(dev, "/tmp/dddev"); if (fstype) { if (doPwMount("/tmp/dddev", "/tmp/drivers", fstype, @@ -671,7 +668,7 @@ static void getDDFromDev(struct loaderData_s * loaderData, char * dev, } } - loadFromLocation(loaderData, "/tmp/drivers", flags); + loadFromLocation(loaderData, "/tmp/drivers"); umount("/tmp/drivers"); unlink("/tmp/drivers"); unlink("/tmp/dddev"); diff --git a/loader2/driverdisk.h b/loader2/driverdisk.h index 63173817c..dfa7e4679 100644 --- a/loader2/driverdisk.h +++ b/loader2/driverdisk.h @@ -8,20 +8,18 @@ int loadDriverFromMedia(int class, moduleList modLoaded, moduleDeps * modDepsPtr, moduleInfoSet modInfo, - int flags, int usecancel, int noprobe); + int usecancel, int noprobe); int loadDriverDisks(int class, moduleList modLoaded, - moduleDeps * modDepsPtr, moduleInfoSet modInfo, int flags); + moduleDeps * modDepsPtr, moduleInfoSet modInfo); int getRemovableDevices(char *** devNames); int chooseManualDriver(int class, moduleList modLoaded, - moduleDeps * modDepsPtr, moduleInfoSet modInfo, - int flags); + moduleDeps * modDepsPtr, moduleInfoSet modInfo); void useKickstartDD(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); -void getDDFromSource(struct loaderData_s * loaderData, - char * src, int flags); +void getDDFromSource(struct loaderData_s * loaderData, char * src); #endif diff --git a/loader2/driverselect.c b/loader2/driverselect.c index 66614f377..5337e7ba7 100644 --- a/loader2/driverselect.c +++ b/loader2/driverselect.c @@ -135,8 +135,7 @@ static int getManualModuleArgs(struct moduleInfo * mod, char *** moduleArgs) { } int chooseManualDriver(int class, moduleList modLoaded, - moduleDeps * modDepsPtr, moduleInfoSet modInfo, - int flags) { + moduleDeps * modDepsPtr, moduleInfoSet modInfo) { int i, numSorted, num = 0, done = 0; enum driverMajor type; struct sortModuleList * sortedOrder; @@ -185,8 +184,7 @@ int chooseManualDriver(int class, moduleList modLoaded, if (i != 1) return LOADER_BACK; - loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, - flags, 1, 1); + loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, 1, 1); continue; } else { break; @@ -260,14 +258,12 @@ int chooseManualDriver(int class, moduleList modLoaded, if (done == -1) return LOADER_BACK; if (done == -2) { - loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, - flags, 1, 1); - return chooseManualDriver(class, modLoaded, modDepsPtr, modInfo, - flags); + loadDriverFromMedia(class, modLoaded, modDepsPtr, modInfo, 1, 1); + return chooseManualDriver(class, modLoaded, modDepsPtr, modInfo); } mlLoadModule(modInfo->moduleList[num].moduleName, modLoaded, modDeps, - modInfo, moduleArgs, flags); + modInfo, moduleArgs); free(sortedOrder); return LOADER_OK; diff --git a/loader2/firewire.c b/loader2/firewire.c index 0b30fb41c..d26d0a2df 100644 --- a/loader2/firewire.c +++ b/loader2/firewire.c @@ -25,8 +25,11 @@ #include "modules.h" #include "windows.h" +/* boot flags */ +extern int flags; + int firewireInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { struct device ** devices; int i = 0; int found = 0; @@ -40,7 +43,7 @@ int firewireInitialize(moduleList modLoaded, moduleDeps modDeps, return 0; } - startNewt(flags); + startNewt(); /* JKFIXME: if we looked for all of them, we could batch this up and it * would be faster */ @@ -52,8 +55,7 @@ int firewireInitialize(moduleList modLoaded, moduleDeps modDeps, winStatus(40, 3, _("Loading"), _("Loading %s driver..."), devices[0]->driver); - if (mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, - modInfo, flags)) { + if (mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, modInfo)) { logMessage(ERROR, "failed to insert firewire module"); } else { found++; @@ -80,8 +82,7 @@ int firewireInitialize(moduleList modLoaded, moduleDeps modDeps, if ((devices[i]->detached == 0) && (devices[i]->driver != NULL)) { logMessage(INFO, "found firewire device using %s", devices[i]->device); - mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, - modInfo, flags); + mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, modInfo); } } diff --git a/loader2/firewire.h b/loader2/firewire.h index 311532104..9fcdf8c1c 100644 --- a/loader2/firewire.h +++ b/loader2/firewire.h @@ -2,6 +2,6 @@ #define H_FIREWIRE int firewireInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); #endif diff --git a/loader2/hardware.c b/loader2/hardware.c index 2b26cc468..956c04026 100644 --- a/loader2/hardware.c +++ b/loader2/hardware.c @@ -36,6 +36,8 @@ #include <linux/hdreg.h> #include "../isys/isys.h" +/* boot flags */ +extern int flags; /* returns whether or not we can probe devices automatically or have to * ask for them manually. */ @@ -56,8 +58,7 @@ int canProbeDevices(void) { return 1; } -static int detectHardware(moduleInfoSet modInfo, - char *** modules, int flags) { +static int detectHardware(moduleInfoSet modInfo, char *** modules) { struct device ** devices, ** device; char ** modList; int numMods; @@ -128,7 +129,7 @@ static int detectHardware(moduleInfoSet modInfo, } int scsiTapeInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { struct device ** devices; if (FL_TESTING(flags)) return 0; @@ -144,7 +145,7 @@ int scsiTapeInitialize(moduleList modLoaded, moduleDeps modDeps, logMessage(INFO, "scsi tape device(s) found, loading st.ko"); - if (mlLoadModuleSet("st", modLoaded, modDeps, modInfo, flags)) { + if (mlLoadModuleSet("st", modLoaded, modDeps, modInfo)) { logMessage(ERROR, "failed to insert st module"); return 1; } @@ -154,11 +155,11 @@ int scsiTapeInitialize(moduleList modLoaded, moduleDeps modDeps, int probeiSeries(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int flags) { + moduleDeps modDeps) { /* this is a hack since we can't really probe on iSeries */ #ifdef __powerpc__ if (!access("/proc/iSeries", X_OK)) { - mlLoadModuleSet("iseries_veth:veth:viodasd:viocd", modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet("iseries_veth:veth:viodasd:viocd", modLoaded, modDeps, modInfo); } #endif return 0; @@ -171,7 +172,7 @@ int probeiSeries(moduleInfoSet modInfo, moduleList modLoaded, * but is done as a quick hack for the present. */ int earlyModuleLoad(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int justProbe, int flags) { + moduleDeps modDeps, int justProbe) { int fd, len, i; char buf[1024], *cmdLine; int argc; @@ -195,28 +196,28 @@ int earlyModuleLoad(moduleInfoSet modInfo, moduleList modLoaded, for (i=0; i < argc; i++) { if (!strncasecmp(argv[i], "driverload=", 11)) { logMessage(INFO, "loading %s early", argv[i] + 11); - mlLoadModuleSet(argv[i] + 11, modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet(argv[i] + 11, modLoaded, modDeps, modInfo); } } return 0; } int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, - int justProbe, int flags) { + int justProbe) { int i; char ** modList; char modules[1024]; /* we always want to try to find out about pcmcia controllers even * if using noprobe */ - initializePcmciaController(modLoaded, modDeps, modInfo, flags); + initializePcmciaController(modLoaded, modDeps, modInfo); /* we can't really *probe* on iSeries, but we can pretend */ - probeiSeries(modInfo, modLoaded, modDeps, flags); + probeiSeries(modInfo, modLoaded, modDeps); if (canProbeDevices()) { /* autodetect whatever we can */ - if (detectHardware(modInfo, &modList, flags)) { + if (detectHardware(modInfo, &modList)) { logMessage(ERROR, "failed to scan pci bus!"); return 0; } else if (modList && justProbe) { @@ -230,7 +231,7 @@ int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, strcat(modules, modList[i]); } - mlLoadModuleSet(modules, modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet(modules, modLoaded, modDeps, modInfo); } else logMessage(INFO, "found nothing"); } @@ -240,31 +241,31 @@ int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, void ipv6Setup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { if (!FL_NOIPV6(flags)) - mlLoadModule("ipv6", modLoaded, modDeps, modInfo, NULL, flags); + mlLoadModule("ipv6", modLoaded, modDeps, modInfo, NULL); } void scsiSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { - mlLoadModuleSet("scsi_mod:sd_mod:sr_mod", modLoaded, modDeps, modInfo, flags); + moduleInfoSet modInfo) { + mlLoadModuleSet("scsi_mod:sd_mod:sr_mod", modLoaded, modDeps, modInfo); #if defined(__s390__) || defined(__s390x__) - mlLoadModule("zfcp", modLoaded, modDeps, modInfo, NULL, flags); + mlLoadModule("zfcp", modLoaded, modDeps, modInfo, NULL); #endif if (FL_ISCSI(flags)) - mlLoadModule("iscsi_tcp", modLoaded, modDeps, modInfo, NULL, flags); + mlLoadModule("iscsi_tcp", modLoaded, modDeps, modInfo, NULL); } void ideSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { #if 0 struct device ** devices; int fd, i; #endif - mlLoadModuleSet("cdrom:ide-cd", modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet("cdrom:ide-cd", modLoaded, modDeps, modInfo); /* nuke this for now */ #if 0 @@ -309,7 +310,7 @@ void ideSetup(moduleList modLoaded, moduleDeps modDeps, /* then parse proc to find active DASDs */ /* Reload dasd_mod with correct range of DASD ports */ void dasdSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { #if !defined(__s390__) && !defined(__s390x__) return; #else @@ -341,18 +342,17 @@ void dasdSetup(moduleList modLoaded, moduleDeps modDeps, free(line); } if(dasd_parms[0]) { - mlLoadModule("dasd_mod", modLoaded, modDeps, modInfo, - dasd_parms, flags); + mlLoadModule("dasd_mod", modLoaded, modDeps, modInfo, dasd_parms); mlLoadModuleSet("dasd_diag_mod:dasd_fba_mod:dasd_eckd_mod", - modLoaded, modDeps, modInfo, flags); + modLoaded, modDeps, modInfo); free(dasd_parms); return; } else { dasd_parms[0] = "dasd=autodetect"; - mlLoadModule("dasd_mod", modLoaded, modDeps, modInfo, dasd_parms, flags); + mlLoadModule("dasd_mod", modLoaded, modDeps, modInfo, dasd_parms); mlLoadModuleSet("dasd_diag_mod:dasd_fba_mod:dasd_eckd_mod", - modLoaded, modDeps, modInfo, flags); + modLoaded, modDeps, modInfo); free(dasd_parms); } #endif diff --git a/loader2/hardware.h b/loader2/hardware.h index 9c8e13c91..5da7bf6b5 100644 --- a/loader2/hardware.h +++ b/loader2/hardware.h @@ -6,21 +6,21 @@ int canProbeDevices(void); int scsiTapeInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); int earlyModuleLoad(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int justProbe, int flags); + moduleDeps modDeps, int justProbe); int busProbe(moduleInfoSet modInfo, moduleList modLoaded, moduleDeps modDeps, - int justProbe, int flags); + int justProbe); void scsiSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); void ideSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); void dasdSetup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); void ipv6Setup(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); #endif diff --git a/loader2/hdinstall.c b/loader2/hdinstall.c index 1f3118778..b8df57dbe 100644 --- a/loader2/hdinstall.c +++ b/loader2/hdinstall.c @@ -42,9 +42,11 @@ #include "../isys/isys.h" #include "../isys/eddsupport.h" +/* boot flags */ +extern int flags; /* pull in second stage image for hard drive install */ -static int loadHDImages(char * prefix, char * dir, int flags, +static int loadHDImages(char * prefix, char * dir, char * device, char * mntpoint) { int fd, rc, idx; char *path, *target, *dest; @@ -92,7 +94,7 @@ static int loadHDImages(char * prefix, char * dir, int flags, dest = alloca(strlen(target) + 50); sprintf(dest,"/tmp/ramfs/%s", target); - rc = copyFileAndLoopbackMount(fd, dest, flags, device, mntpoint); + rc = copyFileAndLoopbackMount(fd, dest, device, mntpoint); close(fd); if (!verifyStamp(mntpoint)) { @@ -111,7 +113,7 @@ static int loadHDImages(char * prefix, char * dir, int flags, #if 0 /* Unused now */ /* mount loopback second stage image for hard drive install */ -static int mountHDImages(char * prefix, char * dir, int flags, +static int mountHDImages(char * prefix, char * dir, char * device, char * mntpoint, int checkstamp) { int idx, rc; @@ -169,7 +171,7 @@ static int mountHDImages(char * prefix, char * dir, int flags, #endif /* given a partition device and directory, tries to mount hd install image */ -static char * setupIsoImages(char * device, char * dirName, int flags) { +static char * setupIsoImages(char * device, char * dirName) { int rc; char * url; char filespec[1024]; @@ -208,7 +210,7 @@ static char * setupIsoImages(char * device, char * dirName, int flags) { if (!rc) { /* This code is for copying small stage2 into ram */ /* and mounting */ - rc = loadHDImages("/tmp/loopimage", "/", flags, "loop1", + rc = loadHDImages("/tmp/loopimage", "/", "loop1", "/mnt/runtime"); if (rc) { newtWinMessage(_("Error"), _("OK"), @@ -216,7 +218,7 @@ static char * setupIsoImages(char * device, char * dirName, int flags) { "from the ISO images. Please check your ISO " "images and try again.")); } else { - queryIsoMediaCheck(path, flags); + queryIsoMediaCheck(path); } } @@ -249,7 +251,7 @@ static char * setupIsoImages(char * device, char * dirName, int flags) { char * mountHardDrive(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags) { + moduleDeps * modDepsPtr) { int rc; int i; @@ -293,7 +295,7 @@ char * mountHardDrive(struct installMethod * method, if (!strncmp(kspart, "/dev/", 5)) kspart = kspart + 5; - url = setupIsoImages(kspart, ksdirectory, flags); + url = setupIsoImages(kspart, ksdirectory); if (!url) { logMessage(ERROR, "unable to find %s installation images on hd",getProductName()); free(loaderData->method); @@ -332,7 +334,7 @@ char * mountHardDrive(struct installMethod * method, return NULL; rc = loadDriverFromMedia(CLASS_HD, modLoaded, modDepsPtr, - modInfo, flags, 0, 0); + modInfo, 0, 0); if (rc == LOADER_BACK) return NULL; @@ -418,7 +420,7 @@ char * mountHardDrive(struct installMethod * method, return NULL; } else if (es.reason == NEWT_EXIT_HOTKEY && es.u.key == NEWT_KEY_F2) { rc = loadDriverFromMedia(CLASS_HD, modLoaded, modDepsPtr, - modInfo, flags, 0, 0); + modInfo, 0, 0); if (rc == LOADER_BACK) return NULL; @@ -427,7 +429,7 @@ char * mountHardDrive(struct installMethod * method, logMessage(INFO, "partition %s selected", selpart); - url = setupIsoImages(selpart + 5, dir, flags); + url = setupIsoImages(selpart + 5, dir); if (!url) { newtWinMessage(_("Error"), _("OK"), _("Device %s does not appear to contain " @@ -447,7 +449,7 @@ char * mountHardDrive(struct installMethod * method, } void setKickstartHD(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { char *biospart = NULL, *partition = NULL, *dir = NULL, *p; poptContext optCon; int rc; @@ -463,7 +465,7 @@ void setKickstartHD(struct loaderData_s * loaderData, int argc, logMessage(INFO, "kickstartFromHD"); optCon = poptGetContext(NULL, argc, (const char **) argv, ksHDOptions, 0); if ((rc = poptGetNextOpt(optCon)) < -1) { - startNewt(*flagsPtr); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Bad argument to HD kickstart method " "command %s: %s"), @@ -501,7 +503,7 @@ void setKickstartHD(struct loaderData_s * loaderData, int argc, dir); } -int kickstartFromHD(char *kssrc, int flags) { +int kickstartFromHD(char *kssrc) { int rc; char *p, *q = NULL, *tmpstr, *ksdev, *kspath; @@ -532,7 +534,7 @@ int kickstartFromHD(char *kssrc, int flags) { logMessage(INFO, "Loading ks from device %s on path %s", ksdev, kspath); if ((rc=getKickstartFromBlockDevice(ksdev, kspath))) { if (rc == 3) { - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), _("Cannot find kickstart file on hard drive.")); } @@ -543,7 +545,7 @@ int kickstartFromHD(char *kssrc, int flags) { } -int kickstartFromBD(char *kssrc, int flags) { +int kickstartFromBD(char *kssrc) { int rc; char *p, *q = NULL, *r = NULL, *tmpstr, *ksdev, *kspath, *biosksdev; @@ -575,7 +577,7 @@ int kickstartFromBD(char *kssrc, int flags) { *r = '\0'; biosksdev = getBiosDisk((p + 1)); if(!biosksdev){ - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), _("Cannot find hard drive for BIOS disk %s"), p + 1); @@ -588,7 +590,7 @@ int kickstartFromBD(char *kssrc, int flags) { logMessage(INFO, "Loading ks from device %s on path %s", ksdev, kspath); if ((rc=getKickstartFromBlockDevice(ksdev, kspath))) { if (rc == 3) { - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), _("Cannot find kickstart file on hard drive.")); } diff --git a/loader2/hdinstall.h b/loader2/hdinstall.h index 5f4293e3f..dcb59b34e 100644 --- a/loader2/hdinstall.h +++ b/loader2/hdinstall.h @@ -10,12 +10,12 @@ struct hdInstallData { void setKickstartHD(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); char * mountHardDrive(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags); -int kickstartFromHD(char *kssrc, int flags); -int kickstartFromBD(char *kssrc, int flags); + moduleDeps * modDepsPtr); +int kickstartFromHD(char *kssrc); +int kickstartFromBD(char *kssrc); #endif diff --git a/loader2/kbd.c b/loader2/kbd.c index f8de6c98b..dc87abe67 100644 --- a/loader2/kbd.c +++ b/loader2/kbd.c @@ -31,7 +31,10 @@ #include "../isys/stubs.h" #include "../isys/lang.h" -int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep, int flags) { +/* boot flags */ +extern int flags; + +int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep) { int num = -1; int rc; gzFile f; @@ -65,7 +68,7 @@ int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep, int flags } #endif /* sparc */ - numLanguages = getLangInfo(&languages, flags); + numLanguages = getLangInfo(&languages); lang = getenv("LANG"); if (!lang) @@ -166,7 +169,7 @@ int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep, int flags } void setKickstartKeyboard(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { if (argc < 2) { logMessage(ERROR, "no argument passed to keyboard kickstart command"); return; diff --git a/loader2/kbd.h b/loader2/kbd.h index d4cb70c44..06dcfde24 100644 --- a/loader2/kbd.h +++ b/loader2/kbd.h @@ -1,8 +1,8 @@ #ifndef H_KBD #define H_KBD -int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep, int flags); +int chooseKeyboard(struct loaderData_s * loaderData, char ** kbdtypep); void setKickstartKeyboard(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); #endif diff --git a/loader2/kickstart.c b/loader2/kickstart.c index 7aa9f520f..ecddee87e 100644 --- a/loader2/kickstart.c +++ b/loader2/kickstart.c @@ -48,11 +48,14 @@ #include "../isys/imount.h" #include "../isys/isys.h" +/* boot flags */ +extern int flags; + struct ksCommandNames { int code; char * name; void (*setupData) (struct loaderData_s *loaderData, - int argc, char ** argv, int * flagsPtr); + int argc, char ** argv); } ; struct ksCommand { @@ -61,23 +64,23 @@ struct ksCommand { }; static void setTextMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setGraphicalMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setCmdlineMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setSELinux(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setPowerOff(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setHalt(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setShutdown(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); static void setMediaCheck(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); void loadKickstartModule(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); struct ksCommandNames ksTable[] = { { KS_CMD_NFS, "nfs", setKickstartNfs }, @@ -103,7 +106,7 @@ struct ksCommandNames ksTable[] = { struct ksCommand * commands = NULL; int numCommands = 0; -int ksReadCommands(char * cmdFile, int flags) { +int ksReadCommands(char * cmdFile) { int fd; char * buf; struct stat sb; @@ -117,7 +120,7 @@ int ksReadCommands(char * cmdFile, int flags) { int commandsAlloced = 5; if ((fd = open(cmdFile, O_RDONLY)) < 0) { - startNewt(flags); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Error opening kickstart file %s: %s"), cmdFile, strerror(errno)); @@ -127,7 +130,7 @@ int ksReadCommands(char * cmdFile, int flags) { fstat(fd, &sb); buf = alloca(sb.st_size + 1); if (read(fd, buf, sb.st_size) != sb.st_size) { - startNewt(flags); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Error reading contents of kickstart file %s: %s"), cmdFile, strerror(errno)); @@ -234,7 +237,7 @@ int ksGetCommand(int cmd, char ** last, int * argc, char *** argv) { return 1; } -int kickstartFromFloppy(char *kssrc, int flags) { +int kickstartFromFloppy(char *kssrc) { struct device ** devices; char *p, *kspath; int i, rc; @@ -269,7 +272,7 @@ int kickstartFromFloppy(char *kssrc, int flags) { if ((rc=getKickstartFromBlockDevice(devices[i]->device, kspath))) { if (rc == 3) { - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), _("Cannot find ks.cfg on boot floppy.")); } @@ -311,86 +314,85 @@ void getHostandPath(char * ksSource, char **host, char ** file, char * ip) { } } -void getKickstartFile(struct loaderData_s * loaderData, int * flagsPtr) { +void getKickstartFile(struct loaderData_s * loaderData) { char * c = loaderData->ksFile; - int flags = *flagsPtr; loaderData->ksFile = NULL; if (!strncmp(c, "ks=http://", 10) || !strncmp(c, "ks=ftp://", 9)) { - if (kickstartFromUrl(c + 3, loaderData, flags)) + if (kickstartFromUrl(c + 3, loaderData)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=nfs:", 7)) { - if (kickstartFromNfs(c + 7, loaderData, flags)) + if (kickstartFromNfs(c + 7, loaderData)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=floppy", 9)) { - if (kickstartFromFloppy(c, *flagsPtr)) + if (kickstartFromFloppy(c)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=hd:", 6)) { - if (kickstartFromHD(c, *flagsPtr)) + if (kickstartFromHD(c)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=bd:", 6)) { - if (kickstartFromBD(c, *flagsPtr)) + if (kickstartFromBD(c)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=cdrom", 8)) { - if (kickstartFromCD(c, *flagsPtr)) + if (kickstartFromCD(c)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } else if (!strncmp(c, "ks=file:", 8)) { loaderData->ksFile = c + 8; } else if (!strcmp(c, "ks")) { - if (kickstartFromNfs(NULL, loaderData, flags)) + if (kickstartFromNfs(NULL, loaderData)) return; loaderData->ksFile = strdup("/tmp/ks.cfg"); } - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_KICKSTART; + flags |= LOADER_FLAGS_KICKSTART; return; } static void setTextMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_TEXT; + char ** argv) { + flags |= LOADER_FLAGS_TEXT; return; } static void setGraphicalMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_GRAPHICAL; + char ** argv) { + flags |= LOADER_FLAGS_GRAPHICAL; return; } static void setCmdlineMode(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_CMDLINE; + char ** argv) { + flags |= LOADER_FLAGS_CMDLINE; return; } static void setSELinux(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_SELINUX; + char ** argv) { + flags |= LOADER_FLAGS_SELINUX; return; } static void setPowerOff(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_POWEROFF; + char ** argv) { + flags |= LOADER_FLAGS_POWEROFF; return; } static void setHalt(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_HALT; + char ** argv) { + flags |= LOADER_FLAGS_HALT; return; } static void setShutdown(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { poptContext optCon; int reboot = 0, halt = 0, poweroff = 0; int rc; @@ -405,7 +407,7 @@ static void setShutdown(struct loaderData_s * loaderData, int argc, optCon = poptGetContext(NULL, argc, (const char **) argv, ksOptions, 0); if ((rc = poptGetNextOpt(optCon)) < -1) { - startNewt(*flagsPtr); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Bad argument to shutdown kickstart method " "command %s: %s"), @@ -416,21 +418,20 @@ static void setShutdown(struct loaderData_s * loaderData, int argc, if (poweroff) - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_POWEROFF; + flags |= LOADER_FLAGS_POWEROFF; if ((!poweroff && !reboot) || (halt)) - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_HALT; + flags |= LOADER_FLAGS_HALT; return; } static void setMediaCheck(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { - (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_MEDIACHECK; + char ** argv) { + flags |= LOADER_FLAGS_MEDIACHECK; return; } -void runKickstart(struct loaderData_s * loaderData, - int * flagsPtr) { +void runKickstart(struct loaderData_s * loaderData) { struct ksCommandNames * cmd; int argc; char ** argv; @@ -438,7 +439,7 @@ void runKickstart(struct loaderData_s * loaderData, logMessage(INFO, "setting up kickstart"); for (cmd = ksTable; cmd->name; cmd++) { if ((!ksGetCommand(cmd->code, NULL, &argc, &argv)) && cmd->setupData) { - cmd->setupData(loaderData, argc, argv, flagsPtr); + cmd->setupData(loaderData, argc, argv); } } } diff --git a/loader2/kickstart.h b/loader2/kickstart.h index 3594f706b..69ba3beba 100644 --- a/loader2/kickstart.h +++ b/loader2/kickstart.h @@ -21,12 +21,12 @@ #define KS_CMD_SHUTDOWN 16 #define KS_CMD_MEDIACHECK 17 -int ksReadCommands(char * cmdFile, int flags); +int ksReadCommands(char * cmdFile); int ksGetCommand(int cmd, char ** last, int * argc, char *** argv); int ksHasCommand(int cmd); -void getKickstartFile(struct loaderData_s * loaderData, int * flagsPtr); -void runKickstart(struct loaderData_s * loaderData, int * flagsPtr); +void getKickstartFile(struct loaderData_s * loaderData); +void runKickstart(struct loaderData_s * loaderData); int getKickstartFromBlockDevice(char *device, char *path); void getHostandPath(char * ksSource, char **host, char ** file, char * ip); diff --git a/loader2/lang.c b/loader2/lang.c index 2e6fdb1bc..e019828ef 100644 --- a/loader2/lang.c +++ b/loader2/lang.c @@ -38,6 +38,9 @@ #include "../isys/lang.h" #include "../isys/isys.h" +/* boot flags */ +extern int flags; + struct aString { unsigned int hash; short length; @@ -87,7 +90,7 @@ char * translateString(char * str) { static struct langInfo * languages = NULL; static int numLanguages = 0; -static void loadLanguageList(int flags) { +static void loadLanguageList(void) { char * file = FL_TESTING(flags) ? "../lang-table" : "/etc/lang-table"; FILE * f; @@ -121,15 +124,15 @@ static void loadLanguageList(int flags) { fclose(f); } -int getLangInfo(struct langInfo ** langs, int flags) { +int getLangInfo(struct langInfo ** langs) { if (!languages) - loadLanguageList(flags); + loadLanguageList(); *langs = languages; return numLanguages; } -void loadLanguage (char * file, int flags) { +void loadLanguage (char * file) { char filename[200]; gzFile stream; int fd, hash, rc; @@ -205,7 +208,7 @@ void loadLanguage (char * file, int flags) { * * ASSUMPTION: languages exists */ -static void setLangEnv (int i, int flags) { +static void setLangEnv (int i) { if (i > numLanguages) return; @@ -216,11 +219,11 @@ static void setLangEnv (int i, int flags) { setenv("LANG", languages[i].lc_all, 1); setenv("LANGKEY", languages[i].key, 1); setenv("LINGUAS", languages[i].lang, 1); - loadLanguage (NULL, flags); + loadLanguage (NULL); } /* choice is the index of the chosen language in languages */ -static int setupLanguage(int choice, int flags) { +static int setupLanguage(int choice) { char * buf; int i; @@ -239,7 +242,7 @@ static int setupLanguage(int choice, int flags) { return 0; } - setLangEnv (choice, flags); + setLangEnv (choice); /* clear out top line */ buf = alloca(80); @@ -298,14 +301,14 @@ static char * getLangNick(char * oldLang) { return lang; } -int setLanguage (char * key, int flags) { +int setLanguage (char * key) { int i; - if (!languages) loadLanguageList(flags); + if (!languages) loadLanguageList(); for (i = 0; i < numLanguages; i++) { if (!strcmp(languages[i].lc_all, key)) { - return setupLanguage(i, flags); + return setupLanguage(i); } } @@ -313,13 +316,13 @@ int setLanguage (char * key, int flags) { * against short forms and nicks */ for (i = 0; i < numLanguages; i++) { if (!strcmp(getLangShortForm(languages[i].lc_all), key)) { - return setupLanguage(i, flags); + return setupLanguage(i); } } for (i = 0; i < numLanguages; i++) { if (!strcmp(getLangNick(languages[i].lc_all), key)) { - return setupLanguage(i, flags); + return setupLanguage(i); } } @@ -327,7 +330,7 @@ int setLanguage (char * key, int flags) { return -1; } -int chooseLanguage(char ** lang, int flags) { +int chooseLanguage(char ** lang) { int choice = 0; char ** langs; int i; @@ -337,7 +340,7 @@ int chooseLanguage(char ** lang, int flags) { int numLangs = 0; char * langPicked; - if (!languages) loadLanguageList(flags); + if (!languages) loadLanguageList(); langs = alloca(sizeof(*langs) * (numLanguages + 1)); @@ -375,11 +378,11 @@ int chooseLanguage(char ** lang, int flags) { /* this can't happen */ if (i == numLanguages) abort(); - return setupLanguage(choice, flags); + return setupLanguage(choice); } void setKickstartLanguage(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { if (argc < 2) { logMessage(ERROR, "no argument passed to lang kickstart command"); return; diff --git a/loader2/lang.h b/loader2/lang.h index 0134b65ea..79aff8c90 100644 --- a/loader2/lang.h +++ b/loader2/lang.h @@ -11,12 +11,12 @@ struct langInfo { } ; -int chooseLanguage(char ** lang, int flags); +int chooseLanguage(char ** lang); char * translateString(char * str); -int setLanguage (char * key, int flags); -int getLangInfo(struct langInfo **langs, int flags); +int setLanguage (char * key); +int getLangInfo(struct langInfo **langs); void setKickstartLanguage(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); #endif /* _LANG_H_ */ diff --git a/loader2/loader.c b/loader2/loader.c index f4092035c..b274106e8 100644 --- a/loader2/loader.c +++ b/loader2/loader.c @@ -92,6 +92,8 @@ static int hasGraphicalOverride(); static int newtRunning = 0; +/* boot flags -- we need these in a lot of places */ +int flags = LOADER_FLAGS_SELINUX | LOADER_FLAGS_NOFB; #ifdef INCLUDE_LOCAL #include "cdinstall.h" @@ -139,7 +141,7 @@ void doShell(void) { newtResume(); } -void startNewt(int flags) { +void startNewt(void) { if (!newtRunning) { char *buf = sdupprintf(_("Welcome to %s"), getProductName()); newtInit(); @@ -209,9 +211,10 @@ char * getProductPath(void) { } void initializeConsole(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { if (!FL_NOFB(flags)) - mlLoadModuleSet("vgastate:vga16fb", modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet("vgastate:vga16fb", modLoaded, modDeps, modInfo); + /* enable UTF-8 console */ printf("\033%%G"); fflush(stdout); @@ -242,7 +245,7 @@ static void initializeTtys(void) { } } -static void spawnShell(int flags) { +static void spawnShell(void) { pid_t pid; if (FL_SERIAL(flags) || FL_NOSHELL(flags)) { @@ -298,7 +301,7 @@ static void spawnShell(int flags) { return; } -void loadUpdates(int flags) { +void loadUpdates(void) { int done = 0; int rc; char * device = NULL, ** devNames = NULL; @@ -315,7 +318,7 @@ void loadUpdates(int flags) { device = strdup(devNames[0]); free(devNames); } else { - startNewt(flags); + startNewt(); rc = newtWinMenu(_("Update Disk Source"), _("You have multiple devices which could serve " "as sources for an update disk. Which would " @@ -359,9 +362,8 @@ void loadUpdates(int flags) { return; } -static int loadUpdatesFromRemote(char * url, struct loaderData_s * loaderData, - int flags) { - int rc = getFileFromUrl(url, "/tmp/updates.img", loaderData, flags); +static int loadUpdatesFromRemote(char * url, struct loaderData_s * loaderData) { + int rc = getFileFromUrl(url, "/tmp/updates.img", loaderData); if (rc != 0) return rc; @@ -371,8 +373,7 @@ static int loadUpdatesFromRemote(char * url, struct loaderData_s * loaderData, return 0; } -static void checkForHardDrives(int * flagsPtr) { - int flags = (*flagsPtr); +static void checkForHardDrives(void) { int i; struct device ** devices; @@ -387,13 +388,14 @@ static void checkForHardDrives(int * flagsPtr) { return; } - startNewt(flags); + startNewt(); i = newtWinChoice(_("Warning"), _("Yes"), _("No"), _("No hard drives have been found. You probably need " "to manually choose device drivers for the " "installation to succeed. Would you like to " "select drivers now?")); - if (i != 2) (*flagsPtr) = (*flagsPtr) | LOADER_FLAGS_ISA; + if (i != 2) + flags |= LOADER_FLAGS_ISA; return; } @@ -407,7 +409,7 @@ static void writeVNCPasswordFile(char *pfile, char *password) { } /* read information from /tmp/netinfo (written by linuxrc) */ -static void readNetInfo(int flags, struct loaderData_s ** ld) { +static void readNetInfo(struct loaderData_s ** ld) { struct loaderData_s * loaderData = *ld; FILE *f; char *end; @@ -515,7 +517,7 @@ static void parseCmdLineIp(struct loaderData_s * loaderData, char *argv) /* parses /proc/cmdline for any arguments which are important to us. * NOTE: in test mode, can specify a cmdline with --cmdline */ -static int parseCmdLineFlags(int flags, struct loaderData_s * loaderData, +static int parseCmdLineFlags(struct loaderData_s * loaderData, char * cmdLine) { int fd; char buf[1024]; @@ -728,7 +730,7 @@ static int parseCmdLineFlags(int flags, struct loaderData_s * loaderData, } } - readNetInfo(flags, &loaderData); + readNetInfo(&loaderData); /* NULL terminates the array of extra args */ extraArgs[numExtraArgs] = NULL; @@ -758,12 +760,12 @@ static int checkFrameBuffer() { /* make sure they have enough ram */ -static void checkForRam(int flags) { +static void checkForRam(void) { if (totalMemory() < MIN_RAM) { char *buf; buf = sdupprintf(_("You do not have enough RAM to install %s " "on this machine."), getProductName()); - startNewt(flags); + startNewt(); newtWinMessage(_("Error"), _("OK"), buf); free(buf); stopNewt(); @@ -786,8 +788,7 @@ static char *doLoaderMain(char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, - int flags) { + moduleDeps * modDepsPtr) { enum { STEP_LANG, STEP_KBD, STEP_METHOD, STEP_DRIVER, STEP_DRIVERDISK, STEP_NETWORK, STEP_IFACE, STEP_IP, STEP_URL, STEP_DONE } step; @@ -829,7 +830,7 @@ static char *doLoaderMain(char * location, * we can fast-path the CD and not make people answer questions in * text mode. */ if (!FL_ASKMETHOD(flags) && !FL_KICKSTART(flags)) { - url = findAnacondaCD(location, modInfo, modLoaded, * modDepsPtr, flags, !FL_RESCUE(flags)); + url = findAnacondaCD(location, modInfo, modLoaded, * modDepsPtr, !FL_RESCUE(flags)); /* if we found a CD and we're not in rescue or vnc mode return */ /* so we can short circuit straight to stage 2 from CD */ if (url && (!FL_RESCUE(flags) && !hasGraphicalOverride())) @@ -841,7 +842,7 @@ static char *doLoaderMain(char * location, } if (!FL_CMDLINE(flags)) - startNewt(flags); + startNewt(); step = STEP_LANG; @@ -849,9 +850,9 @@ static char *doLoaderMain(char * location, switch(step) { case STEP_LANG: if (loaderData->lang && (loaderData->lang_set == 1)) { - setLanguage(loaderData->lang, flags); + setLanguage(loaderData->lang); } else { - chooseLanguage(&loaderData->lang, flags); + chooseLanguage(&loaderData->lang); } step = STEP_KBD; dir = 1; @@ -871,7 +872,7 @@ static char *doLoaderMain(char * location, /* JKFIXME: should handle kbdtype, too probably... but it * just matters for sparc */ if (!FL_CMDLINE(flags)) - rc = chooseKeyboard(loaderData, &kbdtype, flags); + rc = chooseKeyboard(loaderData, &kbdtype); else rc = LOADER_NOOP; } @@ -968,7 +969,7 @@ static char *doLoaderMain(char * location, } chooseManualDriver(installMethods[validMethods[methodNum]].deviceType, - modLoaded, modDepsPtr, modInfo, flags); + modLoaded, modDepsPtr, modInfo); /* it doesn't really matter what we return here; we just want * to reprobe and make sure we have the driver */ step = STEP_DRIVER; @@ -978,8 +979,7 @@ static char *doLoaderMain(char * location, case STEP_DRIVERDISK: rc = loadDriverFromMedia(needed, - modLoaded, modDepsPtr, modInfo, - flags, 0, 0); + modLoaded, modDepsPtr, modInfo, 0, 0); if (rc == LOADER_BACK) { step = STEP_DRIVER; dir = -1; @@ -1023,7 +1023,7 @@ static char *doLoaderMain(char * location, /* fall through to interface selection */ case STEP_IFACE: logMessage(INFO, "going to pick interface"); - rc = chooseNetworkInterface(loaderData, flags); + rc = chooseNetworkInterface(loaderData); if ((rc == LOADER_BACK) || (rc == LOADER_ERROR) || ((dir == -1) && (rc == LOADER_NOOP))) { step = STEP_METHOD; @@ -1043,9 +1043,9 @@ static char *doLoaderMain(char * location, logMessage(INFO, "going to do getNetConfig"); /* populate netDev based on any kickstart data */ - setupNetworkDeviceConfig(&netDev, loaderData, flags); + setupNetworkDeviceConfig(&netDev, loaderData); - rc = readNetConfig(devName, &netDev, loaderData->netCls, flags); + rc = readNetConfig(devName, &netDev, loaderData->netCls); if ((rc == LOADER_BACK) || (rc == LOADER_ERROR) || ((dir == -1) && (rc == LOADER_NOOP))) { step = STEP_IFACE; @@ -1069,7 +1069,7 @@ static char *doLoaderMain(char * location, url = installMethods[validMethods[methodNum]].mountImage( installMethods + validMethods[methodNum], location, loaderData, modInfo, modLoaded, - modDepsPtr, flags); + modDepsPtr); if (!url) { step = STEP_IP ; dir = -1; @@ -1088,7 +1088,7 @@ static char *doLoaderMain(char * location, } static int manualDeviceCheck(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags) { + moduleDeps * modDepsPtr) { char ** devices; int i, j, rc, num = 0; struct moduleInfo * mi; @@ -1135,8 +1135,7 @@ static int manualDeviceCheck(moduleInfoSet modInfo, moduleList modLoaded, if (rc != 2) break; - chooseManualDriver(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo, - flags); + chooseManualDriver(CLASS_UNSPEC, modLoaded, modDepsPtr, modInfo); } while (1); return 0; } @@ -1200,7 +1199,6 @@ static void loaderSegvHandler(int signum) { } int main(int argc, char ** argv) { - int flags = LOADER_FLAGS_SELINUX | LOADER_FLAGS_NOFB; struct stat sb; struct serial_struct si; int rc, i; @@ -1304,7 +1302,7 @@ int main(int argc, char ** argv) { memset(&loaderData, 0, sizeof(loaderData)); extraArgs[0] = NULL; - flags = parseCmdLineFlags(flags, &loaderData, cmdLine); + flags = parseCmdLineFlags(&loaderData, cmdLine); if ((FL_SERIAL(flags) || FL_VIRTPCONSOLE(flags)) && !hasGraphicalOverride()) @@ -1325,8 +1323,8 @@ int main(int argc, char ** argv) { modDeps = mlNewDeps(); mlLoadDeps(&modDeps, "/modules/modules.dep"); - initializeConsole(modLoaded, modDeps, modInfo, flags); - checkForRam(flags); + initializeConsole(modLoaded, modDeps, modInfo); + checkForRam(); /* iSeries vio console users will be telnetting in to the primary partition, so use a terminal type that is appripriate */ @@ -1335,40 +1333,39 @@ int main(int argc, char ** argv) { #if defined(__powerpc__) /* hack for pcspkr breaking ppc right now */ mlLoadModuleSet("cramfs:vfat:nfs:loop:isofs:floppy:edd:squashfs", - modLoaded, modDeps, modInfo, flags); + modLoaded, modDeps, modInfo); #else mlLoadModuleSet("cramfs:vfat:nfs:loop:isofs:floppy:edd:pcspkr:squashfs", - modLoaded, modDeps, modInfo, flags); + modLoaded, modDeps, modInfo); #endif /* IPv6 support is conditional */ - ipv6Setup(modLoaded, modDeps, modInfo, flags); + ipv6Setup(modLoaded, modDeps, modInfo); /* now let's do some initial hardware-type setup */ - ideSetup(modLoaded, modDeps, modInfo, flags); - scsiSetup(modLoaded, modDeps, modInfo, flags); - dasdSetup(modLoaded, modDeps, modInfo, flags); + ideSetup(modLoaded, modDeps, modInfo); + scsiSetup(modLoaded, modDeps, modInfo); + dasdSetup(modLoaded, modDeps, modInfo); /* Note we *always* do this. If you could avoid this you could get a system w/o USB keyboard support, which would be bad. */ - usbInitialize(modLoaded, modDeps, modInfo, flags); + usbInitialize(modLoaded, modDeps, modInfo); /* now let's initialize any possible firewire. fun */ - firewireInitialize(modLoaded, modDeps, modInfo, flags); + firewireInitialize(modLoaded, modDeps, modInfo); /* explicitly read this to let libkudzu know we want to merge * in future tables rather than replace the initial one */ pciReadDrivers("/modules/modules.alias"); if (loaderData.lang && (loaderData.lang_set == 1)) { - setLanguage(loaderData.lang, flags); + setLanguage(loaderData.lang); } if (!canProbeDevices() || FL_MODDISK(flags)) { - startNewt(flags); + startNewt(); - loadDriverDisks(CLASS_UNSPEC, modLoaded, &modDeps, - modInfo, flags); + loadDriverDisks(CLASS_UNSPEC, modLoaded, &modDeps, modInfo); } /* FIXME: this is a bit of a hack */ @@ -1378,7 +1375,7 @@ int main(int argc, char ** argv) { if (!access("/dd.img", R_OK)) { logMessage(INFO, "found /dd.img, loading drivers"); - getDDFromSource(&loaderData, "path:/dd.img", flags); + getDDFromSource(&loaderData, "path:/dd.img"); } /* this allows us to do an early load of modules specified on the @@ -1387,15 +1384,15 @@ int main(int argc, char ** argv) { * FIXME: this syntax is likely to change in a future release * but is done as a quick hack for the present. */ - earlyModuleLoad(modInfo, modLoaded, modDeps, 0, flags); + earlyModuleLoad(modInfo, modLoaded, modDeps, 0); - busProbe(modInfo, modLoaded, modDeps, 0, flags); + busProbe(modInfo, modLoaded, modDeps, 0); /* JKFIXME: we'd really like to do this before the busprobe, but then * we won't have network devices available (and that's the only thing * we support with this right now */ if (loaderData.ddsrc != NULL) { - getDDFromSource(&loaderData, loaderData.ddsrc, flags); + getDDFromSource(&loaderData, loaderData.ddsrc); } /* JKFIXME: loaderData->ksFile is set to the arg from the command line, @@ -1405,18 +1402,17 @@ int main(int argc, char ** argv) { logMessage(INFO, "getting kickstart file"); if (!ksFile) - getKickstartFile(&loaderData, &flags); + getKickstartFile(&loaderData); if (FL_KICKSTART(flags) && - (ksReadCommands((ksFile) ? ksFile : loaderData.ksFile, - flags) != LOADER_ERROR)) { - runKickstart(&loaderData, &flags); + (ksReadCommands((ksFile)?ksFile:loaderData.ksFile)!=LOADER_ERROR)) { + runKickstart(&loaderData); } } if (FL_TELNETD(flags)) - startTelnetd(&loaderData, modInfo, modLoaded, modDeps, flags); + startTelnetd(&loaderData, modInfo, modLoaded, modDeps); - url = doLoaderMain("/mnt/source", &loaderData, modInfo, modLoaded, &modDeps, flags); + url = doLoaderMain("/mnt/source", &loaderData, modInfo, modLoaded, &modDeps); /* We have to do this before we init bogl(), which doLoaderMain will do * when setting fonts for different languages. */ @@ -1451,32 +1447,32 @@ int main(int argc, char ** argv) { logMessage(INFO, "getting ready to spawn shell now"); - spawnShell(flags); /* we can attach gdb now :-) */ + spawnShell(); /* we can attach gdb now :-) */ /* JKFIXME: kickstart devices crap... probably kind of bogus now though */ /* we might have already loaded these, but trying again doesn't hurt */ - ideSetup(modLoaded, modDeps, modInfo, flags); - scsiSetup(modLoaded, modDeps, modInfo, flags); - busProbe(modInfo, modLoaded, modDeps, 0, flags); + ideSetup(modLoaded, modDeps, modInfo); + scsiSetup(modLoaded, modDeps, modInfo); + busProbe(modInfo, modLoaded, modDeps, 0); - checkForHardDrives(&flags); + checkForHardDrives(); if ((!canProbeDevices() || FL_ISA(flags) || FL_NOPROBE(flags)) && !loaderData.ksFile) { - startNewt(flags); - manualDeviceCheck(modInfo, modLoaded, &modDeps, flags); + startNewt(); + manualDeviceCheck(modInfo, modLoaded, &modDeps); } if (loaderData.updatessrc) - loadUpdatesFromRemote(loaderData.updatessrc, &loaderData, flags); + loadUpdatesFromRemote(loaderData.updatessrc, &loaderData); else if (FL_UPDATES(flags)) - loadUpdates(flags); + loadUpdates(); - mlLoadModuleSet("md:raid0:raid1:raid5:raid6:fat:msdos:jbd:ext3:reiserfs:jfs:xfs:dm-mod:dm-zero:dm-mirror:dm-snapshot", modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet("md:raid0:raid1:raid5:raid6:fat:msdos:jbd:ext3:reiserfs:jfs:xfs:dm-mod:dm-zero:dm-mirror:dm-snapshot", modLoaded, modDeps, modInfo); - usbInitializeMouse(modLoaded, modDeps, modInfo, flags); + usbInitializeMouse(modLoaded, modDeps, modInfo); /* we've loaded all the modules we're going to. write out a file * describing which scsi disks go with which scsi adapters */ @@ -1484,7 +1480,7 @@ int main(int argc, char ** argv) { /* if we are in rescue mode lets load st.ko for tape support */ if (FL_RESCUE(flags)) - scsiTapeInitialize(modLoaded, modDeps, modInfo, flags); + scsiTapeInitialize(modLoaded, modDeps, modInfo); /* we only want to use RHupdates on nfs installs. otherwise, we'll * use files on the first iso image and not be able to umount it */ diff --git a/loader2/loader.h b/loader2/loader.h index c34bd2b97..2fd1ab9c2 100644 --- a/loader2/loader.h +++ b/loader2/loader.h @@ -78,8 +78,8 @@ #define FL_UB(a) ((a) & LOADER_FLAGS_UB) #define FL_NOIPV6(a) ((a) & LOADER_FLAGS_NOIPV6) -void startNewt(int flags); -void stopNewt(); +void startNewt(void); +void stopNewt(void); char * getProductName(void); char * getProductPath(void); diff --git a/loader2/method.c b/loader2/method.c index 09645eb12..48bb1efa3 100644 --- a/loader2/method.c +++ b/loader2/method.c @@ -47,6 +47,9 @@ #include "hdinstall.h" #include "urlinstall.h" +/* boot flags */ +extern int flags; + int umountLoopback(char * mntpoint, char * device) { int loopfd; @@ -333,7 +336,7 @@ int readStampFileFromIso(char *file, char **timestamp, char **releasedescr) { * Given a starting isoFile, will offer choice to mediacheck it and * all other ISO images in the same directory with the same stamp */ -void queryIsoMediaCheck(char *isoFile, int flags) { +void queryIsoMediaCheck(char *isoFile) { DIR * dir; struct dirent * ent; char *isoDir; @@ -613,7 +616,7 @@ int mountStage2(char * path) { /* copies a second stage from fd to dest and mounts on mntpoint */ -int copyFileAndLoopbackMount(int fd, char * dest, int flags, +int copyFileAndLoopbackMount(int fd, char * dest, char * device, char * mntpoint) { int rc; struct stat sb; diff --git a/loader2/method.h b/loader2/method.h index 676f7ecc7..e4862ae7b 100644 --- a/loader2/method.h +++ b/loader2/method.h @@ -14,7 +14,7 @@ struct installMethod { char * (*mountImage)(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags); + moduleDeps * modDepsPtr); }; @@ -23,14 +23,13 @@ int mountLoopback(char * fsystem, char * mntpoint, char * device); char * validIsoImages(char * dirName, int *foundinvalid); int readStampFileFromIso(char *file, char **descr, char **timestamp); -void queryIsoMediaCheck(char * isoDir, int flags); +void queryIsoMediaCheck(char * isoDir); int verifyStamp(char * path); void umountStage2(void); int mountStage2(char * path); -int copyFileAndLoopbackMount(int fd, char * dest, int flags, - char * device, char * mntpoint); +int copyFileAndLoopbackMount(int fd, char *dest, char *device, char *mntpoint); int getFileFromBlockDevice(char *device, char *path, char * dest); void copyUpdatesImg(char * path); diff --git a/loader2/modules.c b/loader2/modules.c index 181a3942c..6903356a8 100644 --- a/loader2/modules.c +++ b/loader2/modules.c @@ -39,6 +39,9 @@ #include "../isys/cpio.h" +/* boot flags */ +extern int flags; + static int writeModulesConf(moduleList list, int fd); static struct extractedModule * extractModules (char * const * modNames, struct extractedModule * oldPaths, @@ -247,7 +250,7 @@ static struct loadedModuleInfo * getLoadedModuleInfo(moduleList modLoaded, /* load a single module. this is the real workhorse of loading modules */ static int loadModule(const char * modName, struct extractedModule * path, moduleList modLoaded, char ** args, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { char fileName[300]; char ** argPtr, ** newArgs, ** arg; struct moduleInfo * mi = NULL; @@ -270,7 +273,7 @@ static int loadModule(const char * modName, struct extractedModule * path, if (mi->major == DRIVER_SCSI) { deviceCount = scsiDiskCount(); if (!FL_CMDLINE(flags)) { - startNewt(flags); + startNewt(); scsiWindow(modName); popWindow = 1; } @@ -431,7 +434,7 @@ static char ** lateModuleSort(char **allmods, int num) { * *ALL* modules? this would probably want for auto module-info generation */ static int doLoadModules(const char * origModNames, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo, - int flags, const char * argModule, char ** args, + const char * argModule, char ** args, struct moduleBallLocation * modLocation) { char * modNames; char * start, * next, * end; @@ -547,7 +550,7 @@ static int doLoadModules(const char * origModNames, moduleList modLoaded, } /* here we need to save the state of stage2 */ - removeLoadedModule("usb-storage", modLoaded, flags); + removeLoadedModule("usb-storage", modLoaded); /* JKFIXME: here are the big hacks... for now, just described. * 1) figure out which scsi devs are claimed by usb-storage. @@ -566,7 +569,7 @@ static int doLoadModules(const char * origModNames, moduleList modLoaded, continue; if (loadModule(*l, p, modLoaded, (argModule && !strcmp(argModule, *l)) ? args : NULL, - modInfo, flags)) { + modInfo)) { logMessage(ERROR, "failed to insert %s", p->path); } else { logMessage(INFO, "inserted %s", p->path); @@ -574,7 +577,7 @@ static int doLoadModules(const char * origModNames, moduleList modLoaded, } if (reloadUsbStorage) { - mlLoadModule("usb-storage", modLoaded, modDeps, modInfo, NULL, flags); + mlLoadModule("usb-storage", modLoaded, modDeps, modInfo, NULL); /* JKFIXME: here's the rest of the hacks. basically do the reverse * of what we did before. */ @@ -610,17 +613,17 @@ static int doLoadModules(const char * origModNames, moduleList modLoaded, /* load a module with a given list of arguments */ int mlLoadModule(const char * module, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo, - char ** args, int flags) { - return doLoadModules(module, modLoaded, modDeps, modInfo, flags, module, + char ** args) { + return doLoadModules(module, modLoaded, modDeps, modInfo, module, args, NULL); } /* loads a : separated list of modules */ int mlLoadModuleSet(const char * modNames, moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { return doLoadModules(modNames, modLoaded, modDeps, modInfo, - flags, NULL, NULL, NULL); + NULL, NULL, NULL); } static int writeModulesConf(moduleList list, int fd) { @@ -884,8 +887,7 @@ static struct extractedModule * extractModules (char * const * modNames, /* remove a module which has been loaded, including removal from the * modLoaded struct */ -int removeLoadedModule(const char * modName, moduleList modLoaded, - int flags) { +int removeLoadedModule(const char * modName, moduleList modLoaded) { int status, rc = 0; pid_t child; struct loadedModuleInfo * mod; @@ -900,27 +902,27 @@ int removeLoadedModule(const char * modName, moduleList modLoaded, mod->lastDevNum = 0; if (FL_TESTING(flags)) { - logMessage(INFO, "would have rmmod %s", modName); - rc = 0; + logMessage(INFO, "would have rmmod %s", modName); + rc = 0; } else { - logMessage(INFO, "going to rmmod %s", modName); - if (!(child = fork())) { - int fd = open("/dev/tty3", O_RDWR); + logMessage(INFO, "going to rmmod %s", modName); + if (!(child = fork())) { + int fd = open("/dev/tty3", O_RDWR); - dup2(fd, 0); - dup2(fd, 1); - dup2(fd, 2); - close(fd); + dup2(fd, 0); + dup2(fd, 1); + dup2(fd, 2); + close(fd); - execl("/sbin/rmmod", "/sbin/rmmod", modName, NULL); - _exit(rc); - } + execl("/sbin/rmmod", "/sbin/rmmod", modName, NULL); + _exit(rc); + } - waitpid(child, &status, 0); + waitpid(child, &status, 0); - if (!WIFEXITED(status) || WEXITSTATUS(status)) { - rc = 1; - } else { + if (!WIFEXITED(status) || WEXITSTATUS(status)) { + rc = 1; + } else { int found = -1; int i; @@ -938,20 +940,19 @@ int removeLoadedModule(const char * modName, moduleList modLoaded, modLoaded->numModules--; rc = 0; - } + } } return rc; } void loadKickstartModule(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { char * opts = NULL; char * module = NULL; char * type = NULL; char ** args = NULL; poptContext optCon; int rc; - int flags = *flagsPtr; struct poptOption ksDeviceOptions[] = { { "opts", '\0', POPT_ARG_STRING, &opts, 0, NULL, NULL }, { 0, 0, 0, 0, 0, 0, 0 } @@ -960,7 +961,7 @@ void loadKickstartModule(struct loaderData_s * loaderData, int argc, optCon = poptGetContext(NULL, argc, (const char **) argv, ksDeviceOptions, 0); if ((rc = poptGetNextOpt(optCon)) < -1) { - startNewt(flags); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Bad argument to device kickstart method " "command %s: %s"), @@ -1004,6 +1005,6 @@ void loadKickstartModule(struct loaderData_s * loaderData, int argc, mlLoadModule(module, loaderData->modLoaded, *(loaderData->modDepsPtr), - loaderData->modInfo, args, flags); + loaderData->modInfo, args); } diff --git a/loader2/modules.h b/loader2/modules.h index c899b3225..bbcc905fc 100644 --- a/loader2/modules.h +++ b/loader2/modules.h @@ -30,16 +30,15 @@ struct moduleList_s { int mlReadLoadedList(moduleList * mlp); int mlLoadModule(const char * module, moduleList modLoaded, moduleDeps modDeps, moduleInfoSet modInfo, - char ** args, int flags); + char ** args); int mlLoadModuleSet(const char * modNames, moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); int mlModuleInList(const char * modName, moduleList list); void writeScsiDisks(moduleList list); -int removeLoadedModule(const char * modName, moduleList modLoaded, - int flags); +int removeLoadedModule(const char * modName, moduleList modLoaded); char * getModuleLocation(int version); #endif diff --git a/loader2/net.c b/loader2/net.c index 216d25966..0b3725bd7 100644 --- a/loader2/net.c +++ b/loader2/net.c @@ -46,6 +46,9 @@ #include "net.h" #include "windows.h" +/* boot flags */ +extern int flags; + char *netServerPrompt = \ N_("Please enter the following information:\n" "\n" @@ -210,16 +213,16 @@ static void parseEthtoolSettings(struct loaderData_s * loaderData) { void initLoopback(void) { NLH_t nh; NIC_t nic; - uint32_t flags; + uint32_t nflags; /* open nic handle and set device name */ nh = nic_open(nic_sys_logger); nic = nic_by_name(nh, "lo"); /* bring the interface up */ - flags = nic_get_flags(nic); - if ((flags & (IFF_UP | IFF_RUNNING)) == 0) { - nic_set_flags(nic, flags | IFF_UP | IFF_RUNNING); + nflags = nic_get_flags(nic); + if ((nflags & (IFF_UP | IFF_RUNNING)) == 0) { + nic_set_flags(nic, nflags | IFF_UP | IFF_RUNNING); nic_update(nic); } @@ -336,8 +339,7 @@ void printLoaderDataIPINFO(struct loaderData_s *loaderData) { /* given loader data from kickstart, populate network configuration struct */ void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, - struct loaderData_s * loaderData, - int flags) { + struct loaderData_s * loaderData) { struct in_addr addr; struct in6_addr addr6; char * c; @@ -377,7 +379,7 @@ void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, loaderData->netDev); if (!FL_CMDLINE(flags)) { - startNewt(flags); + startNewt(); winStatus(55, 3, _("Dynamic IP"), _("Sending request for IP information for %s..."), loaderData->netDev, 0); @@ -502,7 +504,7 @@ void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, } int readNetConfig(char * device, struct networkDeviceConfig * cfg, - char * dhcpclass, int flags) { + char * dhcpclass) { newtComponent text, f, okay, back, answer, dhcpCheckbox; newtGrid grid, subgrid, buttons; struct networkDeviceConfig newCfg; @@ -522,7 +524,7 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, if (!FL_TESTING(flags) && cfg->preset) { logMessage(INFO, "doing kickstart... setting it up"); configureNetwork(cfg); - findHostAndDomain(cfg, flags); + findHostAndDomain(cfg); if (!cfg->noDns) writeResolvConf(cfg); @@ -741,7 +743,7 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, if (!FL_TESTING(flags)) { configureNetwork(cfg); - findHostAndDomain(cfg, flags); + findHostAndDomain(cfg); writeResolvConf(cfg); } @@ -788,9 +790,9 @@ char *doDhcp(struct networkDeviceConfig *dev) { i = &dev->dev; if (dev->useipv6) - r = pumpDhcpClassRun(i,0L,0L,0,0,10,netlogger,LOG_DEBUG); + r = pumpDhcpClassRun(i,0L,0L,0,0,10,netlogger,LOG_INFO); else - r = pumpDhcpClassRun(i,0L,0L,DHCPv6_DISABLE,0,10,netlogger,LOG_DEBUG); + r = pumpDhcpClassRun(i,0L,0L,DHCPv6_DISABLE,0,10,netlogger,LOG_INFO); return r; } @@ -917,7 +919,7 @@ int writeResolvConf(struct networkDeviceConfig * net) { return 0; } -int findHostAndDomain(struct networkDeviceConfig * dev, int flags) { +int findHostAndDomain(struct networkDeviceConfig * dev) { char * name, * chptr; char ret[47]; ip_addr_t *tip; @@ -971,7 +973,7 @@ int findHostAndDomain(struct networkDeviceConfig * dev, int flags) { } void setKickstartNetwork(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { char * arg, * bootProto = NULL, * device = NULL, *ethtool = NULL, * class = NULL; char * essid = NULL, * wepkey = NULL, * onboot = NULL; int noDns = 0, noksdev = 0, rc, mtu = 0; @@ -1095,8 +1097,7 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc, /* if multiple interfaces get one to use from user. */ /* NOTE - uses kickstart data available in loaderData */ -int chooseNetworkInterface(struct loaderData_s * loaderData, - int flags) { +int chooseNetworkInterface(struct loaderData_s * loaderData) { int i, rc; unsigned int max = 40; int deviceNums = 0; @@ -1196,7 +1197,7 @@ int chooseNetworkInterface(struct loaderData_s * loaderData, logMessage(WARNING, "wanted netdev with link, but none present. prompting"); } - startNewt(flags); + startNewt(); if (max > 70) max = 70; @@ -1229,8 +1230,7 @@ int chooseNetworkInterface(struct loaderData_s * loaderData, * kickstart install so that we can do things like grab the ks.cfg from * the network */ int kickstartNetworkUp(struct loaderData_s * loaderData, - struct networkDeviceConfig *netCfgPtr, - int flags) { + struct networkDeviceConfig *netCfgPtr) { int rc; initLoopback(); @@ -1241,7 +1241,7 @@ int kickstartNetworkUp(struct loaderData_s * loaderData, do { /* this is smart and does the right thing based on whether or not * we have ksdevice= specified */ - rc = chooseNetworkInterface(loaderData, flags); + rc = chooseNetworkInterface(loaderData); if (rc == LOADER_ERROR) { /* JKFIXME: ask for a driver disk? */ @@ -1269,10 +1269,9 @@ int kickstartNetworkUp(struct loaderData_s * loaderData, } loaderData->ipinfo_set = 1; - setupNetworkDeviceConfig(netCfgPtr, loaderData, flags); + setupNetworkDeviceConfig(netCfgPtr, loaderData); - rc = readNetConfig(loaderData->netDev, netCfgPtr, loaderData->netCls, - flags); + rc = readNetConfig(loaderData->netDev, netCfgPtr, loaderData->netCls); if ((rc == LOADER_BACK) || (rc == LOADER_ERROR)) { logMessage(ERROR, "unable to setup networking"); return -1; diff --git a/loader2/net.h b/loader2/net.h index fbe3b3578..5874fca8d 100644 --- a/loader2/net.h +++ b/loader2/net.h @@ -29,26 +29,23 @@ struct networkDeviceConfig { }; int readNetConfig(char * device, struct networkDeviceConfig * dev, - char * dhcpclass, int flags); + char * dhcpclass); int configureNetwork(struct networkDeviceConfig * dev); int writeNetInfo(const char * fn, struct networkDeviceConfig * dev); -int findHostAndDomain(struct networkDeviceConfig * dev, int flags); +int findHostAndDomain(struct networkDeviceConfig * dev); int writeResolvConf(struct networkDeviceConfig * net); extern char *netServerPrompt; int nfsGetSetup(char ** hostptr, char ** dirptr); void initLoopback(void); -int chooseNetworkInterface(struct loaderData_s * loaderData, - int flags); +int chooseNetworkInterface(struct loaderData_s * loaderData); void setupNetworkDeviceConfig(struct networkDeviceConfig * cfg, - struct loaderData_s * loaderData, - int flags); + struct loaderData_s * loaderData); void setKickstartNetwork(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); + char ** argv); int kickstartNetworkUp(struct loaderData_s * loaderData, - struct networkDeviceConfig *netCfgPtr, - int flags); + struct networkDeviceConfig *netCfgPtr); char * setupInterface(struct networkDeviceConfig *dev); char *doDhcp(struct networkDeviceConfig *dev); diff --git a/loader2/nfsinstall.c b/loader2/nfsinstall.c index 16c0b54dc..2bd3bf635 100644 --- a/loader2/nfsinstall.c +++ b/loader2/nfsinstall.c @@ -34,6 +34,9 @@ #include "../isys/imount.h" +/* boot flags */ +extern int flags; + int nfsGetSetup(char ** hostptr, char ** dirptr) { struct newtWinEntry entries[3]; char * buf; @@ -73,7 +76,7 @@ int nfsGetSetup(char ** hostptr, char ** dirptr) { char * mountNfsImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags) { + moduleDeps * modDepsPtr) { char * host = NULL; char * directory = NULL; char * mountOpts = NULL; @@ -191,7 +194,7 @@ char * mountNfsImage(struct installMethod * method, snprintf(mntPath, sizeof(mntPath), "/mnt/source2/%s/base/product.img", getProductPath()); copyProductImg(mntPath); - queryIsoMediaCheck(path, flags); + queryIsoMediaCheck(path); stage = NFS_STAGE_DONE; url = "nfsiso:/mnt/source"; @@ -244,7 +247,7 @@ char * mountNfsImage(struct installMethod * method, void setKickstartNfs(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { char * host = NULL, * dir = NULL, * mountOpts = NULL; poptContext optCon; int rc; @@ -258,7 +261,7 @@ void setKickstartNfs(struct loaderData_s * loaderData, int argc, logMessage(INFO, "kickstartFromNfs"); optCon = poptGetContext(NULL, argc, (const char **) argv, ksNfsOptions, 0); if ((rc = poptGetNextOpt(optCon)) < -1) { - startNewt(*flagsPtr); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Bad argument to NFS kickstart method " "command %s: %s"), @@ -285,15 +288,14 @@ void setKickstartNfs(struct loaderData_s * loaderData, int argc, } -int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData, - int flags) { +int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData) { char ret[47]; char * host = NULL, *path = NULL, * file = NULL, * opts = NULL; int failed = 0; struct networkDeviceConfig netCfg; ip_addr_t *tip; - if (kickstartNetworkUp(loaderData, &netCfg, flags)) { + if (kickstartNetworkUp(loaderData, &netCfg)) { logMessage(ERROR, "unable to bring up network"); return 1; } @@ -367,7 +369,6 @@ int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData, return failed; } -int kickstartFromNfs(char * url, struct loaderData_s * loaderData, - int flags) { - return getFileFromNfs(url, "/tmp/ks.cfg", loaderData, flags); +int kickstartFromNfs(char * url, struct loaderData_s * loaderData) { + return getFileFromNfs(url, "/tmp/ks.cfg", loaderData); } diff --git a/loader2/nfsinstall.h b/loader2/nfsinstall.h index 190cf0fb2..f1dc74b03 100644 --- a/loader2/nfsinstall.h +++ b/loader2/nfsinstall.h @@ -11,13 +11,12 @@ struct nfsInstallData { void setKickstartNfs(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); -int kickstartFromNfs(char * url, struct loaderData_s * loaderData, int flags); + char ** argv); +int kickstartFromNfs(char * url, struct loaderData_s * loaderData); char * mountNfsImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags); -int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData, - int flags); + moduleDeps * modDepsPtr); +int getFileFromNfs(char * url, char * dest, struct loaderData_s * loaderData); #endif diff --git a/loader2/pcmcia.c b/loader2/pcmcia.c index df4466c24..bf4b3df5e 100644 --- a/loader2/pcmcia.c +++ b/loader2/pcmcia.c @@ -30,6 +30,9 @@ #include "log.h" #include "modules.h" +/* boot flags */ +extern int flags; + char * getPcicController() { struct device ** devices; static int probed = 0; @@ -121,7 +124,7 @@ int startupPcmciaControllers() { } int initializePcmciaController(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { char * pcic = NULL; char * mods; @@ -133,7 +136,7 @@ int initializePcmciaController(moduleList modLoaded, moduleDeps modDeps, return 0; mods = sdupprintf("pcmcia_core:%s:pcmcia", pcic); - mlLoadModuleSet(mods, modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet(mods, modLoaded, modDeps, modInfo); startupPcmciaControllers(); return 0; diff --git a/loader2/pcmcia.h b/loader2/pcmcia.h index b3cc44992..3953c230f 100644 --- a/loader2/pcmcia.h +++ b/loader2/pcmcia.h @@ -4,7 +4,7 @@ #include <kudzu/kudzu.h> int initializePcmciaController(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); -void startPcmciaDevices(moduleList modLoaded, int flags); + moduleInfoSet modInfo); +void startPcmciaDevices(moduleList modLoaded); #endif diff --git a/loader2/telnetd.c b/loader2/telnetd.c index 6c3bfef66..75bce5222 100644 --- a/loader2/telnetd.c +++ b/loader2/telnetd.c @@ -42,8 +42,11 @@ #define IPPORT_TELNET 23 #endif +/* boot flags */ +extern int flags; + /* Forks, keeping the loader as our child (so we know when it dies). */ -int beTelnet(int flags) { +int beTelnet(void) { int sock; int conn; socklen_t addrLength; @@ -118,7 +121,7 @@ int beTelnet(int flags) { if (child) { #ifndef DEBUG_TELNET - startNewt(flags); + startNewt(); winStatus(45, 3, _("Telnet"), _("Running anaconda via telnet...")); #endif @@ -220,19 +223,19 @@ int beTelnet(int flags) { /* brand new tty! */ setenv("TERM", termType, 1); - startNewt(flags); + startNewt(); return 0; } void startTelnetd(struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int flags) { + moduleDeps modDeps) { char ret[47]; struct networkDeviceConfig netCfg; ip_addr_t *tip; - if (kickstartNetworkUp(loaderData, &netCfg, flags)) { + if (kickstartNetworkUp(loaderData, &netCfg)) { logMessage(ERROR, "unable to bring up network"); return; } @@ -240,7 +243,7 @@ void startTelnetd(struct loaderData_s * loaderData, tip = &(netCfg.dev.ip); inet_ntop(tip->sa_family, IP_ADDR(tip), ret, IP_STRLEN(tip)); logMessage(INFO, "going to beTelnet for %s", ret); - if (!beTelnet(flags)) + if (!beTelnet()) flags |= LOADER_FLAGS_TEXT | LOADER_FLAGS_NOSHELL; return; diff --git a/loader2/telnetd.h b/loader2/telnetd.h index 31ef65aed..145c55f21 100644 --- a/loader2/telnetd.h +++ b/loader2/telnetd.h @@ -3,6 +3,6 @@ void startTelnetd(struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int flags); + moduleDeps modDeps); #endif diff --git a/loader2/urlinstall.c b/loader2/urlinstall.c index f799bd74c..11dfb994b 100644 --- a/loader2/urlinstall.c +++ b/loader2/urlinstall.c @@ -38,7 +38,10 @@ #include "urls.h" #include "windows.h" -static int loadSingleUrlImage(struct iurlinfo * ui, char * file, int flags, +/* boot flags */ +extern int flags; + +static int loadSingleUrlImage(struct iurlinfo * ui, char * file, char * dest, char * mntpoint, char * device, int silentErrors, int addProduct) { int fd; @@ -60,7 +63,7 @@ static int loadSingleUrlImage(struct iurlinfo * ui, char * file, int flags, sprintf(ehdrs, "User-Agent: anaconda/%s\r\n", VERSION); } - fd = urlinstStartTransfer(ui, filepath, ehdrs, silentErrors, flags); + fd = urlinstStartTransfer(ui, filepath, ehdrs, silentErrors); if (fd == -2) { if (ehdrs) free (ehdrs); @@ -73,7 +76,7 @@ static int loadSingleUrlImage(struct iurlinfo * ui, char * file, int flags, newFile = alloca(strlen(filepath) + 20); sprintf(newFile, "disc1/%s", filepath); - fd = urlinstStartTransfer(ui, newFile, ehdrs, silentErrors, flags); + fd = urlinstStartTransfer(ui, newFile, ehdrs, silentErrors); if (ehdrs) free (ehdrs); if (fd == -2) return 2; @@ -89,10 +92,10 @@ static int loadSingleUrlImage(struct iurlinfo * ui, char * file, int flags, } if (dest != NULL) { - rc = copyFileAndLoopbackMount(fd, dest, flags, device, mntpoint); + rc = copyFileAndLoopbackMount(fd, dest, device, mntpoint); } - urlinstFinishTransfer(ui, fd, flags); + urlinstFinishTransfer(ui, fd); if (newFile) { newFile = malloc(strlen(ui->prefix) + 20); @@ -105,7 +108,7 @@ static int loadSingleUrlImage(struct iurlinfo * ui, char * file, int flags, } -static int loadUrlImages(struct iurlinfo * ui, int flags) { +static int loadUrlImages(struct iurlinfo * ui) { char *stage2img; char tmpstr1[1024], tmpstr2[1024]; int rc; @@ -114,7 +117,7 @@ static int loadUrlImages(struct iurlinfo * ui, int flags) { /* grab the updates.img before netstg1.img so that we minimize our * ramdisk usage */ - if (!loadSingleUrlImage(ui, "base/updates.img", flags, + if (!loadSingleUrlImage(ui, "base/updates.img", "/tmp/ramfs/updates-disk.img", "/tmp/update-disk", "loop7", 1, 1)) { copyDirectory("/tmp/update-disk", "/tmp/updates"); @@ -125,7 +128,7 @@ static int loadUrlImages(struct iurlinfo * ui, int flags) { /* grab the product.img before netstg1.img so that we minimize our * ramdisk usage */ - if (!loadSingleUrlImage(ui, "base/product.img", flags, + if (!loadSingleUrlImage(ui, "base/product.img", "/tmp/ramfs/product-disk.img", "/tmp/product-disk", "loop7", 1, 1)) { copyDirectory("/tmp/product-disk", "/tmp/product"); @@ -147,7 +150,7 @@ static int loadUrlImages(struct iurlinfo * ui, int flags) { snprintf(tmpstr1, sizeof(tmpstr1), "base/%s", stage2img); snprintf(tmpstr2, sizeof(tmpstr2), "/tmp/ramfs/%s", stage2img); - rc = loadSingleUrlImage(ui, tmpstr1, flags, tmpstr2, + rc = loadSingleUrlImage(ui, tmpstr1, tmpstr2, "/mnt/runtime", "loop0", 0, 1); if (rc) { if (rc != 2) @@ -207,7 +210,7 @@ static char * getLoginName(char * login, struct iurlinfo ui) { char * mountUrlImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDeps, int flags) { + moduleDeps * modDeps) { int rc; char * url, *p; struct iurlinfo ui; @@ -284,11 +287,11 @@ char * mountUrlImage(struct installMethod * method, /* ok messy - see if we have a stage2 on local CD */ /* before trying to pull one over network */ cdurl = findAnacondaCD(location, modInfo, modLoaded, - *modDeps, flags, 0); + *modDeps, 0); /* FIXME: this hard-codes info about the backend type which sucks */ if (cdurl && - (loadSingleUrlImage(&ui, "repodata/repomd.xml", flags, NULL, + (loadSingleUrlImage(&ui, "repodata/repomd.xml", NULL, NULL, NULL, 0, 0) == 0)) { logMessage(INFO, "Detected stage 2 image on CD"); winStatus(50, 3, _("Media Detected"), @@ -306,7 +309,7 @@ char * mountUrlImage(struct installMethod * method, dir = -1; } else { /* need to find stage 2 on remote site */ - if (loadUrlImages(&ui, flags)) { + if (loadUrlImages(&ui)) { stage = URL_STAGE_MAIN; dir = -1; if (loaderData->method) { @@ -351,7 +354,7 @@ char * mountUrlImage(struct installMethod * method, } int getFileFromUrl(char * url, char * dest, - struct loaderData_s * loaderData, int flags) { + struct loaderData_s * loaderData) { char ret[47]; struct iurlinfo ui; enum urlprotocol_t proto = @@ -362,7 +365,7 @@ int getFileFromUrl(char * url, char * dest, char * ehdrs = NULL; ip_addr_t *tip; - if (kickstartNetworkUp(loaderData, &netCfg, flags)) { + if (kickstartNetworkUp(loaderData, &netCfg)) { logMessage(ERROR, "unable to bring up network"); return 1; } @@ -426,7 +429,7 @@ int getFileFromUrl(char * url, char * dest, } } - fd = urlinstStartTransfer(&ui, file, ehdrs, 0, flags); + fd = urlinstStartTransfer(&ui, file, ehdrs, 0); if (fd < 0) { logMessage(ERROR, "failed to retrieve http://%s/%s/%s", ui.address, ui.prefix, file); if (ehdrs) free(ehdrs); @@ -441,20 +444,19 @@ int getFileFromUrl(char * url, char * dest, return 1; } - urlinstFinishTransfer(&ui, fd, flags); + urlinstFinishTransfer(&ui, fd); if (ehdrs) free(ehdrs); return 0; } /* pull kickstart configuration file via http */ -int kickstartFromUrl(char * url, struct loaderData_s * loaderData, - int flags) { - return getFileFromUrl(url, "/tmp/ks.cfg", loaderData, flags); +int kickstartFromUrl(char * url, struct loaderData_s * loaderData) { + return getFileFromUrl(url, "/tmp/ks.cfg", loaderData); } void setKickstartUrl(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr) { + char ** argv) { char *url = NULL; poptContext optCon; @@ -467,7 +469,7 @@ void setKickstartUrl(struct loaderData_s * loaderData, int argc, logMessage(INFO, "kickstartFromUrl"); optCon = poptGetContext(NULL, argc, (const char **) argv, ksUrlOptions, 0); if ((rc = poptGetNextOpt(optCon)) < -1) { - startNewt(*flagsPtr); + startNewt(); newtWinMessage(_("Kickstart Error"), _("OK"), _("Bad argument to Url kickstart method " "command %s: %s"), diff --git a/loader2/urlinstall.h b/loader2/urlinstall.h index 2989c1c37..0162c53cd 100644 --- a/loader2/urlinstall.h +++ b/loader2/urlinstall.h @@ -9,14 +9,13 @@ struct urlInstallData { void setKickstartUrl(struct loaderData_s * loaderData, int argc, - char ** argv, int * flagsPtr); -int kickstartFromUrl(char * url, struct loaderData_s * loaderData, int flags); + char ** argv); +int kickstartFromUrl(char * url, struct loaderData_s * loaderData); char * mountUrlImage(struct installMethod * method, char * location, struct loaderData_s * loaderData, moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps * modDepsPtr, int flags); -int getFileFromUrl(char * url, char * dest, struct loaderData_s * loaderData, - int flags); + moduleDeps * modDepsPtr); +int getFileFromUrl(char * url, char * dest, struct loaderData_s * loaderData); #endif diff --git a/loader2/urls.c b/loader2/urls.c index eb201623a..7aa6e0157 100644 --- a/loader2/urls.c +++ b/loader2/urls.c @@ -16,7 +16,6 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - #include <arpa/inet.h> #include <ctype.h> #include <fcntl.h> @@ -38,6 +37,9 @@ #include "windows.h" #include "net.h" +/* boot flags */ +extern int flags; + /* convert a url (ftp or http) to a ui */ int convertURLToUI(char *url, struct iurlinfo *ui) { char *chptr; @@ -150,8 +152,7 @@ char *convertUIToURL(struct iurlinfo *ui) { /* see ftp.c:httpGetFileDesc() for details */ /* set to NULL if not needed */ int urlinstStartTransfer(struct iurlinfo * ui, char * filename, - char *extraHeaders, int silentErrors, - int flags) { + char *extraHeaders, int silentErrors) { char * buf; int fd; char * finalPrefix; @@ -211,7 +212,7 @@ int urlinstStartTransfer(struct iurlinfo * ui, char * filename, return fd; } -int urlinstFinishTransfer(struct iurlinfo * ui, int fd, int flags) { +int urlinstFinishTransfer(struct iurlinfo * ui, int fd) { if (ui->protocol == URL_METHOD_FTP) close(ui->ftpPort); close(fd); diff --git a/loader2/urls.h b/loader2/urls.h index 49290d832..7cfebfc5d 100644 --- a/loader2/urls.h +++ b/loader2/urls.h @@ -23,7 +23,7 @@ int urlMainSetupPanel(struct iurlinfo * ui, urlprotocol protocol, char * doSecondarySetup); int urlSecondarySetupPanel(struct iurlinfo * ui, urlprotocol protocol); int urlinstStartTransfer(struct iurlinfo * ui, char * filename, - char *extraHeaders, int silentErrors, int flags); -int urlinstFinishTransfer(struct iurlinfo * ui, int fd, int flags); + char *extraHeaders, int silentErrors); +int urlinstFinishTransfer(struct iurlinfo * ui, int fd); #endif diff --git a/loader2/usb.c b/loader2/usb.c index c3a845adb..144b07860 100644 --- a/loader2/usb.c +++ b/loader2/usb.c @@ -32,6 +32,8 @@ #include "../isys/imount.h" +/* boot flags */ +extern int flags; /* This forces a pause between initializing usb and trusting the /proc stuff */ @@ -61,7 +63,7 @@ static void sleepUntilUsbIsStable(void) { } int usbInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { struct device ** devices; char * buf; int i; @@ -74,8 +76,8 @@ int usbInitialize(moduleList modLoaded, moduleDeps modDeps, devices = probeDevices(CLASS_USB, BUS_PCI, 0); if (!devices) { - logMessage(DEBUGLVL, "no usb controller found"); - return 0; + logMessage(DEBUGLVL, "no usb controller found"); + return 0; } /* JKFIXME: if we looked for all of them, we could batch this up and it @@ -84,8 +86,7 @@ int usbInitialize(moduleList modLoaded, moduleDeps modDeps, if (!devices[i]->driver) continue; logMessage(INFO, "found USB controller %s", devices[i]->driver); - if (mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, - modInfo, flags)) { + if (mlLoadModuleSet(devices[i]->driver, modLoaded, modDeps, modInfo)) { /* dont return, just keep going. */ /* may have USB built into kernel */ /* return 1; */ @@ -119,20 +120,20 @@ int usbInitialize(moduleList modLoaded, moduleDeps modDeps, buf = alloca(40); sprintf(buf, "hid:keybdev%s", (loadUsbStorage ? loadUsbStorage : "")); - mlLoadModuleSet(buf, modLoaded, modDeps, modInfo, flags); + mlLoadModuleSet(buf, modLoaded, modDeps, modInfo); sleep(1); return 0; } void usbInitializeMouse(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags) { + moduleInfoSet modInfo) { if (FL_NOUSB(flags)) return; logMessage(INFO, "looking for USB mouse..."); if (probeDevices(CLASS_MOUSE, BUS_USB, PROBE_ALL)) { logMessage(INFO, "USB mouse found, loading mousedev module"); - if (mlLoadModuleSet("mousedev", modLoaded, modDeps, modInfo, flags)) { + if (mlLoadModuleSet("mousedev", modLoaded, modDeps, modInfo)) { logMessage (DEBUGLVL, "failed to loading mousedev module"); return; } diff --git a/loader2/usb.h b/loader2/usb.h index d35754bc3..d91f39f69 100644 --- a/loader2/usb.h +++ b/loader2/usb.h @@ -2,8 +2,8 @@ #define H_USB int usbInitialize(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); void usbInitializeMouse(moduleList modLoaded, moduleDeps modDeps, - moduleInfoSet modInfo, int flags); + moduleInfoSet modInfo); #endif |