From 58051bb91477365cba7dc917a81a4088ab1bb822 Mon Sep 17 00:00:00 2001 From: Kroese Date: Tue, 6 Feb 2024 03:43:39 +0100 Subject: [PATCH] Update power.sh --- src/power.sh | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/power.sh b/src/power.sh index cb9a51f..1d5abb5 100644 --- a/src/power.sh +++ b/src/power.sh @@ -12,8 +12,6 @@ QEMU_LOG="/run/shm/qemu.log" QEMU_OUT="/run/shm/qemu.out" QEMU_END="/run/shm/qemu.end" -BOOT_LINE="Windows Boot Manager" - rm -f /run/shm/qemu.* touch "$QEMU_LOG" @@ -24,6 +22,19 @@ _trap() { done } +ready() { + + [ -f "$STORAGE/windows.boot" ] && return 0 + [ ! -f "$QEMU_PTY" ] && return 1 + + local line="Windows Boot Manager" + if grep -Fq "$line" "$QEMU_PTY"; then + return 0 + fi + + return 1 +} + finish() { local pid @@ -42,12 +53,11 @@ finish() { done fi - if [ -f "$STORAGE/$BASE" ] && [ ! -f "$STORAGE/windows.boot" ]; then - if [ -f "$QEMU_PTY" ]; then - if grep -Fq "$BOOT_LINE" "$QEMU_PTY"; then - rm -f "$STORAGE/$BASE" - touch "$STORAGE/windows.boot" - 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 @@ -127,12 +137,9 @@ _graceful_shutdown() { finish "$code" && return "$code" fi - local abort="Cannot send ACPI signal during Windows setup, aborting..." - - if [ -f "$QEMU_PTY" ] && [ ! -f "$STORAGE/windows.boot" ]; then - if ! grep -Fq "$BOOT_LINE" "$QEMU_PTY"; then - info "$abort" && finish "$code" && return "$code" - fi + if ! ready; then + info "Cannot send ACPI signal during Windows setup, aborting..." + finish "$code" && return "$code" fi # Send ACPI shutdown signal