diff --git a/linux/Makefile b/linux/Makefile index 69c0026..fffe25d 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -18,7 +18,8 @@ menu: images: $(CHROOT_CMD) "apt install -y udpcast" $(CHROOT_CMD) "apt install -y partclone" - $(CHROOT_CMD) "apt install -y lzop" + $(CHROOT_CMD) "apt install -y lzop strace" + $(CHROOT_CMD) "touch /etc/mtab" build/rootfs/initrd.img: $(FILES) chmod +x build/rootfs/etc/initramfs-tools/scripts/local-top/download.sh diff --git a/linux/src/scripts/menu.sh b/linux/src/scripts/menu.sh index d100c20..a39765f 100644 --- a/linux/src/scripts/menu.sh +++ b/linux/src/scripts/menu.sh @@ -3,10 +3,15 @@ sleep 1 dialog --menu " " 20 80 10 \ - send_pc "Send /dev/sda1 image (partclone)" \ + 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" 2>/tmp/menu + shell "Run root shell" \ + reboot "Reboot system" \ + 2>/tmp/menu if [ "$?" != "0" ]; then CHOICE="shell"; else CHOICE=$(cat /tmp/menu); fi diff --git a/linux/src/scripts/pause.sh b/linux/src/scripts/pause.sh new file mode 100644 index 0000000..f59246b --- /dev/null +++ b/linux/src/scripts/pause.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +read -p "Press [Enter] to continue..." +clear diff --git a/linux/src/scripts/reboot.sh b/linux/src/scripts/reboot.sh new file mode 100644 index 0000000..7a10baf --- /dev/null +++ b/linux/src/scripts/reboot.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +reboot diff --git a/linux/src/scripts/recv_dd.sh b/linux/src/scripts/recv_dd.sh new file mode 100644 index 0000000..ca5cee6 --- /dev/null +++ b/linux/src/scripts/recv_dd.sh @@ -0,0 +1,8 @@ +#!/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 new file mode 100644 index 0000000..7ce0199 --- /dev/null +++ b/linux/src/scripts/recv_pc.sh @@ -0,0 +1,8 @@ +#!/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 new file mode 100644 index 0000000..701bcab --- /dev/null +++ b/linux/src/scripts/recv_sfd.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +DISK=/dev/sda +INTERFACE=eth0 + +udp-receiver --interface $INTERFACE | sfdisk $DISK + +. $(dirname $0)/pause.sh diff --git a/linux/src/scripts/send_pc.sh b/linux/src/scripts/send_pc.sh index 633da33..21646c0 100644 --- a/linux/src/scripts/send_pc.sh +++ b/linux/src/scripts/send_pc.sh @@ -3,4 +3,4 @@ DISK=/dev/sda1 INTERFACE=eth0 -partclone.extfs -s /dev/sda1 -c --logfile /tmp/partclone.log 2>/dev/null| lzop | udp-sender --interface $INTERFACE +partclone.extfs -s /dev/sda1 -c --logfile /tmp/partclone.log 2>/dev/null | lzop | udp-sender --interface $INTERFACE diff --git a/send.sh b/send.sh new file mode 100755 index 0000000..805f49d --- /dev/null +++ b/send.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +INTERFACE=$1 +udp-sender --interface $INTERFACE