diff options
author | Matt Wilson <msw@redhat.com> | 1999-09-19 14:56:42 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 1999-09-19 14:56:42 +0000 |
commit | d034e923d5f003e77aa0a783de9aee02548e47ea (patch) | |
tree | 1a0bde5eaab4e4e62348d60249e26efa8134f79b /loader/devices.c | |
parent | 9d5d118eb145dfc75ac3d337171fc1d1f540a8a7 (diff) | |
download | anaconda-d034e923d5f003e77aa0a783de9aee02548e47ea.tar.gz anaconda-d034e923d5f003e77aa0a783de9aee02548e47ea.tar.xz anaconda-d034e923d5f003e77aa0a783de9aee02548e47ea.zip |
began adding driverdisk command -- it's not working yet though
Diffstat (limited to 'loader/devices.c')
-rw-r--r-- | loader/devices.c | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/loader/devices.c b/loader/devices.c index 2e660c3b0..157068828 100644 --- a/loader/devices.c +++ b/loader/devices.c @@ -117,10 +117,8 @@ static int getModuleArgs(struct moduleInfo * mod, char *** argPtr) { return 0; } -#define CDD_MOUNT_FAILED 1 -#define CDD_BAD_DISK 2 -static int copyDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, - moduleDeps modDeps, int flags) { +int devCopyDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, + moduleDeps modDeps, int flags, char * mntPoint) { char * files[] = { "modules.cgz", "modinfo", "modules.dep", NULL }; char * dirName; char ** file; @@ -128,21 +126,15 @@ static int copyDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, static int diskNum = 0; char from[200], to[200]; - mlLoadModule("vfat", NULL, modLoaded, modDeps, NULL, flags); - - devMakeInode("fd0", "/tmp/fd0"); - - if (doPwMount("/tmp/fd0", "/tmp/drivers", "vfat", 1, 0, NULL, NULL)) - return CDD_BAD_DISK; - - if (access("/tmp/drivers/rhdd-6.1", R_OK)) + sprintf(from, "%s/rhdd-6.1", mntPoint); + if (access(from, R_OK)) badDisk = 1; dirName = malloc(80); sprintf(dirName, "/tmp/DD-%d", diskNum); mkdir(dirName, 0755); for (file = files; *file; file++) { - sprintf(from, "/tmp/drivers/%s", *file); + sprintf(from, "%s/%s", mntPoint, *file); sprintf(to, "%s/%s", dirName, *file); if (copyFile(from, to)) @@ -152,7 +144,7 @@ static int copyDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, umount("/tmp/drivers"); if (badDisk) { - return CDD_BAD_DISK; + return 1; } sprintf(from, "%s/modinfo", dirName); @@ -175,11 +167,14 @@ int devLoadDriverDisk(moduleInfoSet modInfo, moduleList modLoaded, if (rc == 2) return LOADER_BACK; - rc = copyDriverDisk(modInfo, modLoaded, modDeps, flags); + mlLoadModule("vfat", NULL, modLoaded, modDeps, NULL, flags); + + devMakeInode("fd0", "/tmp/fd0"); - if (rc == CDD_MOUNT_FAILED) + if (doPwMount("/tmp/fd0", "/tmp/drivers", "vfat", 1, 0, NULL, NULL)) newtWinMessage(_("Error"), _("OK"), _("Failed to mount floppy disk.")); - else if (rc) + + if (devCopyDriverDisk(modInfo, modLoaded, modDeps, flags, "/tmp/drivers")) newtWinMessage(_("Error"), _("OK"), _("The floppy disk you inserted is not a valid driver disk " "for this release of Red Hat Linux.")); |