Loading src/power.sh +34 −16 Original line number Diff line number Diff line Loading @@ -22,6 +22,29 @@ _trap() { done } ready() { [ -f "$STORAGE/windows.boot" ] && return 0 [ ! -f "$QEMU_PTY" ] && return 1 if [ -f "$STORAGE/windows.old" ]; then local last local bios="Booting from Hard Disk" last=$(grep "^B.*" "$QEMU_PTY" | tail -1) if [[ "${last,,}" == "${bios,,}"* ]]; then return 0 fi return 1 fi local line="Windows Boot Manager" if grep -Fq "$line" "$QEMU_PTY"; then return 0 fi return 1 } finish() { local pid Loading @@ -40,6 +63,14 @@ finish() { done fi if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$STORAGE/$BASE" ]; then # Remove CD-ROM ISO after install if ready; then rm -f "$STORAGE/$BASE" touch "$STORAGE/windows.boot" fi fi pid="/var/run/tpm.pid" [ -f "$pid" ] && pKill "$(<"$pid")" Loading Loading @@ -116,18 +147,10 @@ _graceful_shutdown() { finish "$code" && return "$code" fi local remove_iso="" if [ ! -f "$STORAGE/windows.old" ]; then if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$QEMU_PTY" ]; then if grep -Fq "Windows Boot Manager" "$QEMU_PTY"; then [ -f "$STORAGE/$BASE" ] && remove_iso="y" else if ! ready; then info "Cannot send ACPI signal during Windows setup, aborting..." finish "$code" && return "$code" fi fi fi # Send ACPI shutdown signal echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_PORT}" > /dev/null Loading @@ -151,11 +174,6 @@ _graceful_shutdown() { if [ "$cnt" -ge "$QEMU_TIMEOUT" ]; then error "Shutdown timeout reached, aborting..." else if [ -n "$remove_iso" ]; then rm -f "$STORAGE/$BASE" touch "$STORAGE/windows.boot" fi fi finish "$code" && return "$code" Loading Loading
src/power.sh +34 −16 Original line number Diff line number Diff line Loading @@ -22,6 +22,29 @@ _trap() { done } ready() { [ -f "$STORAGE/windows.boot" ] && return 0 [ ! -f "$QEMU_PTY" ] && return 1 if [ -f "$STORAGE/windows.old" ]; then local last local bios="Booting from Hard Disk" last=$(grep "^B.*" "$QEMU_PTY" | tail -1) if [[ "${last,,}" == "${bios,,}"* ]]; then return 0 fi return 1 fi local line="Windows Boot Manager" if grep -Fq "$line" "$QEMU_PTY"; then return 0 fi return 1 } finish() { local pid Loading @@ -40,6 +63,14 @@ finish() { done fi if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$STORAGE/$BASE" ]; then # Remove CD-ROM ISO after install if ready; then rm -f "$STORAGE/$BASE" touch "$STORAGE/windows.boot" fi fi pid="/var/run/tpm.pid" [ -f "$pid" ] && pKill "$(<"$pid")" Loading Loading @@ -116,18 +147,10 @@ _graceful_shutdown() { finish "$code" && return "$code" fi local remove_iso="" if [ ! -f "$STORAGE/windows.old" ]; then if [ ! -f "$STORAGE/windows.boot" ] && [ -f "$QEMU_PTY" ]; then if grep -Fq "Windows Boot Manager" "$QEMU_PTY"; then [ -f "$STORAGE/$BASE" ] && remove_iso="y" else if ! ready; then info "Cannot send ACPI signal during Windows setup, aborting..." finish "$code" && return "$code" fi fi fi # Send ACPI shutdown signal echo 'system_powerdown' | nc -q 1 -w 1 localhost "${QEMU_PORT}" > /dev/null Loading @@ -151,11 +174,6 @@ _graceful_shutdown() { if [ "$cnt" -ge "$QEMU_TIMEOUT" ]; then error "Shutdown timeout reached, aborting..." else if [ -n "$remove_iso" ]; then rm -f "$STORAGE/$BASE" touch "$STORAGE/windows.boot" fi fi finish "$code" && return "$code" Loading