diff options
-rw-r--r-- | mdk-stage1/cdrom.c | 4 | ||||
-rw-r--r-- | mdk-stage1/mount.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/mdk-stage1/cdrom.c b/mdk-stage1/cdrom.c index 98cea4765..7d14cdebb 100644 --- a/mdk-stage1/cdrom.c +++ b/mdk-stage1/cdrom.c @@ -41,7 +41,11 @@ static int mount_that_cd_device(char * dev_name) strcpy(device_fullname, "/dev/"); strcat(device_fullname, dev_name); +#ifdef MANDRAKE_MOVE + return my_mount(device_fullname, IMAGE_LOCATION, "supermount", 0); +#else return my_mount(device_fullname, IMAGE_LOCATION, "iso9660", 0); +#endif } diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c index 0b207c368..d5ecba619 100644 --- a/mdk-stage1/mount.c +++ b/mdk-stage1/mount.c @@ -22,6 +22,7 @@ #include <stdlib.h> #include <unistd.h> #include <string.h> +#include <stdio.h> #include <sys/mount.h> #include <sys/stat.h> #include <sys/types.h> @@ -180,6 +181,14 @@ int my_mount(char *dev, char *location, char *fs, int force_rw) } } + if (!strcmp(fs, "supermount")) { + my_insmod("supermount", ANY_DRIVER_TYPE, NULL); + my_insmod("isofs", ANY_DRIVER_TYPE, NULL); + opts = alloca(500); + sprintf(opts, "dev=%s,fs=iso9660,tray_lock=always", dev); + dev = "none"; + } + #ifndef DISABLE_MEDIAS if (!strcmp(fs, "vfat")) { my_insmod("vfat", ANY_DRIVER_TYPE, NULL); |