diff options
author | Antoine Ginies <aginies@mandriva.com> | 2011-01-31 13:26:56 +0000 |
---|---|---|
committer | Antoine Ginies <aginies@mandriva.com> | 2011-01-31 13:26:56 +0000 |
commit | d47c8e5649c64ca814fc838d67263a1a6ba1870b (patch) | |
tree | 8b82b19ed17b9be9f0a2365b821494db854d6179 /mdk-stage1/ka.c | |
parent | 6169cef9eca13af257c1070c39ffbb4cd876b1c1 (diff) | |
download | drakx-backup-do-not-use-d47c8e5649c64ca814fc838d67263a1a6ba1870b.tar drakx-backup-do-not-use-d47c8e5649c64ca814fc838d67263a1a6ba1870b.tar.gz drakx-backup-do-not-use-d47c8e5649c64ca814fc838d67263a1a6ba1870b.tar.bz2 drakx-backup-do-not-use-d47c8e5649c64ca814fc838d67263a1a6ba1870b.tar.xz drakx-backup-do-not-use-d47c8e5649c64ca814fc838d67263a1a6ba1870b.zip |
fix ka methog
Diffstat (limited to 'mdk-stage1/ka.c')
-rw-r--r-- | mdk-stage1/ka.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mdk-stage1/ka.c b/mdk-stage1/ka.c index 7d8325084..670abe5af 100644 --- a/mdk-stage1/ka.c +++ b/mdk-stage1/ka.c @@ -1,5 +1,5 @@ /* - * Copyright 2005 Mandrakesoft + * Copyright 2005 Mandriva * * This software may be freely redistributed under the terms of the GNU * public license. @@ -44,14 +44,16 @@ static void my_pause(void) { static enum return_type ka_wait_for_stage2(int count) { char * ramdisk = "/dev/ram3"; /* warning, verify that this file exists in the initrd*/ - char * ka_launch[] = { "/ka/ka-d-client", "-w","-s","getstage2","-e","(cd /tmp/stage2; tar --extract --read-full-records --same-permissions --numeric-owner --sparse --file - )", NULL }; /* The command line for ka_launch */ - char * mkfs_launch[] = { "/sbin/mke2fs", ramdisk, NULL}; /* The mkfs command for formating the ramdisk */ + char * ka_launch[] = { "/ka/ka-d-client", "-w","-s","getstage2","-e","(cd /tmp/stage2; tar -x -f - )", NULL }; /* The command line for ka_launch */ + char * mkfs_launch[] = { "/sbin/mke2fs", "-m", "0", ramdisk, NULL}; /* The mkfs command for formating the ramdisk */ log_message("KA: Preparing to receive stage 2...."); + wait_message("Preparing to receive stage 2"); + int pida, wait_status; if (!(pida = fork())) { /* Forking current process for running mkfs */ - close(1); + //close(1); close(2); execv(mkfs_launch[0], mkfs_launch); /* Formating the ramdisk */ printf("KA: Can't execute %s\n<press Enter>\n", mkfs_launch[0]); @@ -59,10 +61,13 @@ static enum return_type ka_wait_for_stage2(int count) return KAERR_CANTFORK; } while (wait4(-1, &wait_status, 0, NULL) != pida) {}; /* Waiting the end of mkfs */ + remove_wait_message(); + wait_message("Mounting /dev/ram3 at %s", STAGE2_LOCATION); if (my_mount(ramdisk, STAGE2_LOCATION, "ext2", 1)) {/* Trying to mount the ramdisk */ return RETURN_ERROR; } + remove_wait_message(); log_message("KA: Waiting for stage 2...."); wait_message("Waiting for rescue from KA server (Try %d/%d)", count, KA_MAX_RETRY); |