diff --git a/agent/agent.sh b/agent/agent.sh index 556571c..52993ef 100644 --- a/agent/agent.sh +++ b/agent/agent.sh @@ -3,13 +3,6 @@ set -u # Functions -snore() -{ - local IFS - [[ -n "${_snore_fd:-}" ]] || exec {_snore_fd}<> <(:) - read ${1:+-t "$1"} -u $_snore_fd || : -} - function checkNMI { local nmi @@ -28,7 +21,7 @@ function checkNMI { finish() { - echo "Shutting down agent.." > /dev/ttyS0 + echo "Shutting down Guest Agent.." > /dev/ttyS0 exit } @@ -54,12 +47,12 @@ if [ "$first_run" = true ]; then for filename in /usr/local/packages/*.spk; do if [ -f "$filename" ]; then - /usr/syno/bin/synopkg install "$filename" > /dev/null + /usr/syno/bin/synopkg install "$filename" > /dev/ttyS0 BASE=$(basename "$filename" .spk) BASE="${BASE%%-*}" - /usr/syno/bin/synopkg start "$BASE" > /dev/null + /usr/syno/bin/synopkg start "$BASE" > /dev/ttyS0 rm "$filename" @@ -77,11 +70,13 @@ echo "-------------------------------------------" > /dev/ttyS0 echo " You can now login to DSM at port 5000 " > /dev/ttyS0 echo "-------------------------------------------" > /dev/ttyS0 +# TODO: Auto-update agent + # Wait for NMI interrupt as a shutdown signal while true; do checkNMI - snore 2 + sleep 2 done diff --git a/run/power.sh b/run/power.sh index 8473fc0..66c5ed6 100644 --- a/run/power.sh +++ b/run/power.sh @@ -19,13 +19,6 @@ _trap(){ done } -snore() -{ - local IFS - [[ -n "${_snore_fd:-}" ]] || exec {_snore_fd}<> <(:) - read ${1:+-t "$1"} -u $_snore_fd || : -} - _graceful_shutdown(){ local QEMU_MONPORT="${QEMU_MONPORT:-7100}" @@ -42,7 +35,7 @@ _graceful_shutdown(){ # echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_MONPORT}">/dev/null # Send shutdown command to guest agent tools instead via serial port - RESPONSE=$(curl -s -m 2 -S http://127.0.0.1:2210/write?command=6 2>&1) + RESPONSE=$(curl -s -m 2 -S http://127.0.0.1:2210/write?command=6) if [[ ! "${RESPONSE}" =~ "\"success\"" ]] ; then diff --git a/run/run.sh b/run/run.sh index af76aab..72194c1 100755 --- a/run/run.sh +++ b/run/run.sh @@ -54,5 +54,5 @@ set +m # Since we started the QEMU process with -m, we need to poll if it's still running while [ -d "/proc/$(cat ${_QEMU_PID})" ]; do - snore 1 + sleep 1 done