summaryrefslogtreecommitdiffstats
path: root/rescue/restore-image.sh
diff options
context:
space:
mode:
Diffstat (limited to 'rescue/restore-image.sh')
-rwxr-xr-xrescue/restore-image.sh169
1 files changed, 0 insertions, 169 deletions
diff --git a/rescue/restore-image.sh b/rescue/restore-image.sh
deleted file mode 100755
index 4e2f06708..000000000
--- a/rescue/restore-image.sh
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/bin/bash
-
-setterm -powersave off
-setterm -blank 0
-
-if [ -r ./restore-image-lib.sh ]; then
- . ./restore-image-lib.sh
-elif [ -r /usr/lib/restore-image-lib.sh ]; then
- . /usr/lib/restore-image-lib.sh
-fi
-
-export PATH="/sbin:/bin:/usr/sbin:/usr/bin"
-
-images_dir="/tmp/media/images"
-images="$images_dir/list"
-image=""
-
-function image_list()
-{
- list=$(cat $images | awk -F',' \
- '{ print $1 " " $2 " " $4 }')
-
- echo $list
-}
-
-function image_file()
-{
- country="$1"
-
- file=$(grep ^$country $images | awk -F',' '{ print $3 }')
-
- echo $file
-}
-
-function welcome()
-{
- while true; do
- clear
- msg="\n Welcome to $TITLE\n\
-\nThe following images were found, select one:\n "
- opcao=$(dialog --backtitle "$BACKTITLE" --title "$TITLE" \
- --stdout --radiolist "$msg" 0 0 0 \
- $(image_list))
-
- if [ "$?" != "0" ]; then
- _yesno "\nInterrupt installation?\n "
- if [ "$?" = "0" ]; then
- _shutdown
- fi
- else
- if [ -z "$opcao" ]; then
- continue
- else
- image=$(image_file $opcao)
- break
- fi
- fi
- done
-
- # disable kernel messages in the console
- echo "1 4 1 7" > /proc/sys/kernel/printk
-}
-
-function install_warning()
-{
- clear
- _yesno "\nWARNING: This process will erase all data in this machine, \
-do you want to continue?\n "
- if [ "$?" != "0" ]; then
- _shutdown
- fi
-}
-
-function detect_root()
-{
- dev=$(sed '/\/tmp\/media/!d;s/[0-9] .*$//;s/^.*\///' /proc/mounts)
- devices=$(grep "^ .*[^0-9]$" < /proc/partitions | grep -v ${dev} | awk '{ print $4,$3 }')
-
- devs_found=$(echo $devices | wc -w)
- if [ "$devs_found" -gt "2" ]; then
- if [ ! -z ${dev} ]; then
- opcao=$(dialog --backtitle "$BACKTITLE" --title "$TITLE" --stdout --menu 'Choose one of the detected devices to restore to (check the blocks size column first):' 8 50 0 $devices )
- if [ "$?" != "0" ]; then
- _yesno "\nInterrupt installation?\n "
- if [ "$?" = "0" ]; then
- _shutdown
- fi
- else
- root=$opcao
- fi
-
- echo "$root"
- else
- _msgbox "\nError writing image: disk device not detected\n"
- fi
- else
- root=$(echo $devices | cut -d ' ' -f 1)
- echo "$root"
- fi
-}
-
-function write_image()
-{
- root=$(detect_root)
- image=$(cat $images_dir/list | cut -d ',' -f 3)
- extension=$(echo $image | cut -d '.' -f 3)
- case $extension in
- gz) uncomp=zcat ;;
- bz2) uncomp=bzcat ;;
- *) uncomp=cat ;;
- esac
- $uncomp $images_dir/$image | dd of=/dev/$root bs=4M > /tmp/backup.out 2>&1 &
-
- sleep 3
- pid=$(ps ax | grep 'dd of' | grep -v grep | awk '{ print $1 }')
- total=1000
-
- while [ true ]; do
- ps | grep -q $pid
- if [ $? -eq 0 ]; then
- /bin/kill -SIGUSR1 $pid
- unit=$(tail -n 1 /tmp/backup.out | \
- cut -d'(' -f2 | cut -d')' -f1 |\
- awk '{ print $2 }')
-
- complete=$(tail -n 1 /tmp/backup.out | \
- cut -d'(' -f2 | cut -d')' -f1 | \
- awk '{ print $1 }' | cut -d'.' -f1)
- if [ x"$unit" = x"GB" ]; then
- complete=$((complete*1000))
- fi
- echo $((complete*100/total))
- sleep 1
- else
- break
- fi
- done | dialog --backtitle "$BACKTITLE" --title "$TITLE" --gauge "\nWriting image..." 8 45
-
- in=$(tail -n 3 /tmp/backup.out | grep 'in$' | cut -d' ' -f1)
- out=$(tail -n 3 /tmp/backup.out | grep 'out$' | cut -d' ' -f1)
-
- if [ x"$in" != x"$out" ]; then
- _msgbox "\nError writing image!\n"
- sleep 24h
- fi
-}
-
-function expand_fs()
-{
- filesystem_type=$(dumpe2fs -h /dev/${root}1 2>/dev/null| grep "Filesystem OS type" | awk '{ print $4 }')
- if [ $filesystem_type = "Linux" ]; then
- dialog --backtitle "$BACKTITLE" --title "$TITLE" --infobox "Installing... Finishing Install..." 3 40
- sfdisk -d /dev/$root | sed -e "/${root}1/ s/size=.*,/size= ,/" | sfdisk -f /dev/$root
- e2fsck -fy /dev/${root}1
- resize2fs /dev/${root}1
- fi
-}
-
-# installation steps
-welcome
-install_warning
-write_image
-expand_fs
-
-# all done!
-_msgbox "\nInstallation process finished.\nPress ENTER to shutdown.\n "
-
-_shutdown
-