diff --git a/linux/src/scripts/functions.sh b/linux/src/scripts/functions.sh new file mode 100644 index 0000000..911714d --- /dev/null +++ b/linux/src/scripts/functions.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +INTERFACE=eth0 + +RECEIVER="udp-receiver --interface $INTERFACE" +SENDER="udp-sender --interface $INTERFACE" + +pause () { + echo + read -p "Press [Enter] to continue..." + clear +} + +shell () { + clear + bash +} + +recv_dd () { + $RECEIVER | dd of=$1 bs=512 count=1 +} + +recv_sfd () { + $RECEIVER | sfdisk $1 +} + +recv_pc () { + $RECEIVER | lzop -d | partclone.extfs -r -s - -o $1 --logfile /tmp/partclone.log +} + +send_dd () { + dd if=$1 bs=512 count=1 | $SENDER +} + +send_pc () { + partclone.extfs -s $1 -c --logfile /tmp/partclone.log 2>/dev/null | lzop | $SENDER +} + +send_sfd () { + sfdisk -d $1 | $SENDER +} diff --git a/linux/src/scripts/menu.sh b/linux/src/scripts/menu.sh index a39765f..edba46a 100644 --- a/linux/src/scripts/menu.sh +++ b/linux/src/scripts/menu.sh @@ -1,18 +1,31 @@ #!/bin/bash -sleep 1 +dmesg -n 1 -dialog --menu " " 20 80 10 \ - recv_pc "Receive image for /dev/sda1 (partclone+lzop)" \ - recv_sfd "Receive partition table for /dev/sdaa (sfdisk)" \ - recv_dd "Receive MBR for /dev/sda (dd)" \ - send_pc "Send /dev/sda1 image (partclone+lzop)" \ - send_sfd "Send /dev/sda partition table (sfdisk)" \ - send_dd "Send /dev/sda MBR (dd)" \ - shell "Run root shell" \ - reboot "Reboot system" \ +source $( dirname "${BASH_SOURCE[0]}" )/functions.sh + +dialog --menu "Welcome to hugo/images!" 20 80 10 \ + 1 "Receive image for /dev/sda1 (partclone+lzop)" \ + 2 "Receive partition table for /dev/sda (sfdisk)" \ + 3 "Receive MBR for /dev/sda (dd)" \ + 4 "Send /dev/sda1 image (partclone+lzop)" \ + 5 "Send /dev/sda partition table (sfdisk)" \ + 6 "Send /dev/sda MBR (dd)" \ + 7 "Run root shell" \ + 8 "Reboot" \ + 9 "Poweroff" \ 2>/tmp/menu -if [ "$?" != "0" ]; then CHOICE="shell"; else CHOICE=$(cat /tmp/menu); fi +if [ "$?" != "0" ]; then CHOICE=7; else CHOICE=$(cat /tmp/menu); fi -bash $(dirname "$0")/$CHOICE.sh +case $CHOICE in + 1) recv_pc /dev/sda1; pause ;; + 2) recv_sfd /dev/sda; pause ;; + 3) recv_dd /dev/sda; pause ;; + 4) send_pc /dev/sda1; pause ;; + 5) send_sfd /dev/sda; pause ;; + 6) send_dd /dev/sda; pause ;; + 7) shell ;; + 8) reboot ;; + 9) poweroff ;; +esac diff --git a/linux/src/scripts/pause.sh b/linux/src/scripts/pause.sh deleted file mode 100644 index f59246b..0000000 --- a/linux/src/scripts/pause.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -read -p "Press [Enter] to continue..." -clear diff --git a/linux/src/scripts/reboot.sh b/linux/src/scripts/reboot.sh deleted file mode 100644 index 7a10baf..0000000 --- a/linux/src/scripts/reboot.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -reboot diff --git a/linux/src/scripts/recv_dd.sh b/linux/src/scripts/recv_dd.sh deleted file mode 100644 index ca5cee6..0000000 --- a/linux/src/scripts/recv_dd.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda -INTERFACE=eth0 - -udp-receiver --interface $INTERFACE | dd of=$DISK bs=512 count=1 - -. $(dirname $0)/pause.sh diff --git a/linux/src/scripts/recv_pc.sh b/linux/src/scripts/recv_pc.sh deleted file mode 100644 index 7ce0199..0000000 --- a/linux/src/scripts/recv_pc.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda1 -INTERFACE=eth0 - -udp-receiver --interface $INTERFACE | lzop -d | partclone.extfs -r -s - -o $DISK --logfile /tmp/partclone.log - -. $(dirname $0)/pause.sh diff --git a/linux/src/scripts/recv_sfd.sh b/linux/src/scripts/recv_sfd.sh deleted file mode 100644 index 701bcab..0000000 --- a/linux/src/scripts/recv_sfd.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda -INTERFACE=eth0 - -udp-receiver --interface $INTERFACE | sfdisk $DISK - -. $(dirname $0)/pause.sh diff --git a/linux/src/scripts/send_dd.sh b/linux/src/scripts/send_dd.sh deleted file mode 100644 index b72ae67..0000000 --- a/linux/src/scripts/send_dd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda -INTERFACE=eth0 - -dd if=$DISK bs=512 count=1 | udp-sender --interface $INTERFACE diff --git a/linux/src/scripts/send_pc.sh b/linux/src/scripts/send_pc.sh deleted file mode 100644 index 21646c0..0000000 --- a/linux/src/scripts/send_pc.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda1 -INTERFACE=eth0 - -partclone.extfs -s /dev/sda1 -c --logfile /tmp/partclone.log 2>/dev/null | lzop | udp-sender --interface $INTERFACE diff --git a/linux/src/scripts/send_sfd.sh b/linux/src/scripts/send_sfd.sh deleted file mode 100644 index 5c0e4cc..0000000 --- a/linux/src/scripts/send_sfd.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -DISK=/dev/sda -INTERFACE=eth0 - -sfdisk -d $DISK | udp-sender --interface $INTERFACE diff --git a/linux/src/scripts/shell.sh b/linux/src/scripts/shell.sh deleted file mode 100644 index bee44c8..0000000 --- a/linux/src/scripts/shell.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -clear -bash