summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1')
-rw-r--r--mdk-stage1/Makefile8
-rw-r--r--mdk-stage1/stage1.c6
2 files changed, 9 insertions, 5 deletions
diff --git a/mdk-stage1/Makefile b/mdk-stage1/Makefile
index f381a0a2b..dfb32255c 100644
--- a/mdk-stage1/Makefile
+++ b/mdk-stage1/Makefile
@@ -112,11 +112,17 @@ STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a
endif
endif
+ifdef MOVE
+MOVE_ADDSRC = lomount.c
+else
+MOVE_ADDSRC =
+endif
+
#- stage1 itself
STAGE1SRC = stage1.c log.c tools.c modules.c probing.c mount.c automatic.c frontend-common.c
CDROMSRC = cdrom.c
DISKSRC = disk.c lomount.c
-NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c
+NETWORKSRC = network.c nfsmount.c dhcp.c url.c dns.c adsl.c $(MOVE_ADDSRC)
ALLSRC = $(INITSRC) $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC)
diff --git a/mdk-stage1/stage1.c b/mdk-stage1/stage1.c
index 829d85514..507cb0f4b 100644
--- a/mdk-stage1/stage1.c
+++ b/mdk-stage1/stage1.c
@@ -47,6 +47,7 @@ _syscall2(int,pivot_root,const char *,new_root,const char *,put_old)
#include "tools.h"
#include "automatic.h"
#include "mount.h"
+#include "lomount.h"
#include "insmod.h"
#ifdef ENABLE_PCMCIA
@@ -405,10 +406,7 @@ int mandrake_move_post(void)
log_message("move: panic, " IMAGE_LOCATION "/move/symlinks isn't here but " IMAGE_LOCATION "/live_tree.clp neither");
return RETURN_ERROR;
} else {
- my_insmod("cloop", ANY_DRIVER_TYPE, "file=" IMAGE_LOCATION "/live_tree.clp");
- if (scall(mknod("/dev/cloop0", S_IFBLK | 0600, makedev(240, 0)), "mknod"))
- return RETURN_ERROR;
- if (my_mount("/dev/cloop0", IMAGE_LOCATION_REAL, "iso9660", 0))
+ if (lomount(IMAGE_LOCATION "/live_tree.clp", IMAGE_LOCATION_REAL, 1))
stg1_error_message("Could not mount compressed loopback :(.");
}
}