diff options
author | Caio Begotti <caio1982@mandriva.org> | 2009-02-03 18:35:15 +0000 |
---|---|---|
committer | Caio Begotti <caio1982@mandriva.org> | 2009-02-03 18:35:15 +0000 |
commit | 4564477dfdaa1b8486216f81e615311b84dad0a4 (patch) | |
tree | 9330daaa1899d7205769e7c3c6b83a5d9d132f20 | |
parent | 2896f6a30146f5a67ea2813929a8f49eeb951472 (diff) | |
download | drakx-4564477dfdaa1b8486216f81e615311b84dad0a4.tar drakx-4564477dfdaa1b8486216f81e615311b84dad0a4.tar.gz drakx-4564477dfdaa1b8486216f81e615311b84dad0a4.tar.bz2 drakx-4564477dfdaa1b8486216f81e615311b84dad0a4.tar.xz drakx-4564477dfdaa1b8486216f81e615311b84dad0a4.zip |
making it work with compressed images as well, by skipping the start of the image dump when dumping it and getting only its partition without needing the losetup hack
-rwxr-xr-x | rescue/restore-image.sh | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/rescue/restore-image.sh b/rescue/restore-image.sh index 2fc6e0348..b713a932b 100755 --- a/rescue/restore-image.sh +++ b/rescue/restore-image.sh @@ -181,7 +181,11 @@ ${number} 83 w EOF + else + rm -f /tmp/fdisk.log fi + else + rm -f /tmp/fdisk.log fi echo "${disk}${number}" @@ -207,18 +211,11 @@ function write_image() *) uncomp=cat ;; esac - if [ -s /tmp/fdisk.log -a ${uncomp} = "cat" ]; then - input=/dev/loop5 - losetup ${input} $images_dir/$image -o 32256 - else - input=$images_dir/$image - fi - # the actual dumping command, from image to disk - $uncomp ${input} | dd of=/dev/$root bs=4M > /tmp/backup.out 2>&1>>/tmp/log & + ${uncomp} ${images_dir}/${image} | (dd of=/dev/null bs=1 count=32256 &>/dev/null; dd bs=4M of=/dev/${root} >/tmp/backup.out) & sleep 3 - pid=$(ps ax | grep 'dd of' | grep -v grep | awk '{ print $1 }') + pid=$(ps ax | grep 'dd bs=4M of' | grep -v grep | awk '{ print $1 }') total=1000 while [ true ]; do |